当前位置: 首页 > news >正文

QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第五期]

QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第五期]

第五期介绍:频道模块之接口授权管理和发言管理

目录

  • QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第五期]
    • 第五期介绍:频道模块之接口授权管理和发言管理
      • 获取机器人在频道可用权限列表
      • 发送机器人在频道接口权限的授权链接
      • 获取频道消息频率的设置详情
      • 频道全员禁言
      • 频道指定成员禁言
      • 频道批量成员禁言
      • 致谢和更新

在这里插入图片描述


不懂得的也可以来私聊或评论区问哦~
在这里插入图片描述
原力到一千才可以推广,三连啊喂!!!

在这里插入图片描述

获取机器人在频道可用权限列表

接口

GET /guilds/{guild_id}/api_permission

功能描述
用于获取机器人在频道 guild_id 内可以使用的权限列表。

Content-Type
application/json

返回

字段名类型描述
apisAPIPermission 对象数组机器人可用权限列表

错误码
详见错误码。

Python示例

import requestsguild_id = "你的频道ID"
url = f"https://api.sgroup.qq.com/guilds/{guild_id}/api_permission"
Authorization = "QQBot 你的鉴权token"headers = {"Authorization": Authorization
}response = requests.get(url, headers=headers).json()print(response)

响应数据包

# 取决于你给了机器人多少权限,我都给了,数据包返回了一大堆数据
{"apis": [{"path": "/guilds/{guild_id}/members/{user_id}","method": "GET","desc": "获取当前频道成员信息","auth_status": 0},{"path": "/channels/{channel_id}/messages","method": "POST","desc": "创建消息","auth_status": 1}]
}

发送机器人在频道接口权限的授权链接

接口

POST /guilds/{guild_id}/api_permission/demand

功能描述
用于创建 API 接口权限授权链接,该链接指向 guild_id 对应的频道。

  • 每天只能在一个频道内发 3 条(默认值)频道权限授权链接。

Content-Type
application/json

参数

字段名类型描述
channel_idstring授权链接发送的子频道 id
api_identifyAPIPermissionDemandIdentify 对象api 权限需求标识对象
descstring机器人申请对应的 API 接口权限后可以使用功能的描述

返回
返回 APIPermissionDemand 对象。

错误码
详见错误码。

Python示例

import requestsguild_id = "你的频道ID"
url = f"https://api.sgroup.qq.com/guilds/{guild_id}/api_permission/demand"
Authorization = f"QQBot 你的鉴权token"data = {"channel_id": "你的子频道id","api_identify": {"path": "/guilds/{guild_id}","method": "GET"},"desc": "显示频道信息"
}headers = {"Content-Type": "application/json","Authorization": Authorization
}response = requests.post(url, headers=headers, json=data).json()print(response)

请求数据包

{"channel_id": "123456","api_identify": {"path": "/guilds/{guild_id}","method": "GET"},"desc": "显示频道信息"
}

响应数据包

{"guild_id": "xxxxxx","channel_id": "123456","api_identify": {"path": "/guilds/{guild_id}","method": "GET"},"title": "王者机器人申请授权频道信息接口权限","desc": "申请权限后才能正常使用机器人显示频道信息功能"
}

示例图
在这里插入图片描述


获取频道消息频率的设置详情

接口

GET /guilds/{guild_id}/message/setting

功能描述
用于获取机器人在频道 guild_id 内的消息频率设置。

Content-Type
application/json

返回
返回 MessageSetting 对象。

错误码
详见错误码。

Python示例

import requestsguild_id = "你的频道ID"
url = f"https://api.sgroup.qq.com/guilds/{guild_id}/message/setting"
Authorization = f"QQBot 你的鉴权token"headers = {"Authorization": Authorization
}response = requests.get(url, headers=headers).json()print(response)

响应数据包

{"disable_create_dm": true, # 是否允许创建私信"disable_push_msg": false, # 是否允许发主动消息"channel_ids": ["1146313","2651849","2651149"],# 子频道 id 数组"channel_push_max_num": 12 # 每个子频道允许主动推送消息最大消息条数
}

