как создать приложение в discord
Создание бота Дискорд на основе discord.js
Предыстория
Я заинтересовался созданием бота для Discord, но всё что я нашёл, было пару видео на YouTube, да и то там просто писали код, без всяких пояснений. Поэтому я хочу начать серию статей по созданию ботов на основе discord.js.
Получение токена бота
Для начала нам нужно зайти на страницу создание приложений и нажать New Application.
После чего, нам предложат назвать наше приложение. Вводим желаемое название и нажимаем Create. Мы попадаем на страницу настройки приложения, где мы можем поменять название, аватар, описание и тд. Но нам это пока не нужно, переходим во вкладку Bot. И создаём бота.
Осталось только скопировать токен.
Подготовка среды разработки
Для начала нужно установить Node.js и Visual Studio Code (VS code), в последнем собственно и будет происходить процесс создания бота. Запускаем VS code. Открываем папку, в которой будет хранится наш бот. Нажимаем Вид->Терминал, после этого в нижней части приложения должен появится терминал.
Написания «тела» бота
Для начало нужно создать описание бота.
После ввода команды, она будет спрашивать вас данные о боте (можно оставить по умолчанию, просто нажав Enter). В конце она спросит правильно ли всё указано и выведет полученные ответы.
После ввода каждой команды, требуется немного подождать.
Примечание! После ввода команд, могут появится предупреждения, не бойтесь, ничего страшного.
Если вы всё сделали правильно, то в папке бота должно быть следующее.
Далее создаём файл botconfig.json, здесь мы будем хранить основные параметры бота.
Теперь создаём файл index.js, в него копируем следующий код.
И мы на финишной прямой! Пишем в терминале команду для запуска бота.
Примечание! Если вы поменяли название исходного файла, вам нужно указать его.
После чего остаётся добавить бота на сервер по полученной ссылке.
Создание простого Discord бота с помощью библиотеки discord.py
Асинхронная библиотека discord.py содержит все что нужно для бота, с помощью нее даже можно работать с голосовыми каналами сервера. В этой статье я расскажу как создать простенького бота для вашего discord сервера.
Получение токена и Client ID для вашего бота
Для получения токена и ID бота небходимо создать свое приложение и в разделе General Information скопировать Client ID.
А в разделе настроек создать бота и скопировать его токен. Задача не сложная, думаю все с этим справятся.
Собственно пишем бота
Устанавливаем discord.py с помощью pip:
После успешной установки создаем файл bot.py, где будем писать бота.
Импортируем все необходимое:
Создаем переменную с вашим токеном, про который я писал выше:
Для начала сделаем простенькую команду, аргумент которой бот будет просто пересылать:
И в конце запускаем бота с вашим токеном:
В итоге должно получится вот такое:
Теперь необходимо добавить бота на сервер. Сделать это можно с помощью ссылки:
Число необходимых прав можно получить в разделе настроек бота.
Теперь можно запускать бота:
После нескольких секунд, можно заметить его в сети:
И наконец-то попробовать отправить команду:
Заключение
Вот так можно легко запустить у себя на сервере бота. Как можно заметить библиотека делает практически все за тебя и остается только добавлять свой функционал с использованием python. В следующий раз я покажу как следить за событиями, подключатся к голосовым каналам (избегая проблем с linux и Windows), использовать роли и права участников и другое.
Создание Discord-бота, используя библиотеку discord.js | Часть №1
Введение
В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд.
Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая музыкой, системой экономики и распознаванием голоса ботом.
Начало работы
Если вы уже знакомы с приведёнными ниже материалами, — смело можете пролистать этот раздел.
Для начала работы с кодом нам нужно установить среду разработки, это может быть:
Среда разработки выбирается по удобству использования и практичности, она у вас может быть любая, но мы рассмотрим её на примере Visual Studio Code, так как она является одной из самых приемлемых для новичков, а также для опытных программистов.
Для установки переходим по этой ссылке.
Выбираем свою операционную систему и запускаем скачивание.
Для создания бота мы используем среду выполнения node.js. Для её установки нам необходимо перейти на этот сайт.
На данный момент нас интересует версия долгосрочной поддержки (LTS), скачиваем её.
В Visual Studio Code присутствует возможность устанавливать расширения.
Для этого, кликните по отмеченной ниже иконке.
В открывшемся окне вписываем название название/идентификатор нужного нам расширения, после чего устанавливаем его.
Из полезных расширений могу отметить:
Создание бота
Теперь, когда вы установили все нужные компоненты, мы можем приступить к созданию самого бота.
Здесь всё просто. Переходим на портал разработчиков и нажимаем на кнопку с надписью «New Application» — она находится в правом верхнем углу.
В открывшемся окне вписываем имя бота, после чего, нажимаем на кнопку с надписью «Create».
На этой странице мы можем изменить имя бота, загрузить для него иконку, заполнить описание.
Теперь наша задача — воплотить бота в жизнь. Для этого переходим во вкладку «Bot».
Нажимаем на кнопку с надписью «Add Bot» и воплощаем бота в жизнь.
Поздравляю! Вы создали аккаунт для вашего бота. Теперь у него есть тег, токен, ник и иконка.
Подготовка к написанию кода
После создания аккаунта для бота, мы должны установить нужные пакеты и модули, чтобы в дальнейшем он корректно работал.
Первым делом создаём папку, после чего открываем её в VS Code (Файл > Открыть папку) / (Ctrl + K Ctrl + O)
Далее нам нужно открыть терминал (Терминал > Создать терминал) / (Ctrl + Shift + `)
Теперь мы должны создать файл с неким «описанием» нашего бота, сделаем это через терминал.
Вписываем данную строку в терминал и нажимаем Enter:
После каждой появившейся строки нажимаем Enter или вписываем свои значения.
Значения в этом файле можно будет изменить в любой момент.
Далее, мы должны поочерёдно вводить в терминал эти строки:
«Install» также можно сокращать в «I», но необязательно.
Итого, если вы следовали инструкциям и всё сделали правильно, в вашей папке должны были появиться 3 объекта:
Написание кода
Для того, чтобы наш бот появился в сети и мог реагировать на команды, нам нужно написать для него код.
Существует множество вариантов для его написания: используя один файл, два, несколько, и т.д
Мы рассмотрим вариант с двумя файлами, так как его использовать очень легко и удобно, но у каждого варианта есть свои недостатки — например, у этого недостатком является сложность в написании начального кода.
Но не волнуйтесь, весь код вам писать не придётся.
Для начала, нам нужно где-то хранить основные параметры и информацию о боте.
Мы можем сделать это двумя способами:
Разберём хранение параметров в отдельном файле.
Итак, создаем файл config.json
Вставляем в него следующий код:
* Для получения токена зайдите на портал разработчиков, перейдите во вкладку «Bot» и скопируйте его.
* Самым распространённым среди разработчиков префиксом является !
Далее нам нужно создать файл bot.js и вставить в него данный код:
Теперь создаём файл comms.js, в нём будут сами команды.
В нём должен быть следующий код:
Чтобы добавить больше команд — просто объявляйте больше функций и добавляйте их в список, например:
И вот, мы вышли на финишную прямую!
Осталось всего ничего — запустить бота.
Для этого открываем терминал и вставляем в него следующую строку:
Готово! Бот запущен и вы можете им пользоваться, ура!
Чтобы пригласить бота на свой сервер, воспользуемся нам уже известным порталом разработчиков.
Перейдём во вкладку OAuth2, пролистаем чуть ниже, выберем «Bot» и отметим нужные боту привилегии.
Теперь осталось скопировать ссылку-приглашение и добавить бота на свой сервер.
Существует два способа:
Для этого, сначала мы должны скопировать ссылку-приглашение.
После чего перейти в файл bot.js и вставить данную строчку кода сюда:
Итоговый код должен быть таким:
Чтобы указать несколько привилегий, мы должны перечислить их в квадратных скобках, через запятую:
* Все привилегии указываются заглавными буквами
Список доступных привилегий:
ADMINISTRATOR
CREATE_INSTANT_INVITE
KICK_MEMBERS
BAN_MEMBERS
MANAGE_CHANNELS
MANAGE_GUILD
ADD_REACTIONS
VIEW_AUDIT_LOG
PRIORITY_SPEAKER
STREAM
VIEW_CHANNEL
SEND_MESSAGES
SEND_TTS_MESSAGES
MANAGE_MESSAGES
EMBED_LINKS
ATTACH_FILES
READ_MESSAGE_HISTORY
MENTION_EVERYONE
USE_EXTERNAL_EMOJIS
VIEW_GUILD_INSIGHTS
CONNECT
SPEAK
MUTE_MEMBERS
DEAFEN_MEMBERS
MOVE_MEMBERS
USE_VAD
CHANGE_NICKNAME
MANAGE_NICKNAMES
MANAGE_ROLES
MANAGE_WEBHOOKS
MANAGE_EMOJIS
Я не советую вам из привилегий выбирать только ADMINISTRATOR, поэтому лучше указать только те привилегии, которые бот действительно использует для корректной работы
Полезные и интересные команды
В предыдущем разделе я показал вам, как запустить бота и как писать для него команды.
Теперь я хочу поделиться с вами несколькими своими командами.
Не стоит пугаться большого кода, здесь всё предельно просто.
Заключение
Вот и подошла к концу первая часть обучения, как вы могли заметить, создать бота, используя библиотеку discord.js очень просто.
Итого, из этой статьи мы выяснили:
Надеюсь, что вам понравилась моя статья и вы узнали из неё что-то новое.
Создаем бота для Discord (NodeJS + Docker)
В этом ознакомительном HOWTO я расскажу, как можно немного занять себя на время карантина и сделать бота для своего Discord-сервера. Мы развернем NodeJS в Docker под Ubuntu 18.04 и запустим в нем бота с парочкой простых команд. В конце я оставлю ссылки на полезные источники информации, чтобы вы могли дальше развивать бота, наделяя его полезными функциями.
Программное обеспечение сервера, используемое в этом уроке:
В этой статье подразумевается, что вы обладаете навыками работы в командной строке Linux.
Первые шаги
Первым шагом станет создание приложения на официальном сайте Discord (убедитесь, что вы зарегистрированы). Для этого потребуется пройти по ссылке и нажать на кнопку “New application”.
В появившемся окне нужно придумать имя своему приложению (будущему боту):
После указания имени и создания приложения мы можем перейти к созданию бота. Для этого в левом меню выберите пункт “Bot” и нажмите на кнопку “Add Bot”.
Последним шагом здесь будет копирование token по кнопке “Copy”. Держите в секрете ваш token и сохраните его куда-нибудь — он понадобится позже.
Подготовка сервера
В качестве площадки для размещения бота я использую VDS под управлением операционной системы Ubuntu 18.04. Вы можете разместить бота и на других дистрибутивах, убедившись в том, что в них установлены нужные пакеты.
Команды для установки в Ubuntu 18.04:
Если вы используете другой дистрибутив, то установка необходимых пакетов может отличаться. Вы можете найти инструкцию для конкретного дистрибутива в документации или в поисковике.
Читайте также
Создание основных файлов
Как я указал в начале статьи, мы будем использовать NodeJS для запуска бота. Дополнительно нам потребуются две библиотеки:
Создадим рабочую директорию проекта и файл package.json. В моем случае рабочая директория располагается в директории /home, но вы можете выбрать любую другую на свое усмотрение.
Примерный вид файла:
В нем мы указали имя будущего пакета (name), версию (version), описание (description), автора (author), основной файл (app.js) и список зависимостей (dependencies).
Запустим npm install и убедимся, что создался файл package-lock.json, который потом также будет скопирован в контейнер.
Теперь создадим файл самого бота app.js и запишем в него следующий код:
Вместо “tokenbot” подставляется token бота, который был сохранен в начале статьи, а в качестве prefix указывается символ, после которого будут вводиться команды. Я выбрал в качестве префикса “!”, но вы можете выбрать другой удобный символ, если только он не используется самим Discord, как например “@” или “/”.
Создание Docker-контейнера
Теперь в рабочей директории нам нужно создать Dockerfile, который будет содержать инструкции для сборки образа, на основе которого будет запущен контейнер. В него мы запишем:
Соберем образ и запустим на его основе контейнер:
Вместо “authorname” можно ввести имя пользователя, от которого создается бот, и через “/” указать имя бота.
Проверим, что контейнер запустился, специальной командой:
Добавление бота на сервер
Бот запущен и работает в контейнере. Осталось только пригласить его на сервер и проверить его работу.
Для приглашения необходимо:
Теперь мы можем проверить работу двух команд, созданных ранее:
Заключение
В этой ознакомительной статье мы зарегистрировали новое приложение, создали бота, написали несколько простых команд, запустили контейнер и пригласили бота на сервер.
Далее бота можно развивать, наполняя его другими более сложными и полезными функциями. Для этого вам пригодятся знания JavaScript и следующие ссылки:
Надеюсь, этот материал будет полезен для всех, кто давно хочет создать собственного бота в Discord, но не знает, с чего начать.
Вопросы и пожелания можно оставлять в комментариях. Спасибо за внимание!
Как создать бота в Discord
В статье мы расскажем о том, как создается приложение для бота, выполняется первая авторизация на сервере и пишется общий код для нормализации работы. Имея «каркас», вы уже можете добавлять пользовательские команды и сразу проверять, как они работают.
Создание приложения и авторизация бота
Далее речь пойдет о двух разных методах создания бота — при помощи JavaScript и Python. Каждый из них имеет свои особенности и нюансы, но вот метод создания приложения и авторизации бота на сервере остается одинаков, поскольку не зависит от выбранного языка программирования. После этого вы сможете перейти к подбору библиотеки и работе с кодом.
Выбор среды разработки
Перед началом работы с кодом в упомянутых языках программирования уточним, что вам понадобится установить текстовый редактор или специальную среду разработки, поддерживающую синтаксис Python или JavaScript (в зависимости от выбранного). Конечно, можно использовать просто «Блокнот», но по удобству он уступает специализированным программам. Просмотрите их списки в обзорах по следующим ссылкам и выберите для себя подходящий софт.
Вариант 1: Python и библиотека discord
Если ранее вы не сталкивались с языками программирования или знакомы с ними только поверхностно, создание бота для Discord на Python — лучший выбор. Этот ЯП проще учится, компактный и имеет логически понятный синтаксис, поэтому идеально подходит новичкам. К тому же в сети есть огромное количество исходников с различными командами или уже готовыми ботами, которые ничего не мешает скопировать и использовать в своих целях. В следующих шагах вы узнаете, как создать «каркас» бота на Python и запустить его, чтобы проверить работу.
Шаг 1: Установка Python и библиотеки discord
По умолчанию в Windows нет встроенных функций и утилит, предназначенных для работы с Питоном, поэтому их придется установить отдельно, не забыв про подключаемую библиотеку discord, которая позволит взаимодействовать с полезными функциями и командами, связанными исключительно с Дискордом.
Если Python у вас установлен, но команда для добавления подключаемой библиотеки не работает, выполните обновление компонента PIP, о чем рассказывается в другой статье на нашем сайте. Там же вы найдете инструкцию и по изменению переменных среды, если этого не произошло во время установки.
Шаг 2: Создание словаря бота
В этом варианте мы будем использовать словарь для бота, то есть конфигурационный файл, хранящий в разных именах значения токена, префикса и имени бота. Это существенно упрощает весь процесс написания кода и не заставляет каждый раз вспоминать данные приложения, чтобы ввести их в одной строке.
settings = <
‘token’: ‘Ваш токен’,
‘bot’: ‘Имя бота’,
‘id’: Client ID бота, без кавычек,
‘prefix’: ‘Префикс бота’
>
Шаг 3: Создание тела бота
Для обеспечения базового функционирования бота ему нужно создать «тело» — основной код для запуска и работы на сервере. Понадобится отдельный файл, который можно назвать как угодно, но обязательно сохранить его в том же месте, где находится созданный ранее словарь.
import discord
from discord.ext import commands
from config import settings
@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: Запуск бота
Перейдите в Дискорд и проверьте текущее состояние бота. Он должен отображаться в списке участников в разделе «В сети» вместе с зеленой точкой.
Воспользуйтесь открытыми источниками или собственными знаниями, чтобы написать команды для бота или реализовать другие задачи, которые он должен выполнять. Для этого редактируйте его основной файл или создавайте другие, связывая все в единый проект.
Вариант 2: JavaScript и discord.js
Следующий вариант создания бота для Discord — использование JS и подключаемой библиотеки discord.js, которая добавляет все необходимые компоненты для работы с ботами. Принцип действий отличается от предыдущего варианта лишь инструментами и разницей в синтаксисах языков программирования, но остается примерно таким же.
Шаг 1: Установка Node.js и discord.js
Расширить функциональность JS и превратить его в язык программирования общего назначения поможет платформа Node.js, установкой которой и рекомендуем заняться в первую очередь. Для этого выполните простейший алгоритм действий:
Шаг 2: Работа с файлами бота
Все действия, связанные с файлами бота и программным кодом, рассмотрим в рамках одного этапа, поскольку делить их на несколько просто не имеет смысла. Вам понадобятся три основных файла, куда и вписываются все необходимые функции: один отвечает за конфигурацию бота, второй — за «тело», а третий хранит список добавленных команд.
<
«token» : «Ваш_токен»,
«prefix» : «Ваш_префикс»
>
Соответственно, выражения в двойных кавычках замените на уникальный токен бота и предпочитаемый префикс.
robot.on(«ready», function() <
/* При успешном запуске, в консоли появится сообщение «[Имя бота] запустился!» */
console.log(robot.user.username + » запустился!»);
>);
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: «Тестовая команда»
>];
Для дальнейшей работы с командами достаточно будет объявить их функции и пополнить список соответствующими блоками кода. На примере готовый файл «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 завершены, а значит, можно запустить его и проверить работу. Для этого вам понадобится выполнить следующее:
Примеры полезных команд
const arggs = mess.content.split(‘ ‘).slice(1); // Все аргументы за именем команды с префиксом
const amount = arggs.join(‘ ‘); // Количество сообщений, которые должны быть удалены
if (!amount) return mess.channel.send(‘Вы не указали, сколько сообщений нужно удалить!’); // Проверка, задан ли параметр количества
if (isNaN(amount)) return mess.channel.send(‘Это не число!’); // Проверка, является ли числом ввод пользователя
В интернете вы можете найти другие полезные команды, которые хотите включить в своего бота, однако для работы с ними все же понадобятся продвинутые знания в JavaScript или Python, чтобы самостоятельно исправлять ошибки или редактировать код под себя.
Помимо этой статьи, на сайте еще 12453 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.