今天我們要用的工具是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
print(friend)
itchat.send('%s你好~這是一條來自Python機器人的問候~我随機抽取了十個人發送了這條消息~'%(friend['DisplayName']), friend['UserName'])
time.sleep(0.5)
為了防止發送過快被封,加了一個小小的暫停。
更多
還有什麼好玩的玩法呢?歡迎大家一起開發!
如果有任何問題,查閱兩個庫的文檔:
本文作者:iGuo
來源:51CTO