频道全员禁言

接口

PATCH /guilds/{guild_id}/mute

功能描述
用于将频道的全体成员(非管理员)禁言。

  • 需要使用的 token 对应的用户具备管理员权限。如果是机器人,要求被添加为管理员。

该接口同样可用于解除禁言,具体使用见 解除全员禁言。

Content-Type
application/json

参数

字段名类型描述
mute_end_timestampstring禁言到期时间戳,绝对时间戳,单位:秒(与 mute_seconds 字段同时赋值的话,以该字段为准)
mute_secondsstring禁言多少秒(两个字段二选一,默认以 mute_end_timestamp 为准)

解除禁言
该接口同样支持解除全员禁言,将mute_end_timestamp或mute_seconds传值为字符串’0’即可。

返回
成功返回 HTTP 状态码 204

错误码
详见错误码。

Python示例

import requestsguild_id = "你的频道ID"
url = f"https://api.sgroup.qq.com/guilds/{guild_id}/mute"
Authorization = f"QQBot 你的鉴权token"# mute_end_timestamp和mute_seconds设置一个就好了,时间戳别用案例里面的,自己设置。
data = {"mute_end_timestamp": "1641916800","mute_seconds": "120"
}headers = {"Authorization": Authorization
}response = requests.patch(url, headers=headers, json=data)if response.status_code == 204:print("全员禁言成功")
else:print("禁言失败,状态码:", response.status_code)

请求数据包

{"mute_end_timestamp": "xxxx","mute_seconds": "120"
}

示例图:
在这里插入图片描述


频道指定成员禁言

接口

PATCH /guilds/{guild_id}/members/{user_id}/mute

功能描述
用于禁言频道 guild_id 下的成员 user_id

  • 需要使用的 token 对应的用户具备管理员权限。如果是机器人,要求被添加为管理员。

该接口同样可用于解除禁言,具体使用见 解除指定成员禁言。

Content-Type
application/json

参数

字段名类型描述
mute_end_timestampstring禁言到期时间戳,绝对时间戳,单位:秒(与 mute_seconds 字段同时赋值的话,以该字段为准)
mute_secondsstring禁言多少秒(两个字段二选一,默认以 mute_end_timestamp 为准)

返回
成功返回 HTTP 状态码 204

错误码
详见错误码。

Python示例

import requestsguild_id = "你的频道ID"
user_id = "你的用户ID"
url = f"https://api.sgroup.qq.com/guilds/{guild_id}/members/{user_id}/mute"
Authorization = f"QQBot 你的鉴权token"data = {"mute_end_timestamp": "1641916800","mute_seconds": "120"
}headers = {"Authorization": Authorization
}response = requests.patch(url, headers=headers, json=data)if response.status_code == 204:print("指定成员禁言成功")
else:print("禁言失败,状态码:", response.status_code)

请求数据包

{"mute_end_timestamp": "1641916800","mute_seconds": "120"
}

频道批量成员禁言

接口

PATCH /guilds/{guild_id}/mute

功能描述
用于将频道的指定批量成员(非管理员)禁言。

  • 需要使用的 token 对应的用户具备管理员权限。如果是机器人,要求被添加为管理员。

该接口同样可用于批量解除禁言,具体使用见 批量解除禁言。

Content-Type
application/json

参数

字段名类型描述
mute_end_timestampstring禁言到期时间戳,绝对时间戳,单位:秒(与 mute_seconds 字段同时赋值的话,以该字段为准)
mute_secondsstring禁言多少秒(两个字段二选一,默认以 mute_end_timestamp 为准)
user_idsstring列表禁言成员的user_id列表,即 User 的id

批量解除禁言
该接口同样支持批量解除禁言,将mute_end_timestamp或mute_seconds传值为字符串’0’即可,及需要批量解除禁言的成员的user_id 列表user_ids。

