本文實例為大家分享了Python QQBot庫的QQ聊天機器人的具體代碼,供大家參考,具體內(nèi)容如下
項目地址:https://github.com/pandolia/qqbot
1.安裝
pip install qqbot
2.主動發(fā)出消息
from qqbot import _bot as bot # 登錄QQ bot.Login(['-q', '2816626661']) ''' buddy 獲取指定名稱/備注的好友 group 獲取群 ''' buddy = bot.List('buddy', 'b.K') # 判斷是佛存在這個好友 if buddy: b = buddy[0] # 發(fā)送消息 bot.SendTo(b, 'nihao')
3.根據(jù)事件回復消息
首先我們需要在命令行啟動qq
c:\Python3.6.4\virtual\env_qq\Scripts>activate (env_qq) c:\Python3.6.4\virtual\env_qq\Scripts>qqbot -q 2816626661
接下來編寫自動回復的腳本
from qqbot import _bot as bot def onQQMessage(bot, contact, member, content): if content == '-hello': bot.SendTo(contact, '你好,我是QQ機器人') elif content == '-stop': bot.SendTo(contact, 'QQ機器人已關閉') bot.Stop()
接下來將其放入 C:\用戶/xxxx/.qqbot-tmp/plugins/文件夾下
保持之前的命令行窗口運行,再重新啟動一個,執(zhí)行
qq plug recall
其中“recall”時剛才我們放進去的py文件名稱
測試可行
參數(shù)說明:
bot???? : QQBot 對象,提供 List/SendTo/Stop/Restart 等接口、
contact : QContact 對象,消息的發(fā)送者,具有 ctype/qq/uin/nick/mark/card/name 等屬性
member? : QContact 對象,僅當本消息為 群消息或討論組消息 時有效,代表實際發(fā)消息的成員
content : str 對象,消息內(nèi)容
4.結合圖靈機器人
在這里注冊一個圖靈機器人賬號http://www.tuling123.com/
重新編寫剛才的腳本
from qqbot import _bot as bot import requests import json def getReplay(message): url = 'http://openapi.tuling123.com/openapi/api/v2' data = { "perception": { "inputText": { "text": message }, }, "userInfo": { "apiKey": "你的APIkey", "userId": "你的uesrID" } } response = requests.post(url=url, json=data) return response.text def onQQMessage(bot, contact, member, content): if content == '-hello': bot.SendTo(contact, '你好,我是QQ機器人') else: response = getReplay(content) bot.SendTo(contact, json.loads(response)['results'][0]['values']['text'])
接下來重新加載一下就可以了。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
