Перейти к содержимому

Приглашение бота

Боты не принимают обычные инвайт-коды. Чтобы попасть на сервер, бот должен быть авторизован через OAuth2 — пользователь с правом «Управлять сервером» подтверждает добавление, а Флудилка сама заводит бот-участника.

https://floodilka.com/oauth2/authorize
?client_id=ID_ПРИЛОЖЕНИЯ
&scope=bot
&permissions=МАСКА_ПРАВ
&guild_id=ID_ГИЛЬДИИ_ОПЦИОНАЛЬНО
&disable_guild_select=true
ПараметрОбязателенОписание
client_idДаApplication ID со страницы приложения, не токен
scopeДаДолжен содержать bot
permissionsНетДесятичная битовая маска прав. Если не указать — бот присоединится без дополнительных прав
guild_idНетПред-выбирает конкретную гильдию
disable_guild_selectНетtrue — зафиксировать guild_id и скрыть выпадающий список

Для обычного бота, который читает и пишет в каналах, нужны:

ПравоЗначение
VIEW_CHANNEL1 << 10 = 1024
SEND_MESSAGES1 << 11 = 2048
READ_MESSAGE_HISTORY1 << 16 = 65536
EMBED_LINKS1 << 14 = 16384
ADD_REACTIONS1 << 6 = 64

Сумма: 85056

https://floodilka.com/oauth2/authorize?client_id=1496956937664585746&scope=bot&permissions=85056
const permissions =
(1 << 13) | // MANAGE_MESSAGES
(1 << 1) | // KICK_MEMBERS
(1 << 2) | // BAN_MEMBERS
(1 << 40n); // MODERATE_MEMBERS (timeout)
// 40-й бит не помещается в обычный Number, для таких битов BigInt:
const permsBig = (1n << 13n) | (1n << 1n) | (1n << 2n) | (1n << 40n);
console.log(permsBig.toString()); // → "1099511636998"

На вкладке Общие приложения можно включать:

  • Публичный бот — кто угодно может использовать OAuth2-ссылку. Отключите, если бот только для одного сервера
  • Требовать OAuth2 code grant — запрашивать authorization code перед добавлением. Полезно для верификации, обычно выключено
  1. Пользователь кликает по ссылке и выбирает сервер
  2. Флудилка проверяет, что у пользователя есть MANAGE_GUILD на выбранном сервере
  3. Бот добавляется как участник, ему создаётся роль с запрошенными правами
  4. Gateway-клиент бота (если запущен) получит событие GUILD_CREATE с новой гильдией