首先我們需要引入這個庫:
import itchat
然後,我們需要登陸自己的微信帳號。此時我們使用的是網頁版微信帳號:
itchat.autologin()
這行會彈出一個二維碼,只需用微信掃一掃然後手機登陸就行啦。
登陸微信了之後第一件事是什麼?!
發微信呀。
所以我們先向文件傳輸助手發個信息吧!
itchat.send('Hello Python', toUserName='filehelper')
我的文件傳輸助手收到了「Hello Python」 呢!
突然想搞事情。嘿嘿。
怎麼實現最簡單的自動回復呢?
itchat中有一些非常使用的裝飾符(decorator)
他們可以用來修飾你的自定義函數
比如我現在要用的:
@itchat.msg_register(itchat.content.TEXT)
這幫助我們找到「Text」格式的回覆
所以我們用這個裝飾符來裝飾自動定義函數:
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
return msg.text
然後我們登陸自己的微信:
itchat.auto_login()
並且執行這個函數:
itchat.run()
現在。。。
你的微信就行一個複讀機一樣,一直複製對方說的話並回去了。
我們可以通過類似的方式讀取微信帳號:
@itchat.msg_register(TEXT)
def _(msg):
# equals to print(msg['FromUserName'])
print(msg.fromUserName)
它會print出。。。。
@8937482749832798428(一坨東西)
這就是他的微信名字啦
我們來從好友列表裡搜索他。
author = itchat.search_friends(Remarkname='你給他的備註')[0]
author.send('Hello!')
我們就成功的回消息啦
我們還可以下載附件
@itchat.msg_register(ATTACHMENT)
def download_files(msg):
msg['Text'](msg['FileName'])
所以我們可以把需要下載的附件都寫進來:
@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO])
def download_files(msg):
msg['Text'](msg['FileName'])
return '@%s@%s' % ({'Picture': 'img', 'Video': 'vid'}.get(msg['Type'], 'fil'), msg['FileName'])
然後同學們就可以舉一反三
下面的圖是itchat可以訪問的文件類型和text的鍵值內容: