首页 > 其他分享 >开发QQ官方机器人

开发QQ官方机器人

时间:2024-01-27 22:56:01浏览次数:39  
标签:QQ __ 机器人 content token 官方 qqbot message

QQ 频道机器人开发简明教程

1. 简介

QQ 频道机器人是一种可以在 QQ 频道中与用户进行互动的服务。这个教程旨在帮助新手学习如何使用 Python 的官方SDK,快速实现一些基本的机器人功能。

2. 准备工作

  • 机器人注册和添加:QQ 开放平台 注册开发者账号,并创建一个机器人应用。获取分配给机器人的 App ID 和 Token。

3. 环境搭建

  • 安装 Python3: 确保你的机器上已经安装了 Python3。
  • 安装机器人SDK: 打开终端并执行以下命令安装机器人的 Python SDK:
    pip install qq-bot
    pip install pyyaml
    

4. 创建项目文件

  • 创建两个文件
  • config.yaml
  • robot.py

5. 配置文件填写

  • 打开 config.yaml 文件,填入机器人的 App ID 和 Token,并保存:
    token:
      appid: "123"
      token: "xxxx"
    

6. 编写机器人代码

  • 打开 robot.py 文件,导入依赖包并设置机器人自动回复消息的功能:
    import asyncio
    import os.path
    import qqbot
    from qqbot.core.util.yaml_util import YamlUtil
    
    # 从配置文件读取机器人的信息
    test_config = YamlUtil.read(os.path.join(os.path.dirname(__file__), "config.yaml"))
    
    async def _message_handler(event, message: qqbot.Message):
        msg_api = qqbot.AsyncMessageAPI(t_token, False)
        qqbot.logger.info("event %s" % event + ",receive message %s" % message.content)
    
        # 自动回复消息
        message_to_send = qqbot.MessageSendRequest(content="你好", msg_id=message.id)
        await msg_api.post_message(message.channel_id, message_to_send)
    
    if __name__ == "__main__":
        t_token = qqbot.Token(test_config["token"]["appid"], test_config["token"]["token"])
        qqbot_handler = qqbot.Handler(
            qqbot.HandlerType.AT_MESSAGE_EVENT_HANDLER, _message_handler
        )
        qqbot.async_listen_events(t_token, False, qqbot_handler)
    

7. 运行机器人

  • 在终端中执行以下命令,运行机器人:
    python3 /home/demo/robot.py
    

8. 测试机器人

  • 在 QQ 频道中 @机器人 发送消息(例如,@机器人 hello),机器人将自动回复 "你好"。

9. 关键词功能

我们将robot.py里面的代码改为关键词回复,可以在 _message_handler 函数中使用条件语句检查收到的消息内容,然后根据关键词回复不同的内容。

import asyncio
import os.path
import qqbot
from qqbot.core.util.yaml_util import YamlUtil

# 从配置文件读取机器人的信息
test_config = YamlUtil.read(os.path.join(os.path.dirname(__file__), "config.yaml"))

async def _message_handler(event, message: qqbot.Message):
    msg_api = qqbot.AsyncMessageAPI(t_token, False)
    qqbot.logger.info("event %s" % event + ", receive message %s" % message.content)

    # 检查消息内容是否包含关键词
    if "你好" in message.content:
        reply_content = "你也好!"
    elif "再见" in message.content:
        reply_content = "再见,期待下次见面!"
    else:
        reply_content = "我不太明白你说的是什么..."

    # 回复消息
    message_to_send = qqbot.MessageSendRequest(content=reply_content, msg_id=message.id)
    await msg_api.post_message(message.channel_id, message_to_send)

if __name__ == "__main__":
    t_token = qqbot.Token(test_config["token"]["appid"], test_config["token"]["token"])
    qqbot_handler = qqbot.Handler(
        qqbot.HandlerType.AT_MESSAGE_EVENT_HANDLER, _message_handler
    )
    qqbot.async_listen_events(t_token, False, qqbot_handler)

到自己的测试频道艾特自己的机器人发送关键词即可
这里我添加了一个简单的条件语句,检查消息内容中是否包含关键词 "你好" 或 "再见",然后根据关键词回复不同的内容。
如果消息内容中包含关键词,则回复相应的内容;否则,回复一个默认的消息。

标签:QQ,__,机器人,content,token,官方,qqbot,message
From: https://www.cnblogs.com/xkboi/p/17992310

