Python QQBot库实现QQ聊天机器人教程

追风的人
追风的人
发布时间:2026-10-13 | 2人浏览过
原创

本文详细介绍如何使用Python的QQBot库搭建QQ聊天机器人。内容涵盖库的安装、主动发消息、基于事件的自动回复机制,以及如何结合图灵机器人API实现智能对话。通过具体代码示例和配置步骤,指导开发者在Windows环境下完成机器人的部署与测试。

Python QQBot库实现QQ聊天机器人教程

本文提供了使用Python QQBot库构建QQ聊天机器人的完整代码示例,供读者参考学习。

项目官方仓库地址为:https://github.com/pandolia/qqbot

安装与主动发消息

1. 安装步骤


pip install qqbot

2. 主动发送消息


from qqbot import _bot as bot

# 登录QQ
bot.Login(['-q', '2816626661'])

'''
buddy 获取指定名称/备注的好友
group 获取群
'''
buddy = bot.List('buddy', 'b.K')

# 判断是佛存在这个好友
if buddy:
 b = buddy[0]
 # 发送消息
 bot.SendTo(b, 'nihao')

基于事件的自动回复机制

3. 根据接收到的事件进行回复

首先,需要在命令行环境中启动QQ客户端。


c:\Python3.6.4\virtual\env_qq\Scripts>activate

(env_qq) c:\Python3.6.4\virtual\env_qq\Scripts>qqbot -q 2816626661

随后,编写用于自动回复消息的Python脚本。


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/ 目录下。

保持之前打开的命令行窗口持续运行,再打开一个新的命令行窗口,执行以下命令。


qq plug recall

其中“recall”为之前放入插件目录的Python文件名。

经测试,该功能可行。

参数说明如下:

bot : QQBot 对象,提供 List/SendTo/Stop/Restart 等接口。 contact : QContact 对象,代表消息发送者,包含 ctype/qq/uin/nick/mark/card/name 等属性。 member : QContact 对象,仅当消息类型为群消息或讨论组消息时有效,代表实际发送消息的成员。 content : str 对象,表示消息的具体内容。

结合图灵机器人实现智能对话

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'])

完成修改后,重新加载脚本即可生效。

以上就是本文的全部内容,希望对各位的学习有所帮助,也欢迎大家继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表