1. 程式人生 > >python使用itchat庫實現微信機器人

python使用itchat庫實現微信機器人

文件 AD att chm package AR name 返回 自己的

itchat是一個開源的微信個人號接口,可以使用該庫進行微信網頁版中的所有操作,比如:所有好友、添加好友、拉好友群聊、微信機器人等等。詳細用戶請看文檔介紹,在這裏。

本文主要使用該庫完成一個能夠處理微信消息的的圖靈器人,包括好友聊天、群聊天。

1、itchat庫的安裝

pip install itchat

安裝完成後運行以下代碼,會出現出現一張二維碼,掃碼登陸之後將會登陸微信網頁。

2、登陸

import itchat
# 登陸
itchat.auto_login()   # 可設置hotReload = True
# 運行並保持在線狀態
itchat.run()

此外,itchat 也提供短時間內斷線重連的功能,只需要添加hotReload = True

參數,下次登陸時不需要通過掃描二維碼,只需要在手機端確認登陸即可。

3、消息的發送

itchat 庫可以發送 文本、圖片、視頻、附件等內容,如向微信文件傳輸助手發送消息,可這樣:

itchat.send(Hello, toUserName=filehelper)

toUserName 為要向發送消息的人的微信號,可以在微信手機端點擊查詢,也可以使用itchat庫中的search_friends函數來進行查找,返回其微信號,詳細用法,自行查找官方文檔。

4、消息的接收

###################### 完整代碼##############################
# 加載庫 from itchat.content import * import requests import json import itchat itchat.auto_login(hotReload = True) # 調用圖靈機器人的api,采用爬蟲的原理,根據聊天消息返回回復內容 def tuling(info): appkey = "e5ccc9c7c8834ec3b08940e290ff1559" url = "http://www.tuling123.com/openapi/api?key=%s&info=%s"%(appkey,info) req = requests.get(url) content
= req.text data = json.loads(content) answer = data[text] return answer # 對於群聊信息,定義獲取想要針對某個群進行機器人回復的群ID函數 def group_id(name): df = itchat.search_chatrooms(name=name) return df[0][UserName] # 註冊文本消息,綁定到text_reply處理函數 # text_reply msg_files可以處理好友之間的聊天回復 @itchat.msg_register([TEXT,MAP,CARD,NOTE,SHARING]) def text_reply(msg): itchat.send(%s % tuling(msg[Text]),msg[FromUserName]) @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.msg_register(TEXT, isGroupChat=True) def group_text_reply(msg): # 當然如果只想針對@你的人才回復,可以設置if msg[‘isAt‘]: item = group_id(u想要設置的群的名稱) # 根據自己的需求設置 if msg[ToUserName] == item: itchat.send(u%s % tuling(msg[Text]), item) itchat.run()

那麽,下面你的好友、微信群可以愉快的跟圖靈機器人聊天啦~~~

python使用itchat庫實現微信機器人