当前位置: 首页 > 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

在这里插入图片描述

⬅️第四期:频道模块之频道身份组与权限管理
➡️第六期:频道模块之内容管理(待更新…)


http://www.mrgr.cn/news/25099.html

相关文章:

  • 光影漫游者:全球音乐厅建设的创新先锋—轻空间
  • 基本输入与输出
  • Baumer工业相机堡盟工业相机如何通过BGAPISDK获取相机接口数据吞吐量(C语言)
  • UEFI学习笔记(六):EDK II 模块:Libraries,DriversApplication
  • 牛客小白月赛99(上)
  • 辛巴赔付到账,罗永浩退一赔三:直播带货终于往好方向卷了下…
  • ICM20948 DMP代码详解(16)
  • 大舍传媒-日本媒体发稿推荐今日东京tokyotoday
  • 什么?blender可以云渲染了!
  • “点餐API”的核心功能以及详细解析
  • java spring validation 自动、手动校验
  • python库安装失败问题
  • 使用阿里OCR身份证识别
  • 计算机网络(Hub 集线器、交换机、路由器)
  • 在对接电影票API时如何快速进行错误处理和调试
  • 情感支持与疏导:帮助自闭症家属走出困境
  • 组件的使用
  • 项目管理:如何确保目标的实现?
  • 关于项目中的内存问题、死锁问题如何定位?——Valgrind
  • 【工资计算 / 2】