微信公众号python人工智能回复_python实现微信机器人: 登录微信、消息接收、自动回复功能...
安裝wxpy
pip install -u wxpy
登錄微信
# 導入模塊
from wxpy import *
# 初始化機器人,掃碼登陸
bot = bot()
運行以上代碼,會生成一個二維碼,通過圖片掃描二維碼即可登錄微信。
如果是在服務器上運行代碼,無法顯示圖片的時候, 可以選擇通過終端顯示二維碼圖片, 只需要將代碼改成:
from wxpy import *
bot = bot(console_qr=true)
運行的效果如下:
當然,為了安全,這個二維碼做了模糊處理
如果你認為每次都需要掃描二維碼很麻煩,可以啟用緩存,來保存自己的登錄狀態:
bot = bot(console_qr=true, cache_path=true)
發送消息
首先我們嘗試給自己和文件傳輸助手發消息:
# 給機器人自己發送消息
bot.self.send('hello world!')
# 給文件傳輸助手發送消息
bot.file_helper.send('hello world!')
自動回復
可通過 預先注冊 的方式,實現消息的自動處理。
“預先注冊” 是指
預先將特定聊天對象的特定類型消息,注冊到對應的處理函數,以實現自動回復等功能。
注冊消息
提示
每當收到新消息時,將根據注冊規則找到匹配條件的執行函數。
并將 消息對象 作為唯一參數傳入該函數。
將 bot.register() 作為函數的裝飾器,即可完成注冊。
# 獲取所有類型的消息(好友消息、群聊、公眾號,不包括任何自己發送的消息)
# 并將獲得的消息打印到控制臺
@bot.register()
def print_others(msg):
print(msg)
同時wxpy也可以給注冊消息的類型加上限制,
# 回復 my_friend 發送的消息
@bot.register(my_friend)
def reply_my_friend(msg):
return 'received: {} ({})'.format(msg.text, msg.type)
# 回復發送給自己的消息,可以使用這個方法來進行測試機器人而不影響到他人
@bot.register(bot.self, except_self=false)
def reply_self(msg):
return 'received: {} ({})'.format(msg.text, msg.type)
# 打印出所有群聊中@自己的文本消息,并自動回復相同內容
# 這條注冊消息是我們構建群聊機器人的基礎
@bot.register(group, text)
def print_group_msg(msg):
if msg.is_at:
print(msg)
msg.reply(meg.text)
我們設置一個自動回復所有消息的功能:
@bot.register()
def reply_self(msg):
# return 'received: {} ({})'.format(msg.text, msg.type)
msg.reply(u'好的呀')
效果如下:
以上所述是小編給大家介紹的python實現微信機器人: 登錄微信、消息接收、自動回復功能詳解整合,希望對大家有所幫助
如您對本文有疑問或者有任何想說的,請點擊進行留言回復,萬千網友為您解惑!
總結
以上是生活随笔為你收集整理的微信公众号python人工智能回复_python实现微信机器人: 登录微信、消息接收、自动回复功能...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【说解】在shell中通过mkfifo创
- 下一篇: python 列表间隔取值_python