Открыть сервисСервис

Добавление бота на сервер Discord

Добавление бота на сервер Discord — процесс авторизации стороннего программного обеспечения (бота) в мессенджере Discord путём перехода по OAuth2-ссылке приглашения с указанием целевого сервера и набора запрашиваемых разрешений. Боты используются для модерации, автоматизации, воспроизведения аудио, интеграции с внешними сервисами и иных задач.

Предварительные требования

Для добавления бота на сервер требуется выполнение ряда условий:

  • учётная запись Discord с правами «Управление сервером» (Manage Server) на целевом сервере;
  • сам бот должен быть заранее зарегистрирован разработчиком через Discord Developer Portal;
  • для серверов, где включена проверка уровня, уровень аккаунта должен быть достаточным для вступления.

Регистрация бота выполняется на сайте discord.com/developers/applications. Создаётся приложение, в разделе Bot генерируется токен (Token), который используется для аутентификации бота при подключении к API Discord. Токен является секретным и не подлежит публикации.

Получение ссылки приглашения

После создания бота в разделе OAuth2 → URL Generator разработчик формирует ссылку приглашения. Порядок действий:

  1. В блоке Scopes выбирается область bot (для классического бота) или applications.commands (для бота, регистрирующего slash-команды). Часто выбираются обе.
  2. В блоке Bot Permissions отмечаются разрешения, которые бот получит на сервере: управление сообщениями, управление каналами, отправка сообщений, подключение к голосовым каналам и другие.
  3. Сформированная ссылка вида https://discord.com/oauth2/authorize?client_id=...&scope=bot%20applications.commands&permissions=...` копируется и передаётся администратору сервера.

Альтернативный вариант — использование ссылки, которую размещают каталоги ботов (например, Discord Top GG или аналогичные российские и зарубежные каталоги). Принципиально это та же OAuth2-ссылка.

Процесс добавления

После перехода по ссылке приглашения откроется страница авторизации Discord:

  1. Пользователь логинится (если ещё не авторизован) и выбирает сервер, куда бот будет добавлен. В списке отображаются только серверы, где пользователь имеет право «Управление сервером».
  2. На странице отображается перечень запрашиваемых разрешений. Рекомендуется проверять список и не выдавать боту избыточные права.
  3. Нажимается кнопка «Авторизовать» (Authorize). При включённой на сервере проверке уровня может потребоваться решение капчи.
  4. После завершения бот появляется в списке участников сервера, обычно в офлайн-статусе до момента запуска его процесса разработчиком.

Управление разрешениями после добавления

Разрешения бота можно изменять в любой момент. На сервере открывается Настройки сервера → Роли, находится роль бота (обычно называется по имени бота), и вкладка Разрешения позволяет включать или отключать отдельные права. Рекомендуется выдавать боту отдельную роль с минимально необходимым набором прав и располагать эту роль выше модерируемых ролей, но ниже администраторов.

Для ограничения действия бота в конкретных каналах используются настройки прав канала: в свойствах канала на вкладке Роли и участники можно явно запретить или разрешить боту определённые действия.

Самостоятельная разработка бота

Для создания собственного бота используется Discord API и одна из библиотек:

ЯзыкБиблиотеки
Pythondiscord.py, nextcord, disnake
JavaScript / TypeScriptdiscord.js, oceanic.js
C#DSharpPlus, Discord.Net
Godiscordgo

Типовой минимальный пример на discord.py:

```python import discord

intents = discord.Intents.default() intents.message_content = True client = discord.Client(intents=intents)

@client.event async def on_ready(): print(f"Бот запущен: {client.user}")

client.run("ТОКЕН") ```

После запуска скрипта бот подключается к Discord и начинает обрабатывать события. Slash-команды регистрируются через @client.tree.command() и синхронизируются с API.

Типичные проблемы при добавлении

  • Ссылка не работает или выдаёт ошибку «Invalid OAuth2 redirect URI» — проверяется корректность client_id и параметров в ссылке.
  • Бот добавлен, но не отвечает — процесс бота не запущен либо не хватает разрешений.
  • Бот не видит сообщения — в Developer Portal для бота должна быть включена привилегированная интент-опция Message Content Intent.
  • Нет кнопки «Авторизовать» — аккаунт не имеет прав управления выбранным сервером или уровень аккаунта недостаточен.

Безопасность

Токен бота даёт полный контроль над учётной записью бота. Его не следует публиковать в открытом доступе, загружать в публичные репозитории или передавать третьим лицам. При компрометации токена его необходимо сбросить через Developer Portal. Также не рекомендуется выдавать боту разрешение «Администратор» без крайней необходимости — это расширяет потенциальный ущерб при уязвимости бота.

Источники:

  • Discord Developer Portal — документация по OAuth2 и ботам
  • discord.py — официальная документация библиотеки
  • discord.js — официальная документация библиотеки
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru