溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python如何使用itchat庫(kù)實(shí)現(xiàn)微信機(jī)器人

發(fā)布時(shí)間:2021-04-17 13:46:48 來源:億速云 閱讀:183 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)python如何使用itchat庫(kù)實(shí)現(xiàn)微信機(jī)器人的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

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í)不需要通過掃描二維碼,只需要在手機(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ù)來進(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,采用爬蟲的原理,根據(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è)置的群的名稱') # 根據(jù)自己的需求設(shè)置
  if msg['ToUserName'] == item:
    itchat.send(u'%s' % tuling(msg['Text']), item)
itchat.run()

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

感謝各位的閱讀!關(guān)于“python如何使用itchat庫(kù)實(shí)現(xiàn)微信機(jī)器人”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI