Quickstart Guide
This is a quickstart guide for writing your first Discord bot, specifically geared towards those with light programming and/or Python experience.
Guide Outline
Before You Start
This quickstart guide assumes the following:
- You use and understand Discord.
- You own your own Discord server or hold administrator privileges for a Discord server.
- You understand the basics of Python or a similar programming language.
- You have the latest version of Python installed on your computer.
For guidance with the above, refer to the following resources:
Set Up Your Discord Developer Portal
Navigate to the Discord Developer Portal and log in with your Discord account. You may need to confirm your email address when you first connect your account to the Developer Portal. When you’ve successfully linked your account, you’ll see the main Developer Portal page:
Create a Bot Application
1. Click the New Application button on the top-right of the above page.
2. Give your bot application a name, and review and agree to the Discord Developer Terms of Service and Developer Policy. Click Create on the bottom-right of the window.
You should then see the following page:
3. Optionally, add additional information about your bot in the description and add tags to describe the content and functionality. You may also complete this later.
4. Select Bot from the Settings menu on the left side of the page, then Add Bot. When prompted to add a bot to this app, select Yes, do it!! After creation, you’ll see your bot’s settings:
5. You may optionally add an icon for your bot or change its username.
Link Your Bot to Your Server
You’ll need your bot’s unique API token to connect it with your server and perform fun commands.
Note: Keep your API token private (otherwise other people can control your bot) and save it to a secure location. Keep this in mind if you plan to host your code publicly, such as on GitHub. This guide covers some basic information, and Black Tech Divas offers a more detailed tutorial on how to keep your API keys private. You can reset your token at anytime if it is accidentally shared, but you’ll need to update it in your code.
1. Click Reset Token, then Yes, do it! A long string of text, your API token, will appear:
(I have reset my API token since creating this guide. Your API token will be different!)
2. Click Copy. Open a text editor, paste the token, and save this text to a secure location. We’ll use it soon.
Next you’ll need to set the permissions, what your bot is able to do, scope, and where your bot can access information. We’ll first set the scope.
3. Under Settings on the left-side of the page, select OAuth2.
Note: OAuth2 is a common tool that allows an application or website to access information from another host. In our case, it will allow our bot to access resources from Discord.
4. Under Scopes, select bot.
5. You’ll now see various Permissions appear. For now, select Send Messages only.
6. Locate the Generate URL section at the bottom of the page. Select Copy, and paste this URL into a new tab in your web browser.
7. Select the server you’d like to host your bot under the Add-to-Server drop-down, then click Continue. Finally, select Authorize to confirm. You may need to complete a CAPTCHA.
You should see a message in your server’s main text channel confirming that your bot joined your server. It will also be listed in the server members on the right.
Note: If you want to enable more functions in your bot, you’ll need to come back to the Permissions section in the Developer Portal and select the relevant permissions. You will also need to copy the new URL and repeat the above steps to connect and authorize your bot to perform certain actions in your server. It is best practice to only select the permissions you actually use. Refer to the Discord Documentation to learn more about what each permission does.
Set Up Python
Access Command Line
Computer operating systems allow command line access in different ways. Follow the instructions for your operating system below.
Mac 1. On your keyboard, press Command and the space bar to open Spotlight search. Type terminal and press the enter key on your keyboard. This will open a new Terminal window which acts as a way to access the command line on a Mac. Windows 1. In your Windows search bar, search for command prompt. Click on the application icon to open it.
Install discord.py Library
We will use pip, the preferred installer program for Python, to download the discord.py Python library. This allows our code to interact with Discord.
2. Type the following in your command line window and press the enter key:
pip install -U discord.py
Install dotenv Library
While this step is optional, it is best practice to install this library to separate our private API token from our Python code.
In your command line window, type the following command and press the enter key:
pip install -U python-dotenv
Write Code!
We finally get to code!
Edit Initial Templates
We’ll create two files: an .env file that will store our API token, and a .py file into which we’ll write our Python code. You could store your API token directly in the .py file, but separating it into a different file enables you to share your Python code without sharing your private API token. Create one folder that will hold these files.
Create .env File
1. Create a text file named .env in the folder of your choice. Add the following two lines to this file:
2. Replace <paste-your-token-here> with your unique API token string.
Create .py File
1. Next, create a Python file named hello_world.py in the same folder. Add the following code to this file:
Note: The code requires the first three import lines. The next two lines support in hiding your personal token from this file by pulling it from the env file created earlier. The next three lines link to the Discord client with specific permissions. @client.event is a decorator function, meaning it takes other functions, like on_ready, as arguments. This is how Discord handles events. Finally, the client runs with your token.
2. Run your code by typing the following into your command line and pressing the enter key:
py -3 hello_world.py
Successful code will display the message “The bot has logged in!” on your command line, and your bot will post a message in your Discord server:
Bot Suggestions
Looking for more ideas for your bot? More basic examples are below. Note that you will need to update your bot permissions in the Discord Developer Portal for some.
Respond to Messages
To have your bot respond to messages, ensure both send messages and read message history permissions are allowed. You also need to enable message content intent under the Bot settings in your Discord Developer Portal:
Then, add the following code to your Python file:
If a user sends the message Hello in the server, the bot will reply with Hi there!. You can add to this code so your bot responds to multiple messages with distinct responses.
Tag @everyone
You can code your bot to send a message that tags @everyone on the server, which can be useful for announcements. This requires enabling an additional permission, mention_everyone, but otherwise works similarly to sending a normal message. The following code shows this tag added to our original message:
Respond to Commands
In the previous examples, we created a client object in our code to communicate with Discord. To utilize bot commands, we will instead use a bot object. You also need to enable message content intent under the Bot settings in your Discord Developer Portal (see Respond to Message). Below is a full Python file that has creates three commands:
On the server, invoke a command by typing $ followed by the name of the command:
For more examples, refer to the discord.py documenation.
- Emilie Barnard
A quickstart guide for writing your first Discord bot, geared towards those with light programming and/or Python experience
Бот Discord: как создать и добавить на сервер
Чтобы подключить бота Discord в ваше приложение, вам понадобятся токен бота (для настройки модуля) и ID канала, в который вы будете отправлять сообщения (для формы отправки).
Расскажем, как создать сервер, канал и бота Discord, а после добавить созданного бота на ваш сервер. О том, как настроить отправку сообщений на платформе AppMaster.io, можно прочитать в этой статье.
Для начала вам нужно создать новый сервер в Discord (или получить права администратора на уже существующем). Откройте страницу вашей учетной записи Discord в браузере — так будет удобнее перемещаться между страницами настроек.
1. Нажмите на «+» на левой панели.
2. Выберите шаблон сервера в зависимости от вашей сферы или создайте собственный.
3. Укажите, для каких целей хотите его использовать.
4. Выберите изображение будущего сервера и укажите его название (1), затем нажмите Create. (2).
5. Сервер создан. По умолчанию в него уже добавлены два канала — текстовый и голосовой (1). Чтобы изменить настройки канала, нажмите значок шестеренки (2). Добавить новый канал можно, нажав на «+» рядом с названием раздела. Мы не будем создавать новый канал и для подключения нашего бота используем уже существующий канал general.
6. Теперь нужно получить ID выбранного канала. Для этого нужно сначала включить режим разработчика в настройках вашего профиля. Нажмите на значок шестеренки рядом с вашим никнеймом и фотографией.
7. Перейдите в раздел APP SETTINGS, на вкладку Advanced (1) и переместите селектор Developer mode — режим разработчика активируется (2).
8. Вернитесь из меню настроек и кликните по нужному каналу правой клавишей мыши (1), во всплывающем меню выберите Copy ID — идентификатор вашего канала будет скопирован (2). Сохраните его в любом текстовом документе, чтобы не возвращаться к этому шагу.
Чтобы создать бота, перейдите на специальную страницу Discord для разработчиков: https://discord.com/developers/. Откройте ее в соседней вкладке браузера, не выходя из вашей учетной записи Discord.
Сначала вам нужно создать приложение, затем в этом приложении создать бота и настроить для него разрешения, и только после этого — добавлять бота на сервер.
1. На вкладке Applications выберите New Application.
2. Введите название будущего приложения (1) и нажмите Create (2).
3. Приложение создано. Перейдите не вкладку Bot (1) и нажмите Add Bot, чтобы добавить нового бота.
4. Согласитесь добавить бота в ваше приложение.
5. Бот создан. На вкладке Bot отобразится вся информация о нем. Тут можно изменить его имя, добавить изображение и скопировать токен бота (1). Этот токен понадобится вам для настройки модуля Discord на платформе Appmaster.i. Каждый раз при внесении изменений портал разработчика будет предлагать вам сохранить их (2).
Сохраните токен бота, чтобы при последующей настройке не возвращаться к этому шагу.
6. Теперь перейдите на вкладку OAuth2 (1) — тут можно настроить разрешения и получить ссылку на вашего бота. В разделе SCOPES выберите bot(2), в BOT PERMISSIONS отметьте разрешения, которые хотите ему предоставить, в нашем случае — только отправка сообщений, поэтому выберите Send Message(3). После скопируйте автоматически сгенерированную Discord ссылку(4).
7. Вставьте скопированную ссылку в адресную строку браузера и перейдите по ней — откроется окошко вашего приложения. Выберите ваш сервер в раскрывающемся списке (1) и нажмите Continue (2).
8. Убедитесь, что приложению (а значит, и созданному в нем боту) даны только необходимые разрешения, после чего добавьте его на ваш сервер.
9. Теперь вернитесь на ваш сервер. Бот оставил приветственное сообщение — значит, что он успешно добавлен и функционирует.
Итак, все готово. Вы получили токен бота для модуля Discord и ID канала для формы отправки сообщения. Теперь перейдите в AppMaster.io Studio и настройте отправку сообщений из вашего приложения, следуя инструкции Модуль Discord: подключение бота и отправка сообщений.
Следите за нашим блогом и присоединяйтесь к чату комьюнити, чтобы узнавать о новостях платформы и новых статьях.
Подробнее о том, что такое модули и как их настраивать — в обучающем видеокурсе AppMaster.io 101.
а как запрограммировать бота?
если нет навыков python и JavaScript
Что делать если мне написали вот это:
Я не знаю как это исправить но лучше проверь сохранен ли токен не генерировал ли ты его снова если регенирировал снова скопируй
Выключи в настройках REQUIRES OAUTH2 CODE GRANT
как сделать так что бы он был в сети
Лучше скачай BDFD там запусти его за просмотр рекламы
Реклама = 2 часа
Капча = 30 минут
а где его скачать?
Play market бдфд есть
Есть также сервер бдфд на русском чтоб коды брать от туда
я вроде сделал все как надо, как узнать на какую команду, скажем так "откликается" бот?
Я сделал всё что было задано создал новый сервер вставил сыллку на приглашение вставлял айди канала ничего не даёт
конструкторы в помощь
А что если не получается скопировать URL? Пишут Please enter a redirect uri.Помогите пожалуйста:(
А все нашла, спасибо большое!
Скажи как ты эту ссылку нашла?
Но в данном приложении Discord не обойтись без минусов:
1)Разнообразный коллектив который не всегда подстать себе найдешь;
2)В приложении дискорд на жалобы сквозь пальцы смотрят.могут и не отреагировать;
3)Конфиденциальность в общении не в почёте.
4)Странное комньюнити которое как "стая пчел".
5)На жалобы техобслуживание долго не реагирует.но попытаться можно.
6)Само общество дискорда может окунуть тебя в грязь.Если им что-то не нравится.У них своё представление о том или ином человеке.Они живут в своём собственном мирке под названием Discord.
7)Есть определенные "особые" личности которым всё непочем.и они суются куда не следует.
Сейчас проблема русскоязычного дискорда независит от сервера.
Сейчас весь русскоязычный дискорд самое поганое место обитания и общения.
Как создать бота Discord с Node.js, Discord.js и OpenAI GPT-3
В настоящее время ИИ набирает стремительные темпы развития, и многие разработчики начинают задействовать его в создании проектов. Однако обучение собственного ИИ может оказаться непростой задачей для новичков в этой области.
К счастью, в последние годы работать с ИИ стало намного проще: все благодаря таким компаниям, как OpenAI, которые публикуют API для взаимодействия с предварительно обученными крупными нейронными сетями.
В данном руководстве мы создадим гениального бота Discord, который сможет отвечать на сложные вопросы и выполнять требуемые задания. Для этой цели воспользуемся Node.js, Discord.js и OpenAI API для GPT-3, одной из самых крупных и умных обученных нейронных сетей.
Переходим от слов к делу и погружаемся в увлекательную работу с ИИ.
Требования к проекту
Для создания проекта потребуются пара аккаунтов и установка нужного ПО.
Аккаунты:
- бета-аккаунт OpenAI (регистрация по ссылке);
- аккаунт Discord (скачивание и регистрация по ссылке).
Установка ПО:
- Node.js (скачивание и установка по ссылке);
- VS Code (скачивание и установка по ссылке), если отсутствует редактор кода.
Подготовка Discord
Шаг 1. Вход в Discord и создание сервера
Данный этап касается тех, у кого нет сервера. Обратите внимание, вы должны иметь собственный сервер или знать кого-то с правом на добавление аккаунта бота на дальнейших этапах. Создаем новый сервер, нажимая на значок + в левом боковом меню.
Шаг 2. Добавление нового приложения разработчика
Переходим по ссылке https://discord.com/developers/applications , в верхнем правом углу нажимаем кнопку New Application и создаем новое приложение:
Шаг 3. Именование приложения
Выбираем имя AiBot и нажимаем Create :
Шаг 4. Создание бота
Переходим в раздел Bot в левом боковом меню и нажимаем Add bot в правой части экрана:
Шаг 5. Создание токена бота
Нажимаем на кнопку сброса Reset token для создания нового токена бота. Данный токен является конфиденциальной информацией и не допускает разглашения. Сохраняем его в текстовом файле для дальнейшего использования, поскольку он отображается только один раз.
Шаг 6. Установка области действия бота и выбор разрешений
В меню настроек переходим в раздел OAuth2 > URL Generator :
Устанавливаем область действия на bot и выбираем следующие разрешения: Read messages / View channels (чтение сообщений/просмотр каналов), Send messages (отправка сообщений). Благодаря таким настройкам бот сможет читать и писать сообщения в чате сервера:
Шаг 7. Копирование URL-приглашения и вставка его в браузер
Прокручиваем вниз и находим Generated URL (сгенерированный URL-адрес). Он выглядит следующим образом:
Вставляем этот URL в адресную строку браузера. Выбираем сервер, предназначенный для авторизации бота, и нажимаем Next или Weiter :
Принимаем необходимые разрешения и завершаем процедуру нажатием Authorize .
Шаг 8. Встреча с созданным ботом на сервере
Закрываем вкладку и возвращаемся на сервер. Если все сделано правильно, то бот появляется среди участников сервера:
Активация бота ИИ
Теперь, когда бот отображается на сервере, приведем его в действие с помощью кода.
Шаг 9. Инициализация нового проекта
Выбираем место на компьютере, создаем там новую папку и называем ее aiBot . В данном случае папка на рабочем столе:
Открываем приложение VSCode и вновь созданную папку в разделе File > Open Folder :
В строке меню в разделе Terminal > New Terminal открываем новый терминал, который появляется снизу.
В терминале с помощью следующей команды инициализируем новое приложение Node.js:
Нажимаем Enter . В файловом проводнике слева видим результат выполнения команды — создание нового файла package.json :
Шаг 10. Создание нового файла с кодом для бота
Редактируем файл package.json , чтобы при запуске выполнялся скрипт файла с кодом для бота.
Нажимаем на значок New File для создания нового скрипта Node. Присваиваем файлу имя bot.js и пишем в нем код по типу “Hello world”, после чего сохраняем:
Далее переходим к файлу package.json и редактируем его, а именно вносим изменения в строки с main и start , как показано на скриншоте:
Теперь выполняем команду:
В терминале выводится сообщение Hello AI bot! :
Шаг 11. Установка зависимостей Discord.js
Мы сделали все необходимое для выполнения скрипта bot.js , приступаем к установке библиотеки Discord.js для взаимодействия с Discord.
В терминале выполняем команду:
Данная команда устанавливает библиотеку Discord.js, которая упрощает взаимодействие с API Discord. Если вы получаете только предупреждения, то проблем быть не должно. Однако в случае возникновения ошибок следует поискать решения в интернете.
Шаг 12. Написание кода для активации бота
Открываем файл bot.js , в котором пишем следующий код:
Заменяем <YOUR_SAVED_BOT_TOKEN> на токен, сохраненный для дальнейшей работы на 5-ом шаге руководства, и заключаем его в кавычки. Далее сохраняем файл.
Токен не подлежит разглашению, поэтому не следует отправлять код для данного проекта прямо на GitHub. Можно воспользоваться пакетом dotenv в сочетании с файлом .gitignore и таким образом безопасно сохранить токен. В этом же руководстве больше хотелось сосредоточиться на простоте процесса, чем на IT-безопасности.
Шаг 13. Бот активирован
В терминале выполняем следующую команду и смотрим на сервер: в сети должен появиться бот.
Устранение ошибок. При получении сообщения об ошибке Error: Cannot find module ‘node:events (Ошибка: Не удается найти модуль ‘node:events ) убедитесь, что установленная версия Node.js новее, чем 16.6.0. Узнать текущую версию Node можно с помощью команды:
Если же ваша версия предшествует 16.6.0, перейдите на сайт Node.js и установите поновее. Вы всегда можете закрыть команду, которая зависла в терминале с помощью:
Пробуем перезапустить команду npm start и снова проверяем сервер Discord. Бот AiBot должен появиться в сети!
Шаг 14. Обеспечение бота кодом для ответов на сообщения на сервере
Редактируем файл bot.js , снабжая его кодом для ответа на сообщения, содержащие восклицательный знак ! в качестве первого символа:
Сохраняем изменения. Перезапускаем приложение, нажимая в терминале Ctrl + C и снова выполняя команду npm start .
Отправляем на сервер сообщение с восклицательным знаком в качестве первого символа. В ответ бот AiBot реагирует приветственной фразой Hello from AI bot . Он не будет отвечать на сообщения, не соответствующие заданному формату:
Подготовка OpenAI GPT-3
Созданный бот отвечает на сообщения, теперь добавим ему интеллекта. Для этого необходимо получить токен с сайта OpenAI.
Шаг 15. Получение токена OpenAI API
Переходим по ссылке https://beta.openai.com/account/api-keys . На момент создания руководства сервис GPT-3 все еще находился на этапе бета-тестирования. Возможно, сейчас вышеуказанный URL уже изменился. В этом случае нужно войти в свой аккаунт OpenAI, перейти в раздел Personal в правом верхнем углу веб-сайта, нажать на Personal и выбрать опцию просмотра ключей API View API keys :
Открывается следующий раздел:
Нажимаем на Reveal (“Показать”) и сохраняем ключ API в надежном месте. Нельзя разглашать ключи API или загружать их на GitHub. В случае отсутствия секретного ключа нажимаем на Create new secret key для его создания.
Отметим, что бесплатный аккаунт ограничивает размер и, возможно, количество задаваемых ИИ вопросов.
Подключение к OpenAI GPT-3
Получив требуемый токен с сайта OpenAI, приступаем к написанию кода для взаимодействия с GPT-3.
Шаг 16. Установка библиотеки OpenAI
Переходим в VSCode. Если бот в настоящий момент работает, останавливаем его командой Ctrl + C в терминале.
Устанавливаем библиотеку OpenAI для Node.js следующей командой:
Шаг 17. Создание скрипта для взаимодействия с GPT-3
В VSCode создаем новый файл ai.js :
Вставляем в этот файл нижеуказанный код и заменяем <YOUR_OPENAI_API_KEY> на токен API, полученный на 15-м шаге. Не забываем заключить его в двойные кавычки:
Шаг 18. Проверка подключения к OpenAI GPT3
Сохраняем файл и переходим в терминал. Далее выполняем команду:
Если все сработало правильно, то в терминале появится ответ ИИ:
Прокачаем бота суперинтеллектом
Почти готово! Уже проделана большая работа! Осталось соединить все части вместе и вывести бота на уровень супергения.
Шаг 19. Подключение бота Discord к GPT-3
В файле ai.js удаляем примерный вызов функции ask и экспортируем функцию с помощью module.exports . Помимо этого, убираем console log и возвращаем ответ в функции ask :
Переходим в файл bot.js и применяем следующие изменения:
Сохраняем изменения. В последний раз с помощью Ctrl + C останавливаем работу бота и перезапускаем его командой:
Переходим на сервер Discord и проверяем, все ли работает должным образом. Напишем в чате сообщение с вопросом или заданием, поставив в начале восклицательный знак:
На следующем скриншоте бота просят рассказать анекдот про программистов:
— Why did the programmer quit his job? Почему программист бросил свою работу?
— Because he didn’t get arrays (игра слов: arrays — массивы и a raise — прибавка к зарплате). Потому что он не получил прибавки к зарплате.
Как создать бота в Discord
В статье мы расскажем о том, как создается приложение для бота, выполняется первая авторизация на сервере и пишется общий код для нормализации работы. Имея «каркас», вы уже можете добавлять пользовательские команды и сразу проверять, как они работают.
Создание приложения и авторизация бота
Далее речь пойдет о двух разных методах создания бота — при помощи JavaScript и Python. Каждый из них имеет свои особенности и нюансы, но вот метод создания приложения и авторизации бота на сервере остается одинаков, поскольку не зависит от выбранного языка программирования. После этого вы сможете перейти к подбору библиотеки и работе с кодом.
- Перейдите по ссылке выше, чтобы оказаться на главной странице портала для разработчиков в Discord. Используйте личные авторизационные данные для входа в аккаунт.
- Создайте новое приложение, нажав кнопку «New Application».
Выбор среды разработки
Перед началом работы с кодом в упомянутых языках программирования уточним, что вам понадобится установить текстовый редактор или специальную среду разработки, поддерживающую синтаксис Python или JavaScript (в зависимости от выбранного). Конечно, можно использовать просто «Блокнот», но по удобству он уступает специализированным программам. Просмотрите их списки в обзорах по следующим ссылкам и выберите для себя подходящий софт.
Вариант 1: Python и библиотека discord
Если ранее вы не сталкивались с языками программирования или знакомы с ними только поверхностно, создание бота для Discord на Python — лучший выбор. Этот ЯП проще учится, компактный и имеет логически понятный синтаксис, поэтому идеально подходит новичкам. К тому же в сети есть огромное количество исходников с различными командами или уже готовыми ботами, которые ничего не мешает скопировать и использовать в своих целях. В следующих шагах вы узнаете, как создать «каркас» бота на Python и запустить его, чтобы проверить работу.
Шаг 1: Установка Python и библиотеки discord
По умолчанию в Windows нет встроенных функций и утилит, предназначенных для работы с Питоном, поэтому их придется установить отдельно, не забыв про подключаемую библиотеку discord, которая позволит взаимодействовать с полезными функциями и командами, связанными исключительно с Дискордом.
- Воспользуйтесь ссылкой выше, чтобы перейти на официальный сайт Python и нажмите кнопку для загрузки его последней версии.
- На новой странице отыщите инсталлятор для Windows и начните его загрузку.
- Дождитесь завершения скачивания и запустите установщик.
- Можно запустить установку без изменений, но обязательно отметьте галочкой «Add Python X.X to PATH», чтобы все переменные среды добавились автоматически и не возникло проблем при дальнейшем вводе команд.
- Ожидайте завершения установки и на всякий случай перезагрузите компьютер, чтобы все изменения вступили в силу.
- Откройте «Командную строку» удобным для вас способом, например, отыскав приложение в меню «Пуск».
- Напишите команду pip install discord и подтвердите ее нажатием клавиши Enter.
- Начнется загрузка файлов и в консоли «побегут» строки. Не закрывайте данное окно до завершения скачивания.
- Как только появилась информация «Successfully installed», закрывайте «Командную строку» и переходите далее.
Если Python у вас установлен, но команда для добавления подключаемой библиотеки не работает, выполните обновление компонента PIP, о чем рассказывается в другой статье на нашем сайте. Там же вы найдете инструкцию и по изменению переменных среды, если этого не произошло во время установки.
Шаг 2: Создание словаря бота
В этом варианте мы будем использовать словарь для бота, то есть конфигурационный файл, хранящий в разных именах значения токена, префикса и имени бота. Это существенно упрощает весь процесс написания кода и не заставляет каждый раз вспоминать данные приложения, чтобы ввести их в одной строке.
- Начните с запуска IDLE, отыскав добавленное приложение через меню «Пуск». Если вы скачали другую среду разработки, откройте ее и создайте новый проект на базе Python.
- После открытия нового окна вызовите меню «File» и выберите пункт «New File». Сделать это можно и при помощи комбинации клавиш Ctrl + N.
- В новом окне, которое и предназначено для написания кода, вставьте блок
Шаг 3: Создание тела бота
Для обеспечения базового функционирования бота ему нужно создать «тело» — основной код для запуска и работы на сервере. Понадобится отдельный файл, который можно назвать как угодно, но обязательно сохранить его в том же месте, где находится созданный ранее словарь.
- В среде разработки откройте меню «File» и создайте новый файл.
- Вставьте туда три команды, которые предназначены для импорта установленных библиотек и созданного ранее файла:
@bot.command() # Не передаём аргумент pass_context, так как он был нужен в старых версиях.
async def hello(ctx): # Создаём функцию и передаём аргумент ctx.
author = ctx.message.author # Объявляем переменную author и записываем туда информацию об авторе.
Далее вы видите полный код, о котором шла речь выше, поэтому при надобности просто можете скопировать его.
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,
bot.run(settings[‘token’]) # Обращаемся к словарю settings с ключом token, для получения токена
Дополнительно уточним, что вы можете использовать альтернативную схему, избавившись от файла со словарем и получив немного другое «тело» для бота. Решите, подходит ли вам этот код больше. Указанные строки с токеном нужно будет отредактировать под себя.
import discord
from discord.ext import commands
TOKEN = ‘Ваш токен’
bot = commands.Bot(command_prefix=’!’)
@bot.command(pass_context=True) # разрешаем передавать аргументы
async def test(ctx, arg): # создаем асинхронную функцию бота
await ctx.send(arg) # отправляем обратно аргумент
Шаг 4: Запуск бота
Теперь можно запустить бота для проверки, для чего понадобится созданный в Шаге 3 основной файл. Скомпилируйте его прямо через среду разработки или вызовите «Командную строку» и введите там python bot.py , где bot.py — название созданного файла. Если файл найти не удалось, укажите его полный путь, например python C:\Users\USER_NAME\bot.py .
Перейдите в Дискорд и проверьте текущее состояние бота. Он должен отображаться в списке участников в разделе «В сети» вместе с зеленой точкой.
Воспользуйтесь открытыми источниками или собственными знаниями, чтобы написать команды для бота или реализовать другие задачи, которые он должен выполнять. Для этого редактируйте его основной файл или создавайте другие, связывая все в единый проект.
Вариант 2: JavaScript и discord.js
Следующий вариант создания бота для Discord — использование JS и подключаемой библиотеки discord.js, которая добавляет все необходимые компоненты для работы с ботами. Принцип действий отличается от предыдущего варианта лишь инструментами и разницей в синтаксисах языков программирования, но остается примерно таким же.
Шаг 1: Установка Node.js и discord.js
Расширить функциональность JS и превратить его в язык программирования общего назначения поможет платформа Node.js, установкой которой и рекомендуем заняться в первую очередь. Для этого выполните простейший алгоритм действий:
- Откройте страницу Node.js в интернете и выберите последнюю рекомендованную версию для скачивания.
- Дождитесь получения исполняемого файла и запустите его.
- Следуйте появившимся на экране инструкциям, завершите установку и перезагрузите компьютер.
- Раскройте «Пуск» и через поиск отыщите классическое приложение «Командная строка».
- В ней напишите команду npm init и активируйте ее нажатием Enter.
- Создайте стандартный пакет с пользовательской информацией, нажимая Enter после ввода каждого параметра, или оставьте все по умолчанию.
- Когда все параметры пакета окажутся заданы, вы получите предупреждение, которое нужно подтвердить, снова нажав Enter.
- Введите команду npm install для установки недостающих стандартных компонентов.
- Дождитесь завершения их загрузки и появления строки ввода.
- Напишите npm install discord.js .
- Как только и эта команда выполнена, откройте папку своего пользователя и убедитесь в наличии созданных файлов пакета формата JSON.
Шаг 2: Работа с файлами бота
Все действия, связанные с файлами бота и программным кодом, рассмотрим в рамках одного этапа, поскольку делить их на несколько просто не имеет смысла. Вам понадобятся три основных файла, куда и вписываются все необходимые функции: один отвечает за конфигурацию бота, второй — за «тело», а третий хранит список добавленных команд.
- Для начала создайте файлы «bot.js» и «config.json» в одном каталоге.
- Откройте через текстовый редактор или среду разработки «config.json» и добавьте туда такие строки:
<
«token» : «Ваш_токен»,
«prefix» : «Ваш_префикс»
>
const Discord = require(‘discord.js’); // Подключаем библиотеку discord.js
const robot = new Discord.Client(); // Объявляем, что robot — бот
const comms = require(«./comms.js»); // Подключаем файл с командами для бота
const fs = require(‘fs’); // Подключаем родной модуль файловой системы node.js
let config = require(‘./config.json’); // Подключаем файл с параметрами и информацией
let token = config.token; // «Вытаскиваем» из него токен
let prefix = config.prefix; // «Вытаскиваем» из него префикс
robot.on(«ready», function() <
/* При успешном запуске, в консоли появится сообщение «[Имя бота] запустился!» */
console.log(robot.user.username + » запустился!»);
>);
robot.on(‘message’, (msg) => < // Реагирование на сообщения
if (msg.author.username != robot.user.username && msg.author.discriminator != robot.user.discriminator) <
var comm = msg.content.trim() + » «;
var comm_name = comm.slice(0, comm.indexOf(» «));
var messArr = comm.split(» «);
for (comm_count in comms.comms) <
var comm2 = prefix + comms.comms[comm_count].name;
if (comm2 == comm_name) <
comms.comms[comm_count].out(robot, msg, messArr);
>
>
>
>);
robot.login(token); // Авторизация бота
const config = require(‘./config.json’); // Подключаем файл с параметрами и информацией
const Discord = require(‘discord.js’); // Подключаем библиотеку discord.js
const prefix = config.prefix; // «Вытаскиваем» префикс
function test(robot, mess, args) <
mess.channel.send(‘Test!’)
>
var comms_list = [ <
name: «test»,
out: test,
about: «Тестовая команда»
>];
// Name — название команды, на которую будет реагировать бот
// Out — название функции с командой
// About — описание команды
Для дальнейшей работы с командами достаточно будет объявить их функции и пополнить список соответствующими блоками кода. На примере готовый файл «comms.js» выглядит так:
const config = require(‘./config.json’);
const Discord = require(‘discord.js’);
const prefix = config.prefix;
const versions = config.versions;
function test(robot, mess, args) <
mess.channel.send(«Тест!»)
>
function hello(robot, mess, args) <
mess.reply(«Привет!»)
>
var comms_list = [ <
name: «test»,
out: test,
about: «Тестовая команда»
>,
<
name: «hello»,
out: hello,
about: «Команда для приветствия!»
>
>
Шаг 3: Запуск бота
Первые действия с ботом на JavaScript завершены, а значит, можно запустить его и проверить работу. Для этого вам понадобится выполнить следующее:
- Откройте меню «Пуск» через поиск отыщите «Командную строку» и запустите ее.
- Введите node bot.js , где bot.js — название основного файла с кодом для бота. Если он находится не в вашей домашней папке, указывайте полный путь к файлу или сначала перейдите к расположению, используя команду cd .
Примеры полезных команд
В завершение этого варианта вкратце расскажем о двух полезных командах, которые могут пригодиться при настройке бота. Их можно использовать в качестве тестовых, когда работа над проектом еще находится на стадии развития. Первая команда — !clear — удаляет указанное количество сообщений в чате. Ее код выглядит следующим образом:
const arggs = mess.content.split(‘ ‘).slice(1); // Все аргументы за именем команды с префиксом
const amount = arggs.join(‘ ‘); // Количество сообщений, которые должны быть удалены
if (!amount) return mess.channel.send(‘Вы не указали, сколько сообщений нужно удалить!’); // Проверка, задан ли параметр количества
if (isNaN(amount)) return mess.channel.send(‘Это не число!’); // Проверка, является ли числом ввод пользователя
if (amount > 100) return mess.channel.send(‘Вы не можете удалить 100 сообщений за раз’); // Проверка, является ли ввод пользователя числом больше 100
if (amount <
mess.channel.bulkDelete(messages)
mess.channel.send(`Удалено $
>)
>;
delete_messages(); // Вызов асинхронной функции
Вторая команда предназначена для подбрасывания монетки и запускается путем ввода !heads_or_tails в чате. Здесь код не такой сложный, поскольку действий мало и бот должен откликнуться всего на один запрос без огромного количества переменных.
var random = Math.floor(Math.random() * 4) + 1; // Объявление переменной random — она вычисляет случайное число от 1 до 3
В интернете вы можете найти другие полезные команды, которые хотите включить в своего бота, однако для работы с ними все же понадобятся продвинутые знания в JavaScript или Python, чтобы самостоятельно исправлять ошибки или редактировать код под себя.