Discord API: как проверить разрешения для ролей в канале - PullRequest
0 голосов
/ 16 июня 2020

Я хотел спросить, как я могу различать разрешения для ролей в канале в Discord API.

РЕДАКТИРОВАТЬ: Я также нашел этот крутой веб-сайт, который может вычислять разрешения. Итак, именно то, что я хочу знать. Может быть, это поможет, и кто-нибудь может мне это объяснить: https://discordapi.com/permissions.html

Например:
Это ответ, который я получаю для разрешений в канале:

[
  {
    "type": "role",
    "id": "548978033365876748",
    "deny": 2048,
    "allow": 0
  },
  {
    "type": "role",
    "id": "548983599802744842",
    "deny": 2048,
    "allow": 0
  },
  {
    "type": "role",
    "id": "548984168659288098",
    "deny": 0,
    "allow": 805566481
  }
]

Каждый раздел - это роль, которая имеет определенные c разрешения для этого канала.

Если это полезно: Это весь вывод (в основном весь канал):

{
  "type": 0,
  "topic": null,
  "rate_limit_per_user": 0,
  "position": 11,
  "permission_overwrites": [
  {
    "type": "role",
    "id": "548978033365876748",
    "deny": 2048,
    "allow": 0
  },
  {
    "type": "role",
    "id": "548983599802744842",
    "deny": 2048,
    "allow": 0
  },
  {
    "type": "role",
    "id": "548984168659288098",
    "deny": 0,
    "allow": 805566481
  }
],
  "parent_id": "629070895184478209",
  "nsfw": false,
  "name": "test",
  "last_message_id": null,
  "id": "722410734201602069"
}

Таким образом, если роль имеет больше разрешений в канале, количество разрешенных будет выше. То же самое и со счетом "отказать". Больше разрешений, больше количество.

Но как я могу выбрать?

Например: Если я назначаю роли 3 разрешения (Разрешить чтение (1024), Разрешить запись (2048), Разрешить TTS (4096)). Допустимое количество будет 7168. Но я не могу понять, как мне это изменить? Как я могу разделить общее количество разрешенных 7168 на 3 разрешения?

Я знаю, что есть этот шаблон (1024 -> 2048 -> 4096) Может ли это быть полезно?

Заранее спасибо

...