Как создать бота в Discord

Дискорд — это не просто приложение для голосового общения. Это огромная экосистема серверов, в которой можно найти любое сообщество по любому интересу. Кроме того, боты обеспечивают жизнеспособность и функциональность этих серверов. Они могут проигрывать музыку, модерировать чаты, приветствовать новых участников или просто развлекать ваше сообщество веселыми командами.

Возможно, вы думаете, что опытные программисты должны придумать собственного бота. Но на самом деле, это гораздо проще, чем вы можете представить. Знание основ любого языка программирования, особенно JavaScript (или его «дружелюбной» версии, Node.js), — это то, что вам нужно, чтобы добиться успеха. Всё, что тебе нужно, это немного времени и энтузиазма.

В этой статье мы разберем, как оживить своего бота. Вначале мы напишем самый простой код, создав приложение в панели разработчика Discord, получив токен для управления ботом. Вы будете поражены скоростью, с которой ваша работа появится на сервере и начнет выполнять ваши команды.

Создать бота в Discord не так сложно, как кажется: нужно всего лишь зарегистрироваться на официальном портале разработчиков Discord, получить ключ и подключиться к серверу. Затем с помощью простого кода, такого как Python, можно заставить бота выполнять простые задачи, такие как приветствовать новых участников или отвечать на командные вопросы. Не бойтесь экспериментировать; вы можете запустить своего первого бота уже через несколько часов, если вы просто следуете инструкциям.

Создание приложения и авторизация бота

Далее мы поговорим о двух методах создания бота: JavaScript и Python. Несмотря на то, что каждый имеет свои особенности и детали, процесс создания приложения и авторизации бота на сервере остаются идентичными, поскольку они не зависят от выбранного языка программирования. После этого вы сможете перейти к работе с кодом и подбору библиотеки.

Перейти на Discord Developer Portal

  1. Перейдите по ссылке выше, чтобы оказаться на главной странице портала для разработчиков в Discord. Используйте личные авторизационные данные для входа в аккаунт.
  2. Создайте новое приложение, нажав кнопку «New Application».
  3. Введите имя приложения и подтвердите его создание.
  4. Разверните меню сайта, щелкнув по кнопке с тремя горизонтальными линиями.
  5. Из появившегося списка выберите раздел настроек «Bot».
  6. Приступите к добавлению нового бота для данного приложения.
  7. Подтвердите отобразившееся уведомление, нажав «Yes, do it».
  8. По завершении сайт обновится и откроется страница бота, где вы можете изменить его название, скопировать токен или добавить иконку, которая будет отображаться и в Дискорде.
  9. Однако сейчас бот еще не отмечен таковым и для него не установлены разрешения, поэтому через то же самое меню перейдите в раздел «OAuth2».
  10. В списке «Scopes» отметьте галочкой «bot», обозначив тип созданного приложения.
  11. Найдите следующий блок — «Bot Permissions» и установите галочки напротив всех разрешений, которые вы хотите предоставить создаваемому боту.
  12. То же самое сделайте и с остальными типами разрешений, они соответствуют доступным непосредственно в Discord для ролей.
  13. Теперь бот готов для авторизации. На этой же странице найдите строку со ссылкой и скопируйте ее.
  14. Вставьте в адресную строку и перейдите по ней. В появившейся форме выберите сервер для авторизации. Если у вас еще нет собственного сервера, создайте его, а затем вернитесь к процессу подключения бота.

    Дополнительно: Создание сервера с помощью Discord

  15. Ознакомьтесь со списком всех разрешений и нажмите на «Авторизовать».
  16. Осталось только подтвердить появившуюся на экране капчу.
  17. Откройте соответствующий сервер в Discord и убедитесь в том, что бот находится в списке участников. Пока что он еще офлайн, а запуск станет доступен после написания «тела» бота при помощи Python или JS, чем мы и займемся далее.

Выбор среды разработки

Для начала работы с кодом в упомянутых языках программирования необходимо установить текстовый редактор или специальную среду разработки, поддерживающую синтаксис Python или JavaScript. Хотя можно использовать просто «Блокнот», специализированные программы гораздо удобнее.

Подробнее: Выбор среды программирования

