Створити свого першого Discord-бота простіше, ніж ви думаєте. Вам не потрібен диплом інформатика або роки досвіду програмування. У 2026 році створення та розгортання функціонального бота займає вихідні, якщо ви зосереджені.
Цей посібник проведе вас через весь процес: реєстрація вашого бота, написання вашої першої команди, тестування її локально та розгортання в реальному часі. До кінця ви матимете бота, який працює на вашому сервері.
Розуміння того, що таке Discord-бот
Discord-бот — це програма, яка підключається до Discord через API та реагує на події: коли хтось вводить команду, реагує на повідомлення, приєднується до сервера тощо.
Ключові концепції:
- Програма проти бота: Ваша "програма" зареєстрована на порталі розробників Discord. "Бот" — це обліковий запис користувача, пов'язаний з цією програмою. Одна програма має одного бота.
- Токени: Секретний ключ, який автентифікує вашого бота. Ніколи не діліться ним. Це як пароль до вашого бота.
- Наміри: Дозволи, які дозволяють вашому боту бачити певні події (повідомлення, реакції, зміни статусу учасників тощо). Ви вмикаєте лише те, що вам потрібно.
- Команди: Боти реагують на команди. Сучасні боти використовують слеш-команди (
/command) замість префіксних команд (!command). Слеш-команди офіційно підтримуються та рекомендовані. - Події: Ваш бот прослуховує події Discord (відправлено повідомлення, додано реакцію, приєднався учасник) і реагує на них.
Крок 1: Зареєструйте свого бота на порталі розробників Discord
Тут ваш бот офіційно існує в системі Discord.
Процес:
- Перейдіть на Портал розробників Discord
- Увійдіть за допомогою свого облікового запису Discord
- Натисніть "New Application"
- Назвіть його (наприклад, "My First Bot")
- Натисніть "Create"
- Тепер ви знаходитесь в налаштуваннях своєї програми
Тепер створіть користувача-бота:
- Перейдіть до розділу "Bot" (ліва бічна панель)
- Натисніть "Add Bot"
- Під ім'ям користувача бота ви побачите кнопку "TOKEN"
- Скопіюйте токен — це те, як ваш бот автентифікується. Тримайте це в секреті. Ніколи не діліться ним публічно та не передавайте його в GitHub без шифрування.
Налаштуйте параметри бота:
- Увімкніть "Message Content Intent" (дозволяє боту читати текст повідомлення)
- Увімкніть "Server Members Intent" (дозволяє боту бачити, хто знаходиться на сервері)
- Прокрутіть вниз до розділу "OAuth2"
Крок 2: Згенеруйте посилання для запрошення вашого бота
Вам потрібне спеціальне посилання для запрошення, щоб додати бота на сервер.
На порталі розробників:
- Перейдіть до "OAuth2" → "URL Generator"
- У розділі "SCOPES" поставте галочку:
bot - У розділі "PERMISSIONS" виберіть, що може робити ваш бот:
Send Messages(важливо для будь-якого бота)Manage Messages(якщо ви модеруєте)Add Reactions(якщо бот реагує на речі)Connect+Speak(якщо це музичний/голосовий бот)- Для навчання просто виберіть
Send Messages+Read Messages(мінімально життєздатний)
- Скопіюйте згенерований URL внизу
- Поділіться цим URL з власниками серверів (або використовуйте його самі, щоб додати до свого тестового сервера)
Не використовуйте дозвіл адміністратора, якщо це абсолютно необхідно. Надмірні дозволи — це ризик для безпеки.
Крок 3: Виберіть свою мову та фреймворк
Два основні варіанти для початківців:
JavaScript (discord.js)
Discord.js — найпопулярніший фреймворк для Discord-ботів. Величезна спільнота, безліч навчальних посібників і чудова документація.
Плюси:
- Найбільша спільнота та найбільше навчальних посібників в Інтернеті
- Документація discord.js чудова
- Node.js широко використовується та легко вивчається
- Легке розгортання на більшості хостинг-платформ
Мінуси:
- JavaScript має особливості (крива навчання async/await)
- Node.js додає накладні витрати на пам'ять порівняно з Python
Початок роботи:
- Встановіть Node.js (v18+)
- Створіть папку проекту
npm init -ynpm install discord.js
Python (discord.py)
Простіший синтаксис, чудово підходить для початківців, відмінно підходить для вивчення основ.
Плюси:
- Найпростіший синтаксис для вивчення
- Інтуїтивно зрозумілий для початківців
- Документація discord.py хороша
- Python використовується всюди (наука про дані, веб, автоматизація)
Мінуси:
- Менша спільнота, ніж discord.js (але все ще велика)
- Менше навчальних посібників, ніж JavaScript
- Трохи вище використання пам'яті
Початок роботи:
- Встановіть Python 3.10+
- Створіть папку проекту
pip install discord.py
Рекомендація для початківців: Якщо ви знаєте Python, використовуйте discord.py. Якщо ви знаєте JavaScript, використовуйте discord.js. Якщо ви не знаєте жодного, Python легше вивчити, але JavaScript має більше ресурсів в Інтернеті. Виберіть один і зосередьтеся.
Крок 4: Напишіть свого першого бота (приклад Python)
Ось мінімальний робочий Discord-бот на Python, який реагує на команду:
import discord
from discord.ext import commands
# Create bot with command prefix and intents
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'{bot.user} has connected to Discord!')
@bot.command(name='hello', help='Says hello')
async def hello(ctx):
await ctx.send(f'Hello {ctx.author.name}!')
@bot.command(name='ping', help='Responds with pong')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
Що це робить:
- Підключається до Discord
- Прослуховує команди
!helloі!ping - Реагує повідомленням при спрацюванні
Щоб запустити його:
- Замініть
'YOUR_TOKEN_HERE'на свій фактичний токен з кроку 1 - Збережіть як
bot.py - Запустіть:
python bot.py - У Discord введіть
!helloв будь-якому каналі - Бот відповідає: "Hello [YourName]!"
Крок 5: Тестуйте локально
Перед розгортанням протестуйте свого бота локально (на своєму комп'ютері).
Налаштуйте тестовий сервер:
- Створіть приватний сервер Discord для тестування
- Додайте до нього свого бота за допомогою посилання для запрошення з кроку 2
- Запустіть код свого бота локально
- Введіть команди на тестовому сервері
- Слідкуйте за помилками у своєму терміналі; виправте їх
Поширені помилки:
- "Invalid token" — Ви неправильно скопіювали токен або термін його дії закінчився. Згенеруйте його знову на порталі розробників.
- "Missing permissions" — Бот не має дозволу виконувати цю дію в цьому каналі. Додайте дозволи або використовуйте канал, де бот має більше прав.
- "Intents are not enabled" — Вам потрібно ввімкнути наміри на порталі розробників (Message Content Intent, Server Members Intent тощо).
Тестуйте ретельно. Бот з помилками у виробництві — це ганьба.
Крок 6: Додайте більше команд
Тепер, коли ви розумієте основи, розширюйте за допомогою додаткових функцій.
Приклад Python — проста економічна команда:
@bot.command(name='balance', help='Check your coin balance')
async def balance(ctx):
# In a real bot, this would query a database
# For now, just return a mock value
await ctx.send(f'{ctx.author.name}, you have 100 coins!')
@bot.command(name='roll', help='Roll a dice (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} rolled: **{result}**')
Кожна команда — це проста функція. Додайте стільки, скільки хочете.
Крок 7: Розгорніть свого бота
Локальний хостинг працює для тестування, але ваш бот зупиняється, коли ви закриваєте свій ноутбук. Розгорніть на сервері, щоб він працював 24/7.
Безкоштовні варіанти хостингу
Replit (найпростіший для початківців):
- Перейдіть на Replit.com
- Створіть новий Repl → Python (або Node.js)
- Вставте код свого бота
- Натисніть "Run"
- Replit розміщує його безкоштовно (з обмеженнями: може засинати після бездіяльності)
Railway.app (сучасний, надійний):
- Перейдіть на Railway.app
- Підключіть GitHub (або завантажте файли безпосередньо)
- Створіть новий проект → виберіть свого бота
- Railway розгортає автоматично
- Безкоштовний рівень включає 5 доларів щомісячного кредиту
Glitch (схожий на Replit):
- Перейдіть на Glitch.com
- Створіть новий проект
- Вставте код
- Glitch підтримує його в робочому стані (в межах лімітів безкоштовного рівня)
Важливо: Не жорстко кодуйте свій токен у коді, який ви надсилаєте в GitHub. Використовуйте змінні середовища:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Створіть файл .env локально (додайте до .gitignore, щоб його не було зафіксовано):
DISCORD_TOKEN=your_actual_token_here
На Replit/Railway встановіть токен як секретну змінну середовища в налаштуваннях платформи (не в коді).
Поширені помилки початківців
Помилка 1: Жорстке кодування токена Ніколи не розміщуйте свій токен у коді, який ви надсилаєте в GitHub. Боти з витоком токенів миттєво скомпрометовані. Використовуйте змінні середовища.
Помилка 2: Не обробляти помилки Ваш бот виходить з ладу при несподіваному введенні. Додайте обробку помилок:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Cannot divide by zero!')
except ValueError:
await ctx.send('Please enter valid numbers!')
Помилка 3: Не поважати обмеження швидкості Discord обмежує швидкість надсилання повідомлень. Не спамте API. Додайте затримки між масовими діями.
Помилка 4: Ігнорування намірів Багато ботів для початківців зазнають невдачі, оскільки не вмикають необхідні наміри на порталі розробників. Перевірте наміри, які потрібні вашому боту, перед розгортанням.
Помилка 5: Занадто амбітний обсяг Не намагайтеся створити економічну систему, модерацію, музику та 50 команд у своєму першому боті. Почніть з 3-5 простих команд. Розширюйте, коли вам буде зручно.
Наступні кроки
Тепер, коли у вас є базовий бот:
- Розширюйте функціональність: Додайте більше команд, використовуйте бази даних для збереження даних, реалізуйте складну логіку
- Використовуйте слеш-команди: Сучасний синтаксис
/commandзамість префіксних команд - Додайте реакції: Дозвольте користувачам натискати кнопки або реагувати емодзі
- Підключіть базу даних: Зберігайте дані користувачів, монети, налаштування (SQLite для початківців, PostgreSQL для масштабування)
- Приєднуйтесь до спільнот: Спільноти розробників Discord-ботів (reddit.com/r/discordbots, сервер підтримки Discord.js) мають відповіді на кожне запитання
Ресурси
- Документація discord.js: https://discord.js.org
- Документація discord.py: https://discordpy.readthedocs.io
- Документи Discord API: https://discord.com/developers/docs/intro
- Навчальні посібники на YouTube: Знайдіть "[discord.js/discord.py] tutorial" — величезна кількість контенту
Ваш перший Discord-бот — це проект на вихідні. Ваш перший хороший Discord-бот — це місяць практики. Ваш перший бот, який використовується 1000 серверами, — це місяці ітерацій, розробки функцій і побудови спільноти. Почніть зараз, постійно повторюйте та не перемудровуйте.