Создание Discord-бота с нуля: регистрация и подключение

Иван Корнев·26.04.2026·4 мин

Чтобы создать бота в Discord, необходимо зарегистрировать приложение в Discord Developer Portal, получить токен доступа, настроить права через OAuth2 и пригласить бота на сервер. После этого бот активируется путем запуска кода на вашем компьютере или хостинге. Весь процесс занимает около 15–20 минут, если не учитывать время на написание сложной логики.

Важно: Бот не будет работать, пока вы не запустите скрипт на своем устройстве или сервере. Регистрация в панели разработчика — это только создание «учетной записи» для программы.

Шаг 1. Регистрация приложения в Discord Developer Portal

Все настройки бота происходят в Discord Developer Portal.

  1. Нажмите кнопку New Application в правом верхнем углу.
  2. Введите имя бота (оно будет отображаться в списке участников) и согласитесь с условиями.
  3. Перейдите во вкладку Bot в меню слева.
  4. Нажмите кнопку Add Bot и подтвердите действие.

Теперь у вашего приложения есть профиль бота. Здесь можно изменить аватар, имя и настроить публичные флаги (например, разрешить ли другим пользователям добавлять бота к себе).

Шаг 2. Получение токена и настройка привилегированных намерений

Токен — это пароль вашего бота. Никогда не передавайте его посторонним и не выкладывайте в открытый доступ.

  1. Во вкладке Bot найдите раздел Token.
  2. Нажмите Reset Token (или Copy, если он уже создан), чтобы скопировать длинную строку символов. Сохраните её в надежном месте.

Привилегированные намерения (Privileged Gateway Intents)

По умолчанию бот видит не все события. Если вы планируете читать содержимое сообщений или отслеживать присутствие пользователей, нужно включить соответствующие переключатели в разделе Privileged Gateway Intents:

  • Message Content Intent: необходим, если бот должен реагировать на текст команд (например, !ping). Без этого бот будет видеть только упоминания (@bot) и события системы.
  • Server Members Intent: нужен для отслеживания входа/выхода участников.

Шаг 3. Приглашение бота на сервер (OAuth2)

Чтобы бот появился на вашем сервере, нужно сгенерировать специальную ссылку-приглашение.

  1. Перейдите во вкладку OAuth2 -> URL Generator.
  2. В разделе Scopes отметьте галочкой bot.
  3. Ниже появится раздел Bot Permissions. Выберите права, которые потребуются боту:
    • Send Messages — для отправки ответов.
    • Read Message History — для контекста.
    • Manage Messages — если бот будет модератором.
    • Administrator — дает полный доступ (используйте с осторожностью).
  4. Скопируйте полученную ссылку из поля Generated URL.
  5. Вставьте ссылку в браузер, выберите сервер, где у вас есть права администратора, и нажмите Authorize.

Если бот не отвечает на команды после подключения, проверьте, включены ли нужные Intents в шаге 2, и соответствуют ли выбранные Permissions действиям бота.

Шаг 4. Написание кода и запуск

Выберите язык программирования. Самые популярные варианты — JavaScript (Node.js) и Python.

Вариант А: Node.js (библиотека discord.js)

  1. Установите Node.js (LTS версию).
  2. Создайте папку проекта, откройте терминал и выполните:
    npm init -y
    npm install discord.js dotenv
    ```
3.  Создайте файл `.env` для хранения токена:
    
```env
    TOKEN=ваш_токен_здесь
    ```
4.  Создайте файл `index.js`:


```javascript
const { Client, GatewayIntentBits } = require('discord.js');
require('dotenv').config();

const client = new Client({ 
    intents: [
        GatewayIntentBits.Guilds, 
        GatewayIntentBits.GuildMessages, 
        GatewayIntentBits.MessageContent 
    ] 
});

client.once('ready', () => {
    console.log(`Бот ${client.user.tag} успешно запущен!`);
});

client.on('messageCreate', message => {
    if (message.author.bot) return; // Игнорируем других ботов

    if (message.content === '!ping') {
        message.channel.send('Pong! 🏓');
    }
});

client.login(process.env.TOKEN);
  1. Запустите бота командой: node index.js.

Вариант Б: Python (библиотека pycord)

  1. Установите Python и библиотеку:
    pip install py-cord python-dotenv
    ```
2.  Создайте файл `.env` аналогично примеру выше.
3.  Создайте файл `main.py`:


```python
import discord
import os
from dotenv import load_dotenv

load_dotenv()

intents = discord.Intents.default()
intents.message_content = True # Важно для чтения текста команд

bot = discord.Bot(intents=intents)

@bot.event
async def on_ready():
    print(f'Бот {bot.user} готов к работе!')

@bot.slash_command(description="Проверка связи")
async def ping(ctx):
    await ctx.respond("Pong! 🏓")

bot.run(os.getenv('TOKEN'))
  1. Запустите бота командой: python main.py.

Частые ошибки новичков

ОшибкаПричинаРешение
Бот оффлайнСкрипт не запущен или упал с ошибкойПроверьте консоль на наличие ошибок (красный текст).
Бот не видит командыНе включен Message Content IntentВключите намерение в Developer Portal и перезапустите бота.
Ошибка токенаТокен скопирован с пробелами или неверенСгенерируйте новый токен и обновите .env файл.
Нет прав на отправкуНе выбрано разрешение Send MessagesПерепригласите бота с новыми правами через OAuth2 URL.

FAQ

Где лучше хостить бота? Для тестов хватит вашего ПК. Для постоянной работы используйте VPS (Virtual Private Server) на Linux или специализированные хостинги для ботов. Не используйте бесплатные облачные сервисы типа Heroku без платного тарифа, так как они засыпают при неактивности.

Можно ли сделать бота без программирования? Да, существуют конструкторы (например, Disboard, MEE6), но они ограничены шаблонами. Свой код дает полную свободу действий.

Как обновить бота? Остановите процесс (Ctrl+C), внесите изменения в код, сохраните файлы и запустите скрипт заново.

Используйте систему контроля версий (Git), но никогда не коммитьте файл .env с токеном в репозиторий. Добавьте его в .gitignore.