Вариант 1: Python и библиотека discord

Создание бота для Discord на Python — отличный вариант, если вы ранее не сталкивались с языками программирования или знакомы с ними только поверхностно. Этот ЯП компактен, прост в использовании и имеет логически понятный синтаксис, поэтому он идеально подходит для новых пользователей. Кроме того, вы можете найти огромное количество исходников в Интернете, которые включают различные команды или готовые боты, которые легко скопировать и использовать. Вы узнаете, как создать «каркас» бота на Python, а затем запустить его, чтобы проверить его работу в следующих шагах.

Шаг 1: Установка Python и библиотеки discord

Утилиты и функции, предназначенные для работы с Питоном, не включены в Windows по умолчанию, поэтому их нужно установить отдельно. Не забудьте подключить библиотеку Дискорд, которая позволит вам взаимодействовать с полезными командами и функциями, связанными только с Дискордом.

Вы можете посетить официальный сайт Python.

  1. Воспользуйтесь ссылкой выше, чтобы перейти на официальный сайт Python и нажмите кнопку для загрузки его последней версии.
  2. На новой странице отыщите инсталлятор для Windows и начните его загрузку.
  3. Дождитесь завершения скачивания и запустите установщик.
  4. Можно запустить установку без изменений, но обязательно отметьте галочкой «Add Python X.X to PATH», чтобы все переменные среды добавились автоматически и не возникло проблем при дальнейшем вводе команд.
  5. Ожидайте завершения установки и на всякий случай перезагрузите компьютер, чтобы все изменения вступили в силу.
  6. Откройте «Командную строку» удобным для вас способом, например, отыскав приложение в меню «Пуск».
  7. Напишите команду pip install discord и подтвердите ее нажатием клавиши Enter.
  8. Начнется загрузка файлов и в консоли «побегут» строки. Не закрывайте данное окно до завершения скачивания.
  9. Как только появилась информация «Successfully installed», закрывайте «Командную строку» и переходите далее.

Если установлен Python в Windows, но команда для добавления подключаемой библиотеки не работает, выполните обновление компонента PIP.

Шаг 2: Создание словаря бота

В этом варианте мы будем использовать конфигурационный файл, содержащий словарь для бота, который хранит значения токена, префикса и имени бота под разными именами. Это значительно упрощает процесс написания кода и исключает необходимость вспоминать данные приложения, чтобы ввести их в одну строку.

  1. Начните с запуска IDLE, отыскав добавленное приложение через меню «Пуск». Если вы скачали другую среду разработки, откройте ее и создайте новый проект на базе Python.
  2. После открытия нового окна вызовите меню «File» и выберите пункт «New File». Сделать это можно и при помощи комбинации клавиш Ctrl + N.
  3. В новом окне, которое и предназначено для написания кода, вставьте блок

    В настройках используется следующее: ‘token’: ‘Ваш токен’, ‘bot’: ‘Имя бота’, ‘id’: ‘Идентификатор клиента бота, без кавычек, ‘префикс’: ‘Префикс бота’

  4. Теперь понадобится отыскать информацию для ее замены в словаре. Сначала найдите Client ID приложения на сайте разработчиков. Скопируйте его и замените в соответствующую строку.
  5. Вызовите меню и перейдите в раздел «Bot».
  6. Скопируйте его уникальный токен, щелкнув по специально отведенной для этого кнопке.
  7. Вставьте токен вместо надписи, сделайте то же самое с именем бота и используемым префиксом (префикс нужен для вызова команд и всегда идет перед ними, например !play, а вы можете заменить восклицательный знак на любые другие символы).
  8. Как только вся информация была заменена, снова вызовите меню «File» и выберите вариант «Save As».
  9. Создайте отдельную папку для файлов бота, назовите этот как config и подтвердите сохранение.

Шаг 3: Создание тела бота

