python使用itchat庫(kù)實(shí)現(xiàn)微信機(jī)器人(好友聊天、群聊天)
itchat是一個(gè)開(kāi)源的微信個(gè)人號(hào)接口,可以使用該庫(kù)進(jìn)行微信網(wǎng)頁(yè)版中的所有操作,比如:所有好友、添加好友、拉好友群聊、微信機(jī)器人等等。詳細(xì)用戶請(qǐng)看文檔介紹,在這里。
本文主要使用該庫(kù)完成一個(gè)能夠處理微信消息的的圖靈機(jī)器人,包括好友聊天、群聊天。
1、itchat庫(kù)的安裝
pip install itchat
安裝完成后運(yùn)行以下代碼,會(huì)出現(xiàn)出現(xiàn)一張二維碼,掃碼登陸之后將會(huì)登陸微信網(wǎng)頁(yè)。
2、登陸
import itchat # 登陸 itchat.auto_login() # 可設(shè)置hotReload = True # 運(yùn)行并保持在線狀態(tài) itchat.run()
此外,itchat 也提供短時(shí)間內(nèi)斷線重連的功能,只需要添加hotReload = True參數(shù),下次登陸時(shí)不需要通過(guò)掃描二維碼,只需要在手機(jī)端確認(rèn)登陸即可。
3、消息的發(fā)送
itchat 庫(kù)可以發(fā)送 文本、圖片、視頻、附件等內(nèi)容,如向微信文件傳輸助手發(fā)送消息,可這樣:
itchat.send('Hello', toUserName='filehelper')
toUserName 為要向發(fā)送消息的人的微信號(hào),可以在微信手機(jī)端點(diǎn)擊查詢,也可以使用itchat庫(kù)中的search_friends函數(shù)來(lái)進(jìn)行查找,返回其微信號(hào),詳細(xì)用法,自行查找官方文檔。
4、消息的接收
###################### 完整代碼##############################
# 加載庫(kù)
from itchat.content import *
import requests
import json
import itchat
itchat.auto_login(hotReload = True)
# 調(diào)用圖靈機(jī)器人的api,采用爬蟲(chóng)的原理,根據(jù)聊天消息返回回復(fù)內(nèi)容
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
# 對(duì)于群聊信息,定義獲取想要針對(duì)某個(gè)群進(jìn)行機(jī)器人回復(fù)的群ID函數(shù)
def group_id(name):
df = itchat.search_chatrooms(name=name)
return df[0]['UserName']
# 注冊(cè)文本消息,綁定到text_reply處理函數(shù)
# text_reply msg_files可以處理好友之間的聊天回復(fù)
@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'])
# 現(xiàn)在微信加了好多群,并不想對(duì)所有的群都進(jìn)行設(shè)置微信機(jī)器人,只針對(duì)想要設(shè)置的群進(jìn)行微信機(jī)器人,可進(jìn)行如下設(shè)置
@itchat.msg_register(TEXT, isGroupChat=True)
def group_text_reply(msg):
# 當(dāng)然如果只想針對(duì)@你的人才回復(fù),可以設(shè)置if msg['isAt']:
item = group_id(u'想要設(shè)置的群的名稱(chēng)') # 根據(jù)自己的需求設(shè)置
if msg['ToUserName'] == item:
itchat.send(u'%s' % tuling(msg['Text']), item)
itchat.run()
那么,下面你的好友、微信群可以愉快的跟圖靈機(jī)器人聊天啦~~~
總結(jié)
以上所述是小編給大家介紹的python使用itchat庫(kù)實(shí)現(xiàn)微信機(jī)器人(好友聊天、群聊天),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 教你用Python創(chuàng)建微信聊天機(jī)器人
- python操作微信自動(dòng)發(fā)消息的實(shí)現(xiàn)(微信聊天機(jī)器人)
- 快速實(shí)現(xiàn)基于Python的微信聊天機(jī)器人示例代碼
- Python實(shí)現(xiàn)聊天機(jī)器人的示例代碼
- python 實(shí)現(xiàn)語(yǔ)音聊天機(jī)器人的示例代碼
- 基于python的itchat庫(kù)實(shí)現(xiàn)微信聊天機(jī)器人(推薦)
- Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人
- 使用python接入微信聊天機(jī)器人
- Python調(diào)用兩個(gè)機(jī)器人聊天的實(shí)戰(zhàn)
相關(guān)文章
簡(jiǎn)單介紹Python下自己編寫(xiě)web框架的一些要點(diǎn)
這篇文章主要介紹了簡(jiǎn)單介紹Python下自己編寫(xiě)web框架的一些要點(diǎn),示例代碼基于Python2.x版本,需要的朋友可以參考下2015-04-04
python腳本實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出excel格式的簡(jiǎn)單方法(推薦)
下面小編就為大家?guī)?lái)一篇python腳本實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出Excel格式的簡(jiǎn)單方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12
python構(gòu)建自定義回調(diào)函數(shù)詳解
在工作中,回調(diào)函數(shù)使用的場(chǎng)景是非常多的,下面我們就來(lái)通過(guò)例子程序來(lái)詳細(xì)了解利用了Python的屬性機(jī)制構(gòu)建了一個(gè)自定義回調(diào)函數(shù)的使用2017-06-06
Python模塊/包/庫(kù)安裝的六種方法及區(qū)別
這篇文章主要介紹了Python模塊/包/庫(kù)安裝六種方法,通過(guò)實(shí)例代碼給大家介紹了python中模塊、包、庫(kù)的區(qū)別和使用,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
python腳本實(shí)現(xiàn)驗(yàn)證碼識(shí)別
這篇文章主要為大家詳細(xì)介紹了python腳本實(shí)現(xiàn)驗(yàn)證碼識(shí)別的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Python?paddleocr快速使用及參數(shù)配置詳解
PaddleOCR是基于PaddlePaddle深度學(xué)習(xí)框架的開(kāi)源OCR工具,但它提供了推理模型/訓(xùn)練模型/預(yù)訓(xùn)練模型,用戶可以直接使用推理模型進(jìn)行識(shí)別,也可以對(duì)訓(xùn)練模型或預(yù)訓(xùn)練模型進(jìn)行再訓(xùn)練,這篇文章主要介紹了Python?paddleocr快速使用及參數(shù)詳解,需要的朋友可以參考下2024-06-06
Python實(shí)現(xiàn)將16進(jìn)制字符串轉(zhuǎn)化為ascii字符的方法分析
這篇文章主要介紹了Python實(shí)現(xiàn)將16進(jìn)制字符串轉(zhuǎn)化為ascii字符的方法,結(jié)合實(shí)例形式分析了Python 16進(jìn)制字符串轉(zhuǎn)換為ascii字符的實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-07-07
Python實(shí)現(xiàn)簡(jiǎn)單拆分PDF文件的方法
這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單拆分PDF文件的方法,可實(shí)現(xiàn)將一個(gè)PDF文件拆分成指定份數(shù)的功能,涉及pyPdf模塊的使用技巧,需要的朋友可以參考下2015-07-07

