今天我們要用的工具是Python的SmartQQ的API - QQBot,和網頁版微信的API - itchat。首先感謝兩個庫的作者!下面我們開始搞事情!

備註:本文假設你已經有一點點Python基礎~

首先我們下載兩個要用的Python庫,在命令列(Windows的CMD或者Unix的Shell)中輸入:

pip3 install qqbot

pip3 install itchat

安裝好以後,讓我們進入下面的操作。

QQ版

首先我們登入SmartQQ:

from

qqbot

import

_bot

as

bot

bot

Login

([

‘-q’

‘XXXX’

])

其中,XXXX輸入你自己的QQ號。如果第一次登入,會跳出來一個二維碼讓你掃,掃一下即可,之後你的賬號資訊會被儲存下來,下次再登入就可以直接呼叫了。

然後我們選擇好友:

friends

=

bot

List

‘buddy’

如果想隨機抽取一部分,比如10個, 則:

friends

=

random

sample

friends

10

如果想定點發送,則:

friends

=

bot

List

‘buddy’

‘XXX’

XXX裡面放好友的備註。

下面我們來給隨機(或者

假裝隨機

,此處應該劃重點)的好友發訊息:

for

friend

in

friends

print

friend

name

bot

SendTo

friend

‘Hello

%s

~這是一條來自Python機器人的訊息~恭喜你被機器人抽中成為幸運的十個人之一~’

%

friend

name

))

如果你想聯絡的人正好聯絡你了,無論她回覆什麼,你都可以回覆:

“現在是人工回覆。”

少年,我只能幫你到這裡了。

微信版

微信的操作非常類似,不過賬號資訊只能儲存一陣子,所以需要經常掃碼,如果掃碼過於頻繁,就會登入不上了……別問我怎麼知道的,我剛想給好久沒有勾搭的女神發訊息呢……就崩潰了……

首先還是登入:

import

itchat

itchat

auto_login

True

True引數是指儲存一陣子登入資訊,如果不加則不儲存。

獲取好友列表和隨機抽取:

friends

=

itchat

get_friends

()

隨機抽取10位好友:

import random

friends = random。sample(friends, 10)

或者

假裝隨機

抽取好友:

friends = itchat。search_friends(name=‘XXX’)

XXX 填上備註/微訊號/暱稱。

傳送訊息:

import time

for friend in friends:

print(friend)

itchat。send(‘%s你好~這是一條來自Python機器人的問候~我隨機抽取了十個人傳送了這條訊息~’%(friend[‘DisplayName’]), friend[‘UserName’])

time。sleep(0。5)

為了防止傳送過快被封,加了一個小小的暫停。

更多

還有什麼好玩的玩法呢?歡迎大家一起開發!

如果有任何問題,查閱兩個庫的文件:

QQBot:pandolia/qqbot

itchat:專案簡介 - itchat

非商業轉載註明作者即可,商業轉載請聯絡作者授權並支付稿費。本專欄已授權“維權騎士”網站(

http://

rightknights。com

)對我在知乎釋出文章的版權侵權行為進行追究與維權。

個人聯絡方式:

知乎: @iGuo

GitHub: Guo-Zhang (Guo ZHANG)

專案聯絡方式:

專案網站:

http://www。

xmucpp。com

專案GitHub:China‘s Prices Project at Xiamen Univerisity (CPP@XMU)

專案專欄:China’s Prices Project - 知乎專欄

專案知乎賬戶:@CPP

專案公眾號:xmucpp2016(XMUCPP)