# 创建频道 API 权限授权链接

用于创建 API 接口权限授权链接,该链接指向 guildID 对应的频道 。调用成功后,参数指定的子频道会受到一条“申请授权【xxx】权限”消息,管理员点击可进行机器人 API 权限授予。

注意

  • 需要建立 ws 连接。
  • 每天只能在一个频道内发 3 条(默认值)频道权限授权链接,如需调整,请联系平台申请权限。

# 使用示例

import os

import botpy
from botpy import logging
from botpy.message import Message

_log = logging.get_logger()


class MyClient(botpy.Client):

    async def on_at_message_create(self, message: Message):
      
      demand_identity = APIPermissionDemandIdentify(path="/guilds/{guild_id}/members/{user_id}", method="GET")
      demand = await self.api.post_permission_demand(
          message.guild_id,
          message.channel_id,
          demand_identity,
          '获取当前频道成员信息'
      )
      _log.info("api title: %s" % demand["title"] + ", desc: %s" % demand["desc"])

intents = botpy.Intents(public_guild_messages=True)
client = MyClient(intents=intents)
client.run(appid={appid}, token={token})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 参数说明

字段名 必填 类型 描述
guild_id string 频道 ID
channel_id string 授权链接发送的子频道 ID
api_identify APIPermissionDemandIdentify API 权限需求标识对象
desc string 机器人申请对应的 API 接口权限后可以使用功能的描述

# APIPermissionDemandIdentify

字段名 类型 描述
path string API 接口名,例如 /guilds/{guild_id}/members/{user_id}
method string 请求方法,例如 GET

# 返回说明

返回 APIPermissionDemand对象。

# APIPermissionDemand

字段名 类型 描述
guild_id string 申请接口权限的频道 ID
channel_id string 接口权限需求授权链接发送的子频道 ID
api_identify APIPermissionDemandIdentify 权限接口唯一标识
title string 接口权限链接中的接口权限描述信息
desc string 接口权限链接中的机器人可使用功能的描述信息

# 返回示例

data

{
  "guild_id": "123456",
  "channel_id": "112233",
  "api_identify": {
    "path": "/guilds/{guild_id}",
    "method": "GET"
  },
  "title": "申请授权【获取频道】权限",
  "desc": "允许授权后才能正常使用机器人「频道权限」功能"
}
1
2
3
4
5
6
7
8
9
10

此时打开“channel_id”对应的频道,可看到一条机器人发出的 API 授权申请消息。

手机QQ扫码
开发者社区
加入官方频道开发者社区