Python QQBot庫的QQ聊天機(jī)器人
本文實(shí)例為大家分享了Python QQBot庫的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文件名稱

測試可行

參數(shù)說明:
bot : QQBot 對象,提供 List/SendTo/Stop/Restart 等接口、
contact : QContact 對象,消息的發(fā)送者,具有 ctype/qq/uin/nick/mark/card/name 等屬性
member : QContact 對象,僅當(dāng)本消息為 群消息或討論組消息 時(shí)有效,代表實(shí)際發(fā)消息的成員
content : str 對象,消息內(nèi)容
4.結(jié)合圖靈機(jī)器人
在這里注冊一個(gè)圖靈機(jī)器人賬號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'])
接下來重新加載一下就可以了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python中exec函數(shù)的實(shí)現(xiàn)
exec()是Python內(nèi)置的一個(gè)函數(shù),用于在運(yùn)行時(shí)執(zhí)行動(dòng)態(tài)生成的Python代碼,下面就來介紹一下python中exec函數(shù)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10
python經(jīng)典練習(xí)百題之猴子吃桃三種解法
這篇文章主要給大家介紹了關(guān)于python經(jīng)典練習(xí)百題之猴子吃桃三種解法的相關(guān)資料, Python猴子吃桃子編程是一個(gè)趣味性十足的編程練習(xí),在這個(gè)練習(xí)中,我們將要使用Python語言來模擬一只猴子吃桃子的過程,需要的朋友可以參考下2023-10-10
python re的findall和finditer的區(qū)別詳解
這篇文章主要介紹了python re的findall和finditer的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
python實(shí)現(xiàn)刪除列表中空字符串元素的兩種方法
本文主要介紹了python實(shí)現(xiàn)刪除列表中空字符串元素的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03
centos 下面安裝python2.7 +pip +mysqld
這篇文章主要介紹了centos 下面安裝python2.7 +pip +mysqld,需要的朋友可以參考下2014-11-11