返回
成功返回 HTTP 状态码 200,并返回设置成功的成员 user_ids

错误码
详见错误码。

Python示例

import requestsguild_id = "你的频道ID"
url = f"https://api.sgroup.qq.com/guilds/{guild_id}/mute"
Authorization = f"QQBot 你的鉴权token"data = {"mute_end_timestamp": "1641916800","mute_seconds": "120","user_ids": ["1201318637970874066","1201318637970874067"]
}headers = {"Authorization": Authorization
}response = requests.patch(url, headers=headers, json=data)if response.status_code == 200:print("批量成员禁言成功")print(response.json())
else:print("禁言失败,状态码:", response.status_code)

请求数据包

{"mute_end_timestamp": "1641916800","mute_seconds": "120","user_ids": ["1201318637970874066","1201318637970874067"]
}

响应数据包

{"user_ids": ["1201318637970874066"]
}

致谢和更新

文章持续更新,如果三连支持,速更!!!
请在评论区提出疑惑和建议
上次更新: 9/12/2024, AM

在这里插入图片描述

⬅️第四期:频道模块之频道身份组与权限管理
➡️第六期:频道模块之内容管理

相关文章:

QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第五期]

QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第五期] 第五期介绍:频道模块之接口授权管理和发言管理 目录 QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第五期]第五期介绍:频道模块之接口授权管理和发言管理获取机器人在频道可用权限列表…...

代码签名证书快速申请指南

申请代码签名证书是确保软件或应用程序在分发和安装过程中不被篡改的重要步骤。以下是详细的快速申请指南: 一、选择证书品牌和服务商 选择知名证书品牌:首先,选择一个国际知名的代码签名证书品牌,如GlobalSign、Digicert、Comod…...

安卓 uniapp跨端开发

HBuilder X 4.24 本地插件方式使用原生插件 例如 MT-TTS 地址PS: 播放 speek({text: ‘test’}) 应为 播放 speak({text: ‘test’})MT-TTS下载下来之后,将 nativeplugins 文件夹拷贝到 uniapp 项目根目录中manifest.json ---- App原生插件配置 运行 语音引擎测试文字转语音播…...

【高阶用法】uniapp的i18n多语言模块修复与增强(Typescript)

痛点 在i18n多语言模块使用过程中,发现下面几个问题,需要解决 1)uni-best框架下,$t功能函数无法实时的切换语言,可能跟使用有关 2)uni-best建议的translate方式在vue块外使用太繁琐,希望不用…...

SQL Server Data Tools (SSDT)入门教程

SSDT (SQL Server Data Tools) 是微软提供的一款用于开发、设计和管理SQL Server数据库的工具。它集成在Visual Studio中,允许开发人员和数据库管理员在统一的环境中进行数据库开发与管理。以下是关于SSDT的详细介绍: 1. 什么是SSDT? SQL S…...

窗户检测系统源码分享

窗户检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …...

2.计算机网络基础

2. 计算机网络基础 (1) 计算机网络的定义 计算机网络是指将地理位置不同、具有独立功能的多个计算机系统通过通信线路和设备连接起来,以功能完善的网络软件实现网络中资源共享的系统。最简单的定义是:计算机网络是一些互相连接的、自治的计算机系统的集合。最庞大的计算机网…...

硬中断,软中断恢复位置

汇编初始化栈指针,interrupt,svc preserve8 ;preserve8 和 restore8 通常用于保护寄存器的状态;以确保在函数调用前后某些寄存器的值保持不变area reset,code,readonlycode32entryb startldr pc,do_undefined;这些地址不能随便写,0x0,0x4,0x8....这些…...

MySQL基础(13)- MySQL数据类型

目录 一、数据类型概述 1.MySQL中的数据类型 二、整型 1.数据类型可选属性 2.使用建议 三、浮点数、定点数、位类型 1.类型介绍 2.浮点类型 3.定点数类型 4.位类型 四、日期时间类型 1.YEAR 2.DATE 3.TIME 4.DATETIME 5.TIMESTAMP 6.TIMESTAMP和DATETIME的区别…...