相关文章

  • 【专题】2022中国工业机器人市场研究报告PDF合集分享(附原数据表)
    报告链接:https://tecdat.cn/?p=33224本报告合集将基于中国工业产业升级和智能制造的背景,通过对供应端市场和产业链的分析,结合投资视角,探讨工业机器人企业如何增强自身竞争力,推动中国工业产业发展,为企业带来新的增长和转型机会,并从而思考中国工业机器人行业的现状和未来趋势。阅读......
  • 幻兽帕鲁有多火?!腾讯云联机服务器卖爆啦!4核16G官方推荐,限时特惠(内含教程)
    腾讯云4核16G仅需66元/月,适合用来搭建幻兽帕鲁服务器,支持32人专用服务器要自建幻兽帕鲁(Palworld)的服务器,可以采取以下步骤:获取服务器软件:首先,您需要在Steam库中搜索"PalworldDedicatedServer",或者在"工具"选项中选择进行搜索以找到该软件。下载并安装服务器软件:找到并下载所......
  • qq邮箱登录不了怎么解决
    在现代社会中,电子邮件已经成为人们生活和工作中不可或缺的一部分。而QQ邮箱作为中国最主流的邮件服务之一,被广泛应用于各行各业。然而,随着网络技术的不断更新和改进,有时候我们可能会遇到一些问题,比如QQ邮箱登录不了的情况。那么,面对这种情况,我们应该如何解决呢?检查网络连接首先,当我......
  • Go语言官方团队推荐的依赖注入工具
    在开发过程中,我们经常需要处理一些相互依赖的组件。例如,我们可能有一个服务需要数据库连接和一些配置信息。这种相互依赖的关系在一个大型项目中可能会变得非常复杂。无序地组织这些依赖可能会造成代码的混乱和维护困难。为了更好地管理依赖关系,依赖注入是一个很好的解决方案。在G......
  • jenkins2.346.3安装官方文档
    摘自:https://www.jenkins.io/zh/download/ 摘自:https://pkg.jenkins.io/debian-stable/ JenkinsDebianPackagesThisistheDebianpackagerepositoryofJenkinstoautomateinstallationandupgrade.Tousethisrepository,firstaddthekeytoyoursystem(for......
  • 拥有自己的本地聊天机器人(不需要ChatGPT、笔记本就行)
    概述Windows下,架构是使用开源项目来搭建起来的。因为苦于ChatGPT需要Key,觉得很麻烦,且还有一些数据隐私的考虑,所以一直在寻找有没有可行的完全本地化的方法,最终还是找到了一个可行的方案。最低的资源要求也不是很高,笔记本就行,如果拥有更好的硬件资源的话(Nvidia显卡),那输出会快很多......
  • U3D外包Unity最新版本的官方技术文档
    Unity5.0新特性——物理系统Unity5.0已升级到PhysX3.3SDK。在对4.x项目采取任何操作之前,请快速查看此博文。 关于更新的概述Unity5.0物理系统的预计工作速度是以前版本的2倍。以前熟悉的大多数组件仍然存在,它们的工作方式也和以前一样。当然,有些行为不可能......
  • 【专题】2023年中国工业机器人行业研究报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34144原文出处:拓端数据部落公众号仿生机器人作为一类结合了仿生学原理的机器人,具备自主决策和规划行动的能力,正逐渐进入大众视野。它们的核心技术要素包括感知与认知技术、运动与控制技术、人机交互技术和自主决策技术。阅读原文,获取专题报告合集......
  • BeautifulSoup和Cheerio库:解析QQ音频文件的完整教程
    在当今数字化的世界中,网络上充斥着各种各样的数据,而这些数据往往以各种不同的格式和结构存在。要从这些数据中获取有用的信息,我们就需要使用一些工具来解析和提取数据。BeautifulSoup和CheerioBeautifulSoup是Python中用于解析HTML和XML文档的库,而Cheerio是Node.js中类似的库。......
  • 为什么现在抖音、淘宝、拼多多的店家都需要用上第三方客服机器人?
    在当今高速发展的电商时代,抖音、淘宝、拼多多等各大平台为了提升消费者体验并维持竞争力,这些平台对商家设定了严格的及时响应率要求。如果商家不能快速回复顾客的咨询,他们可能会面临平台一系列的限制,比如说降低店铺的排名、失去参与促销活动的报名资格、把竞争对手推荐给客户等,这......