人工智能(zhang)微信聊天機器人

機器人瓦力

利用python做一個微信聊天機器人早已不是黑科技,網上有很多通過圖靈機器人接口和itchat實現(xiàn)的教程。
然而圖靈接口現(xiàn)在限制調用次數(shù)(100次/日),無法愉快的玩耍,所以我找了個替代方案
青云客智能聊天機器人API
接口url:http://api.qingyunke.com/api.php?key=free&appid=0&msg=
原理是在msg=后面加入發(fā)送的信息作為請求就可以收到回復,例如發(fā)送“你好”:
http://api.qingyunke.com/api.php?key=free&appid=0&msg=你好
回復格式為:

{"result":0,"content":"不要每次都用你好做開場白行不,忒俗了"}

具體實現(xiàn)方法,首先安裝itchat:

pip install itchat

然后代碼如下:

# -*- coding: utf-8 -*-
import itchat
import urllib.parse
from urllib import request


def get_response(msg):
    s = urllib.parse.quote(msg)
    url = "http://api.qingyunke.com/api.php?key=free&appid=0&msg=%s" % s
    reply = request.urlopen(url,
                            data=None,
                            timeout=10).read().decode()
    repdic = eval(reply)
    return repdic['content']


@itchat.msg_register(itchat.content.TEXT)
def tuling_reply(msg):
    # 設置一個默認回復,在出現(xiàn)問題仍能正?;貜托畔?    defaultReply = '呵呵呵呵' + msg['Text']
    reply = get_response(msg['Text'])
    # a or b 表示,如有a有內容,那么返回a,否則返回b
    return reply or defaultReply


#主程序
# 使用熱啟動,不需要多次掃碼
itchat.auto_login(hotReload=True)
itchat.run()

需要注意的是,由于默認環(huán)境是ascii,msg含有中文的話是沒法直接解析的,會引發(fā)報錯。
需要用urllib.parse.quote()處理后再接到url后面。

運行后會彈出二維碼,掃描登陸后即可開啟自動回復,機器人會代為回答所有的私聊信息。
有一個問題是,由于itchat基于網頁版微信,而目前新注冊微信號不能登陸網頁版微信(貌似出于安全考慮),所以只能用比較老的微信號測試啦。

運行效果如圖:


運行效果

參考文章:
https://blog.csdn.net/hfuturer/article/details/80721283
特別感謝:
http://www.qingyunke.com/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容