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

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

技術標籤:python

itchat是一個開源的微信個人號介面,可以使用該庫進行微信網頁版中的所有操作,比如:所有好友、新增好友、拉好友群聊、微信機器人等等。詳細使用者請看文件介紹,在這裡

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

本期推送整理了初學者可能會用到的Python資料,含有書籍/視訊/線上文件和編輯器/源
程式碼,關於Python的安裝qun:850973621

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 '@%
[email protected]
%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()

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

image

作者:DT0203
連結:https://www.jianshu.com/p/5d4de51f5375
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。