溫馨提示×

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

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

python實(shí)現(xiàn)微信機(jī)器人: 登錄微信、消息接收、自動(dòng)回復(fù)功能

發(fā)布時(shí)間:2020-09-27 16:35:55 來(lái)源:腳本之家 閱讀:660 作者:harleylau 欄目:開(kāi)發(fā)技術(shù)

安裝wxpy

pip install -U wxpy

登錄微信

# 導(dǎo)入模塊
from wxpy import *
# 初始化機(jī)器人,掃碼登陸
bot = Bot()

運(yùn)行以上代碼,會(huì)生成一個(gè)二維碼,通過(guò)圖片掃描二維碼即可登錄微信。

如果是在服務(wù)器上運(yùn)行代碼,無(wú)法顯示圖片的時(shí)候, 可以選擇通過(guò)終端顯示二維碼圖片, 只需要將代碼改成:

from wxpy import *
bot = Bot(console_qr=True)

運(yùn)行的效果如下:

python實(shí)現(xiàn)微信機(jī)器人: 登錄微信、消息接收、自動(dòng)回復(fù)功能

當(dāng)然,為了安全,這個(gè)二維碼做了模糊處理

如果你認(rèn)為每次都需要掃描二維碼很麻煩,可以啟用緩存,來(lái)保存自己的登錄狀態(tài):

bot = Bot(console_qr=True, cache_path=True)

 發(fā)送消息

首先我們嘗試給自己和文件傳輸助手發(fā)消息:

# 給機(jī)器人自己發(fā)送消息
bot.self.send('Hello World!')
# 給文件傳輸助手發(fā)送消息
bot.file_helper.send('Hello World!')

自動(dòng)回復(fù)

可通過(guò) 預(yù)先注冊(cè) 的方式,實(shí)現(xiàn)消息的自動(dòng)處理。

“預(yù)先注冊(cè)” 是指

預(yù)先將特定聊天對(duì)象的特定類型消息,注冊(cè)到對(duì)應(yīng)的處理函數(shù),以實(shí)現(xiàn)自動(dòng)回復(fù)等功能。

注冊(cè)消息

提示

每當(dāng)收到新消息時(shí),將根據(jù)注冊(cè)規(guī)則找到匹配條件的執(zhí)行函數(shù)。
并將 消息對(duì)象 作為唯一參數(shù)傳入該函數(shù)。

將 Bot.register() 作為函數(shù)的裝飾器,即可完成注冊(cè)。

# 獲取所有類型的消息(好友消息、群聊、公眾號(hào),不包括任何自己發(fā)送的消息)
# 并將獲得的消息打印到控制臺(tái)
@bot.register()
def print_others(msg):
  print(msg)

同時(shí)wxpy也可以給注冊(cè)消息的類型加上限制,

# 回復(fù) my_friend 發(fā)送的消息
@bot.register(my_friend)
def reply_my_friend(msg):
  return 'received: {} ({})'.format(msg.text, msg.type)
 
# 回復(fù)發(fā)送給自己的消息,可以使用這個(gè)方法來(lái)進(jìn)行測(cè)試機(jī)器人而不影響到他人
@bot.register(bot.self, except_self=False)
def reply_self(msg):
  return 'received: {} ({})'.format(msg.text, msg.type)
 
# 打印出所有群聊中@自己的文本消息,并自動(dòng)回復(fù)相同內(nèi)容
# 這條注冊(cè)消息是我們構(gòu)建群聊機(jī)器人的基礎(chǔ)
@bot.register(Group, TEXT)
def print_group_msg(msg):
  if msg.is_at:
    print(msg)
    msg.reply(meg.text)

我們?cè)O(shè)置一個(gè)自動(dòng)回復(fù)所有消息的功能:

@bot.register()
def reply_self(msg):
  # return 'received: {} ({})'.format(msg.text, msg.type)
  msg.reply(u'好的呀')

效果如下:

python實(shí)現(xiàn)微信機(jī)器人: 登錄微信、消息接收、自動(dòng)回復(fù)功能

以上所述是小編給大家介紹的python實(shí)現(xiàn)微信機(jī)器人: 登錄微信、消息接收、自動(dòng)回復(fù)功能詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!

向AI問(wèn)一下細(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