2024 年最新使用 Node 搭建QQ开放平台官方 QQ 频道机器人详细教程(更新中)

本文主要是介绍2024 年最新使用 Node 搭建QQ开放平台官方 QQ 频道机器人详细教程(更新中),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注册 QQ 开放平台账号

QQ 开放平台是腾讯应用综合开放类平台,包含 QQ 机器人、QQ 小程序、QQ 小游戏 等集成化管理,也就是说你注册了QQ 开放平台,你开发 QQ 机器人还是 QQ 小程序都是在这个平台进行部署上线和管理。

在这里插入图片描述
如何注册 QQ 开放平台账号?点击首页右上角【立即注册】

注意主体的选择,当然无论是企业还是个人,都是可以开发 QQ 小程序 或者 QQ 机器人 的,但是如果您是个人主体的话,那么你的权限将有所局限,因为部分服务权限是需要企业主体的。

企业主体入驻开发者默认支持频道、群场景开发能力;个人主体入驻开发者默认仅支持频道场景开发能力。除默认开通的能力外,后续其他接口能力申请上,企业开发者与个人开发者也存在差异。

在这里插入图片描述

温馨提示:姓名和身份证号码务必与手机号码对应运营商实名登记的信息一致,否则会提示错误。

创建 QQ 机器人

注册完成后登陆开放平台!在机器人分栏点击【创建机器人】
在这里插入图片描述
填写 QQ 机器人资料信息(名称、头像、介绍)

在这里插入图片描述
QQ 机器人管理端后台

QQ频道机器人是一种对QQ频道进行功能扩展的程序,通过开放的接口,让开发者能够实现开发出交互形式丰富的机器人,以辅助实现频道/社群内的管理、消息互动,满足频道主或群主运营者多样化、个性化的运营需求,从而提高运营效率,同时为用户带来丰富的服务和便捷的体验。

资料提交成功后,即会生成 appid,点击对应的应用即可跳转管理端。

在这里插入图片描述
机器人类型 和 测试频道 / 群 配置

机器人类型 包含 私域机器人或者 公域机器人。当然公域机器人对于服务器的要求过高,我们这边也可以选择私域机器人进行开发。特别注意在选择沙箱测试频道的时候,你必须提前创建个沙箱测试频道,必须<20人的频道。但是选择沙箱测试 QQ 群则需要您是企业资质。

沙箱频道仅可设置当前用户为频道主/管理员的频道、沙箱群仅可设置当前用户为群主/群管理员的群,且沙箱频道成员、沙箱群成员不可大于20人。

在这里插入图片描述

在沙箱配置页面不同类型开发者支持开发不同场景机器人功能

建议开发者根据实际的需要,选择在不同场景开发机器人,完成对应场景的沙箱环境配置。配置沙箱后,开发者可在「功能配置」、「使用范围与人员」页面解锁相应场景的配置能力。

认证身份QQ频道QQ群消息列表单聊
企业开发者申请后可开发
个人开发者暂不开放暂不开放

配置沙箱 QQ 群 / 频道,需要先在QQ客户端创建符合沙箱要求的QQ群/QQ频道。在频道场景,机器人仍然保留「公域」/「私域」机器人的区分,设置为公域机器人保存确认后不可切换为私域机器人,但在「使用范围与人员」可设置公域机器人的允许添加范围:“全部用户可添加”/“仅白名单用户可添加”。配置沙箱频道/群后,机器人会出现在沙箱频道/沙箱群的机器人列表当中。

搭建 qq-guild-bot 环境

国内安装 qq-guild-bot 使用腾讯源

npm i qq-guild-bot --registry=https://mirrors.tencent.com/npm/

配置 .env 文件:机器人信息

appId=申请机器人时获取到的机器人 BotAppID
token=申请机器人时获取到的机器人 BotToken

启动案例

const { createOpenAPI, createWebsocket } = require('qq-guild-bot');const testConfig = {appID: process.env.appId,token: process.env.token,intents: ['PUBLIC_GUILD_MESSAGES'],sandbox: false,
};const client = createOpenAPI(testConfig);const ws = createWebsocket(testConfig);

配置属性说明

属性说明案例值
appID申请机器人时获取到的机器人 BotAppIDprocess.env.appId
token申请机器人时获取到的机器人 BotTokenprocess.env.token
intents事件订阅,用于开启可接收的消息类型[‘PUBLIC_GUILD_MESSAGES’]
sandbox沙箱支持,可选,默认 false(v2.7.0+及以后版本)false

请注意 process.env.appIdprocess.env.token是环境变量中存储的实际值,它们通常用于保护敏感信息,例如 API 密钥或令牌。在真实的应用程序中,您不会直接在代码中硬编码这些值,而是使用环境变量或配置文件来安全地存储和访问它们。

intents 可选值举例:

['GUILDS', 'GUILD_MEMBERS', 'GUILD_MESSAGES','GUILD_MESSAGE_REACTIONS','DIRECT_MESSAGE', 'INTERACTION','MESSAGE_AUDIT','FORUMS_EVENT','AUDIO_ACTION', 'PUBLIC_GUILD_MESSAGES']

频道 API 官方文档

QQ机器人文档:https://bot.q.qq.com/wiki/develop/api-v2/

在这里插入图片描述

频道消息事件

{eventType: 'AT_MESSAGE_CREATE',eventId: 'AT_MESSAGE_CREATE:9cf66025-fd89-4474-8cff-5b653f13b793',msg: {author: {avatar: 'https://qqchannel-profile-1251316161.file.myqcloud.com/1690525084d31f5da18614da93?t=1690525084',bot: false,id: '3099335931735309862',username: '唤醒手腕'},channel_id: '633953187',content: '<@!4609307794105190966> 测试',guild_id: '11682521373910822180',id: '08a4daf3e6afe9a990a20110a3b7a5ae02381a48e5add3b006',member: {seq_in_channel: '26',timestamp: '2024-04-09T13:49:25+08:00'}}
}

回复事件

{eventType: 'READY',msg: {version: 1,session_id: 'fb73286a-fa79-4b52-a68b-193e3380e022',user: {id: '4609307794105190966',username: '边缘骇客机器人-测试中',bot: true,status: 1},shard: [0, 1]}member: {joined_at: '2023-11-09T22:46:01+08:00',nick: '唤醒手腕',roles: [Array]},mentions: [[Object]],seq: 24,seq_in_channel: '24',timestamp: '2024-04-09T13:45:49+08:00'
}

待更新······

这篇关于2024 年最新使用 Node 搭建QQ开放平台官方 QQ 频道机器人详细教程(更新中)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1063225

相关文章

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有