数据结构------二叉树简单介绍及实现

如果不是满二叉树或者完全二叉树,就要用链式存储 //搜索二叉树:左子树的所有值比根小,右子树的所有值比根大 // 实现查找,最多找高度次(类似二分法) //二分查找存在的问题&#xff1a…...

由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(六)

概述 在 WWDC 24 中,苹果推出了数据库框架 SwiftData 2.0 版本。听说里面新增了能让数据记录“借尸还魂”的绝妙法器,到底是真是假呢? 我们在上篇博文中介绍了 History Trace 是如何稳妥的处理数据删除操作的。而在这里,我们将继续介绍 SwiftData 2.0 中另一个新特性:“墓…...

尚品汇-秒杀下单实现-页面轮询查询订单状态(五十三)

目录: (1)整合秒杀业务 (2)秒杀下单 (3)秒杀下单监听 (4)页面轮询接口 (1)整合秒杀业务 秒杀的主要目的就是获取一个下单资格,拥…...

2024年微电子与纳米技术国际研讨会(ICMN 2024) Microelectronics and Nanotechnology

文章目录 一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题六、咨询 一、会议详情 二、重要信息 大会官网:https://ais.cn/u/vEbMBz提交检索:EI Compendex、IEEE Xplore、Scopus大会时间:2024年9月20-22日地点:成都…...

2024最新版,人大赵鑫老师《大语言模型》新书pdf分享

本书主要面向希望系统学习大语言模型技术的读者,将重点突出核心概念与 算法,并且配以示例与代码(伪代码)帮助读者理解特定算法的实现逻辑。由于大语言模型技术的快速更迭,本书无法覆盖所有相关内容,旨在梳理…...

[Leetcode 543][Easy]-二叉树的直径-递归

目录 一、题目描述 二、整体思路 三、代码 一、题目描述 原题地址 二、整体思路 取一个结点的最大直径就是取一个结点的左子树最大深度右子树最大深度之和,因此可以定义一个递归函数,作用是取一个结点的最大直径。这个函数中还实现了求左子树最大深度…...

高级大数据开发学习路线指南

掌握大数据技术是一项系统性工程,涉及到广泛的技能和专业知识。为了帮助初学者构建坚实的基础,并逐步成长为大数据领域的专家,下面详细阐述了一条全面而深入的学习路线: 1. Java 编程基础 - 打造坚实的底层技能 关键知识点&…...

SpringBoot设置mysql的ssl连接

因工作需要,mysql连接需要开启ssl认证,本文主要讲述客户端如何配置ssl连接。 开发环境信息: SpringBoot: 2.0.5.RELEASE mysql-connector-java: 8.0.18 mysql version:8.0.18 一、检查服务端是否开启ssl认…...

2024-1.2.12-Android-Studio配置

本地博客: https://k1t0111.github.io/ K1T0 最近在做一些app方向的移动技术开发学习,但是由于AS的配置问题,市面上找不到最新的2024版本的AS的相关配置。笔者也是踩了很多坑,因此想写一篇文章记录一下最新的AS 2024 1.2.12的对应java环境的一…...

前端vue左侧树的一整套功能实现(一):vue2+vite封装v-resize指令,实现左侧树拖拽宽度和折叠展开

实现v-resize指令,具体以下功能: 指令接收宽度最大最小值,接收一个id用于localStorage存储拖拽宽度,接收padding拖拽时产生虚线拖拽,松开鼠标再进行元素宽度调整折叠展开图标使用本地图片 封装一个vite下使用本地图片…...

本地部署huggingface模型,建立自己的翻译应用

过去,我们使用翻译接口时,往往都是使用百度等的接口,每天有一定量的免费额度。今天为大家介绍一个可以进行翻译的模型,具备英译中、中译英的能力。并且在这个过程中,向大家介绍一个如何在本地部署模型。在之前的”五天…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...