您好,登錄后才能下訂單哦!
本文實(shí)例為大家分享了Python QQBot庫(kù)的QQ聊天機(jī)器人的具體代碼,供大家參考,具體內(nèi)容如下
項(xiàng)目地址:https://github.com/pandolia/qqbot
1.安裝
pip install qqbot
2.主動(dòng)發(fā)出消息
from qqbot import _bot as bot # 登錄QQ bot.Login(['-q', '2816626661']) ''' buddy 獲取指定名稱/備注的好友 group 獲取群 ''' buddy = bot.List('buddy', 'b.K') # 判斷是佛存在這個(gè)好友 if buddy: b = buddy[0] # 發(fā)送消息 bot.SendTo(b, 'nihao')
3.根據(jù)事件回復(fù)消息
首先我們需要在命令行啟動(dòng)qq
c:\Python3.6.4\virtual\env_qq\Scripts>activate (env_qq) c:\Python3.6.4\virtual\env_qq\Scripts>qqbot -q 2816626661
接下來編寫自動(dòng)回復(fù)的腳本
from qqbot import _bot as bot def onQQMessage(bot, contact, member, content): if content == '-hello': bot.SendTo(contact, '你好,我是QQ機(jī)器人') elif content == '-stop': bot.SendTo(contact, 'QQ機(jī)器人已關(guān)閉') bot.Stop()
接下來將其放入 C:\用戶/xxxx/.qqbot-tmp/plugins/文件夾下
保持之前的命令行窗口運(yùn)行,再重新啟動(dòng)一個(gè),執(zhí)行
qq plug recall
其中“recall”時(shí)剛才我們放進(jìn)去的py文件名稱
測(cè)試可行
參數(shù)說明:
bot : QQBot 對(duì)象,提供 List/SendTo/Stop/Restart 等接口、
contact : QContact 對(duì)象,消息的發(fā)送者,具有 ctype/qq/uin/nick/mark/card/name 等屬性
member : QContact 對(duì)象,僅當(dāng)本消息為 群消息或討論組消息 時(shí)有效,代表實(shí)際發(fā)消息的成員
content : str 對(duì)象,消息內(nèi)容
4.結(jié)合圖靈機(jī)器人
在這里注冊(cè)一個(gè)圖靈機(jī)器人賬號(hào)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機(jī)器人') else: response = getReplay(content) bot.SendTo(contact, json.loads(response)['results'][0]['values']['text'])
接下來重新加載一下就可以了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(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)容。