Чтобы бот мог выполнять основные функции, ему нужно создать «тело», основной код, необходимый для запуска и работы на сервере. Это будет отдельный файл с любым названием, но важно, чтобы он был сохранен в том же месте, где был создан словарь ранее.

  1. В среде разработки откройте меню «File» и создайте новый файл.
  2. Вставьте туда три команды, которые предназначены для импорта установленных библиотек и созданного ранее файла:

    import discord
    from discord.ext import commands
    from config import settings

  3. Добавьте строку bot = commands.Bot(command_prefix = settings['prefix']) # Так как мы указали префикс в settings, обращаемся к словарю с ключом prefix.
  4. Основной код таков:

    @bot.command() # Не передаём аргумент pass_context, так как он был нужен в старых версиях.
    async def hello(ctx): # Создаём функцию и передаём аргумент ctx.
    author = ctx.message.author # Объявляем переменную author и записываем туда информацию об авторе.

    Ожидать ctx.send(f’Приветствую, {author.mention}!’) # Вводим упоминание автора в сообщение, обращаясь к переменной автор.

  5. Обращайте внимание на комментарии, идущие после знака «#» — они позволят разобраться с предназначением каждой строки.
  6. Команда для запуска выглядит так: bot.run(settings['token']) # Обращаемся к словарю settings с ключом token, для получения токена.
  7. По завершении снова откройте уже знакомое меню и перейдите к сохранению файла.
  8. Задайте для него любое название и поместите в папку с конфигом.

Вы можете скопировать полный код, упомянутый выше, когда это необходимо.

import discord
from discord.ext import commands
from config import settings

bot = commands.Bot(command_prefix = settings['prefix'])

@bot.command() # Не передаём аргумент pass_context, так как он был нужен в старых версиях.

async def hello(ctx): # Создаём функцию и передаём аргумент ctx.

author = ctx.message.author # Объявляем переменную author и записываем туда информацию об авторе.

await ctx.send(f'Hello, {author.mention}!') # Выводим сообщение с упоминанием автора, обращаясь к переменной author.

Bot.run(settings[‘token’][0]) # Чтобы получить токен, перейдите в словарь настроек и найдите ключ для токена.

Помните, что вы можете использовать другую стратегию, удалив файл со словарем и создав немного другое «тело» для бота. Проверьте, подходит ли вам этот код, и убедитесь, что указанные строки с токеном нужно отредактировать под себя.

import discord
from discord.ext import commands

ТОКЕН = 'Ваш токен' бот = Commands.Bot(команда_префикс='!')

@bot.command(pass_context=True) # разрешаем передавать аргументы

async def test(ctx, arg): # создаем асинхронную функцию бота

await ctx.send(arg) # отправляем обратно аргумент

bot.run(TOKEN)

Шаг 4: Запуск бота

Чтобы запустить бота для проверки, необходимо создать основной файл в Шаге 3. Скомпилируйте его прямо через среду разработки или используйте «Командную строку». Введите python bot.py (название созданного файла) в поле «Командная строка». Если файл найти не удалось, укажите его полный путь, например python C:\Users\USER_NAME\bot.py.

Проверьте текущее состояние бота в Дискорде. Он должен быть в разделе «В сети» в списке участников с зеленой точкой.

Воспользуйтесь своими собственными знаниями или открытыми источниками, чтобы написать команды для бота или выполнять другие задачи, которые он должен выполнять. Для этого вы можете изменить свой основной файл или создать дополнительные, объединив их в один проект.

Теперь у вас есть собственный Discord бот. Как вы видите, его создание — это вполне выполнимая работа, а не магия, доступная только избранным. Ты выполнил все важные этапы, начиная с регистрации приложения на портале разработчика и заканчивая написанием простого кода, который заставляет бота оживать.

Самое главное — вы поставили основу, и это только начало. С помощью этих знаний вы сможете постепенно добавлять ему новые функции, такие как модерация, музыка, веселые команды или полезные утилиты для сервера. Не бойся экспериментировать и искать информацию в Интернете, когда возникнут вопросы.

Помни, что лучший способ научиться — это практиковать. Запускай бота, тестируй его, находите ошибки и исправляйте их, и со временем вы узнаете, как управлять своим творением и делать его по-настоящему полезным и уникальным для вашего сообщества. Удачи в разработке!

Поделиться с друзьями
Дмитрий Соколов

Разработчик ПО и энтузиаст «железа», который совмещает практический опыт программирования с глубоким интересом к устройству компьютеров.

Оцените автора
Добавить комментарий