Discord — это приложение для чата, которое позволяет миллионам пользователей по всему миру обмениваться сообщениями и голосовыми сообщениями онлайн в сообществах, называемых гильдиями или серверами. Discord также предоставляет обширный API, который разработчики могут использовать для создания мощных ботов Discord.
Боты могут выполнять различные действия, такие как отправка сообщений на серверы, DM-рассылка пользователям, модерирование серверов и воспроизведение звука в голосовых чатах. Это позволяет разработчикам создавать мощных ботов, которые включают в себя продвинутые, сложные функции, такие как инструменты модерации или даже игры. Например, бот Dyno обслуживает миллионы гильдий и содержит такие полезные функции, как защита от спама, музыкальный плеер и другие полезные функции. Научившись создавать ботов Discord, вы сможете реализовать множество возможностей, с которыми тысячи людей смогут взаимодействовать каждый день.
В этой статье мы узнаем, как создать простой бот Discord с помощью Node.js. Этот учебник предназначен для новичков с нулевыми знаниями о том, как сделать бота Discord.
КАК СОЗДАТЬ БОТА ДЛЯ ДИСКОРД ? Discord JS — Node JavaScript / Урок 1 — Основа
Необходимые условия
- Редактор кода (например, VS Code)
- Базовые знания JavaScript
- Node и npm установлены на вашей машине
- Учетная запись Discord и настроенный сервер
Шаг 1: Создание приложения в Discord
Сначала нам нужно создать бота в Discord как приложение в Discord. Перейдите на сайт https://discord.com/developers и войдите в систему или создайте учетную запись разработчика.
Как только вы войдете, нажмите на «Новое приложение» в правом верхнем углу окна.
Затем заполните детали вашего приложения (например, название), и вы попадете на приборную панель вашего приложения. Перейдите к разделу «Бот» и нажмите «Добавить бота», чтобы включить ваше приложение в качестве бота.
Теперь у вас будет свой бот, и вы увидите этот раздел.
Нажмите «Копировать», чтобы скопировать ваш токен и сохранить его где-нибудь, он нам понадобится позже.
Шаг 2: Установите бота на сервер
Создайте новый сервер Discord с вашей учетной записью Discord для установки бота.
Вернитесь на панель App, перейдите к разделу ‘OAuth2’ и выберите ‘bot’ в разделе Scopes.
Внизу вы увидите генерируемый URL. Скопируйте этот URL и вставьте его в новую вкладку. Вы будете перенаправлены на страницу, как показано ниже:
Установите этого бота на предпочитаемый вами сервер Discord. Например, мой сервер — это сервер MyBot, который я только что создал.
Если все работает правильно, ваш бот должен появиться на вашем сервере Discord.
Шаг 3: Создайте папку проекта
Теперь давайте заставим бота работать! Создайте новый проект с помощью следующих команд терминала:
mkdir discord-bot cd discord-bot npm init
Войти в полноэкранный режим Выйти из полноэкранного режима
Проверьте этот инструмент: Генератор случайных паролей
Шаг 4: Установка пакетов
Теперь нам нужно установить пакеты npm для этого проекта. Выполните следующую команду:
npm install discord.js axios dotenv
Войти в полноэкранный режим Выйти из полноэкранного режима
Как создать базового бота Discord с помощью NodeJS
Боты в Discord могут предоставлять различные услуги, начиная от функций, помогающих человеку лучше управлять серверами, и заканчивая играми и услугами в чате которые улучшают общее впечатление. Они могут действовать как настоящие пользователи, но у них есть предустановленные ответы, которые позволяют им автоматически отвечать или реагировать на определенное событие.
Мы будем использовать NodeJS для создания бота.
Предварительные требования
- Установлены NodeJS и npm
- Базовые знания JavaScript
Настройка
Откройте терминал в желаемом месте — здесь будет весь код бота.
Теперь введите следующую команду, чтобы запустить npm каталог.
Заполнив все данные выше, введите:
npm установить Discord. js dotenv
Эта команда устанавливает два пакеты, Discord.js и Dotenv .
- Discord.js делает это нам проще получить доступ к Discord API, предоставив функции, которые реализуют API напрямую. (Об использовании Dotenv мы поговорим позже.)
Вы можете ожидать, что это будет результатом выполнения указанной выше команды:
Прежде чем мы начнем кодировать, нам нужно сделать еще одну вещь — нам нужно зарегистрировать бота в Discord, чтобы мы могли получить к нему доступ с помощью нашего кода.
Перейдите к Discord Developers Portal , и после входа вы должны увидеть интерфейс, похожий на этот:
Здесь вы сможете увидеть все свои зарегистрированные приложения. Нажмите кнопку Новое приложение :
Теперь вы даете ему имя (все работает) и нажимаете «Создать». У вас должно получиться примерно следующее:
Вы можете изучить это самостоятельно, но пока мы собираемся оставить это в Подменю бота на правой панели.
Нажмите «Добавить бота» и нажмите Да, сделать во всплывающем меню..
Как только вы закончите с этим, вы увидите, что ваш бот создан, и появится что-то вроде этого:
Перейдите в подменю OAUTH2 и в разделе области действия отметьте BOT:
Проверка BOT должна показать другой раздел под областями:
Это все разрешения, которые вы готовы предоставить боту. Любой, кто знаком с серверами Discord и Discord, сможет повозиться с ними самостоятельно. Однако роль Администратор позволяет боту делать что угодно на сервере, в том числе выгнать людей и блокировать их.
Теперь прокрутите вверх до раздела области, где вам нужно будет скопировать предоставленную ссылку и вставить ее в другую вкладку/окно браузера:
Как только вы это сделаете, вам будет предоставлен список серверов, на которые вы можете добавить бота:
Я буду добавлять его на сервер Bot Test , который я создал для этого снимка. Наконец, нажмите Продолжить , а затем Авторизовать .
Вы заметите, что бот добавлен на ваш сервер:
Источник: nanomode.ru
Создаем бота для Discord (NodeJS + Docker)
Виджеты Дискорд — специальные программы (скрипты), предназначенные для добавления чата приложения на сайт. Многие из них могут отображать всех онлайн-пользователей на сервере, показывать активность и т. д. С их помощью можно поддерживать общение без входа в Discord, что делает коммуникацию более удобной.
Что это
Виджет Дискорд для сайта представляет собой скрипт, который встраивается на ресурс и позволяет общаться с другими пользователями без входа в приложение. Такая опция полезна для разных сообществ по интересам, которые нуждаются в обсуждении разных тем. Наличие виджета Дискорд на ресурсе позволяет быстрей связаться с единомышленниками и не отвлекаться на работу в программе.
Для чего нужен
В зависимости от ситуации виджеты открывают ряд возможностей для пользователей Дискорд. С его помощью можно общаться, видеть все каналы сервера. Также доступно общее число пользователей онлайн, отображается общий список участников и т. д. В некоторых вариантах можно использовать уведомления для привлечения внимания, менять цвета и т. д.
Как ставить и пользоваться
Много вопросов касается того, как установить скрипт на сайт и обеспечить его корректную работу. Общий алгоритм действий имеет следующий вид:
- Войдите в Дискорд.
- Выберите нужный сервер в списке.
- Зайдите в его настройки. Для этого жмите на него правой кнопкой мышки.
- Перейдите в категорию «Виджет».
- Переведите пункт «Включить виджет сервера» в правую сторону.
- Выберите канал из перечня, чтобы дать возможность скрипту приглашать людей на канал. Это значит, что при нажатии кнопки Connect пользователи войдут на этот канал. При отсутствии канала кнопки Connect не будет.
- Жмите на клавишу Copy возле строки ID сервера для копирования данных и сохраните информацию для дальнейшего встраивания.
- Создайте шаблон и вставьте его на страницу в виде кода. На этом этапе можно использовать готовый или собственный вариант.
- Внесите в необходимое поле скопированный ID сервер.
Существует также ряд платных сервисов, где можно создать свой виджет для Дискорд, а далее пользоваться его возможностями. К примеру, такая опция доступна на сайте elfsight.com. Здесь для добавления скрипта необходимо сделать следующие шаги:
- Настройте собственный вариант скрипта с учетом личных предпочтений.
- Копируйте уникальный код готового виджета.
- Установите готовый код в шаблон или структуру сайта, где он будет находиться.
В дальнейшем можно пользоваться возможностями и менять внешний вид прямо из сайта, где установлено дополнение.
Примеры готовых виджетов
При желании можно использовать уже готовые виджеты для Discord. Наиболее распространенный вариант — скрипт DiscordIntegrator/ru. Он интегрируется в правую часть страницы и может показывать количество пользователей на сервере, их активность, кто и во что играет, гостей канал и т. д. Подробная инструкция по установке скрипта для Дискорд доступна по ссылке dev.fandom.com. Для корректной работы обязательно включите возможность отображения в самом Discord по схеме, которая рассмотрена выше.
Еще одно решение под номером 02 — воспользоваться возможностями сервиса elfsight.com/ru/discord-chat-widget/ и получить Дискорд Чат. Здесь можно посмотреть на Демо программы, внести корректировки в оформление и использовать приложение для общения.
Еще один вариант — Discord Server Widget. Это простой и удобный в пользовании скрипт, предназначенный для отображения активности и онлайн-участников на server Дискорд.
Теперь вы знаете, что такое виджеты Дискорд, для чего они применяются, и как ими пользоваться. При желании можно найти и другие варианты, но главное — правильно добавить код на сайт, а после этого проверить правильность его работы. В комментариях расскажите, какие вы используйте дополнения для установки на сайт и общения в Discord.
Рекомендуем:
Сколько раз можно менять никПрограмма для изменения голосаКак очистить чатОтключить/включить звуковые уведомленияСкачатьУдалить бота 21 мая в 2020 20K
В этом ознакомительном HOWTO я расскажу, как можно немного занять себя на время карантина и сделать бота для своего Discord-сервера. Мы развернем NodeJS в Docker под Ubuntu 18.04 и запустим в нем бота с парочкой простых команд. В конце я оставлю ссылки на полезные источники информации, чтобы вы могли дальше развивать бота, наделяя его полезными функциями.
Программное обеспечение сервера, используемое в этом уроке:
- Ubuntu 18.04
- Docker 19.03.6
- npm 6.14.5
В этой статье подразумевается, что вы обладаете навыками работы в командной строке Linux.
Первые шаги
Первым шагом станет создание приложения на официальном сайте Discord (убедитесь, что вы зарегистрированы). Для этого потребуется пройти по ссылке и нажать на кнопку “New application”.
В появившемся окне нужно придумать имя своему приложению (будущему боту):
После указания имени и создания приложения мы можем перейти к созданию бота. Для этого в левом меню выберите пункт “Bot” и нажмите на кнопку “Add Bot”.
Последним шагом здесь будет копирование token по кнопке “Copy”. Держите в секрете ваш token и сохраните его куда-нибудь — он понадобится позже.
Подготовка сервера
В качестве площадки для размещения бота я использую VDS под управлением операционной системы Ubuntu 18.04. Вы можете разместить бота и на других дистрибутивах, убедившись в том, что в них установлены нужные пакеты.
Команды для установки в Ubuntu 18.04:
sudo apt update sudo apt install docker npm
Если вы используете другой дистрибутив, то установка необходимых пакетов может отличаться. Вы можете найти инструкцию для конкретного дистрибутива в документации или в поисковике.
Создание основных файлов
Как я указал в начале статьи, мы будем использовать NodeJS для запуска бота. Дополнительно нам потребуются две библиотеки:
- discord.js (основная библиотека для работы бота);
- dotenv (будет использоваться для конфигурационного файла).
Создадим рабочую директорию проекта и файл package.json. В моем случае рабочая директория располагается в директории /home, но вы можете выбрать любую другую на свое усмотрение.
mkdir /home/my-discord-bot cd /home/my-discord-bot touch package.json
Примерный вид файла:
В нем мы указали имя будущего пакета (name), версию (version), описание (description), автора (author), основной файл (app.js) и список зависимостей (dependencies).
Запустим npm install и убедимся, что создался файл package-lock.json, который потом также будет скопирован в контейнер.
Теперь создадим файл самого бота app.js и запишем в него следующий код:
// Загрузка библиотек и конфигурационного файла require(‘dotenv’).config(); const Discord = require(‘discord.js’); const bot = new Discord.Client(); const token = process.env.token; const prefix = process.env.prefix; bot.login(token); // Запуск бота bot.on(‘ready’, () => < console.info(`Logged in as $!`); console.info(`Current prefix: $`); >); // Команда для приветственного сообщения bot.on(‘message’, message => < if (message.content === `$hello`) < console.log(message.content, message.author); message.channel.send(‘hello!’); >>); // Команда для вывода количества участников сервера bot.on(‘message’, message => < if (message.content === `$server`) < console.log(message.content, message.author); message.channel.send(`Сообщество: $nУчастников: $`); > >);
Учитывая, что здесь используется конфигурационный файл, создадим в рабочей директории .env и запишем в него:
token=tokenbot prefix=»!»
Создание Docker-контейнера
Теперь в рабочей директории нам нужно создать Dockerfile, который будет содержать инструкции для сборки образа, на основе которого будет запущен контейнер. В него мы запишем:
FROM node:14 WORKDIR /home/my-discord-bot COPY package*.json ./ RUN npm install COPY . . EXPOSE 8080 CMD [«node», «app.js»]
node_modules npm-debug.log
Соберем образ и запустим на его основе контейнер:
docker build -t authorname/my-discrod-bot docker run -p 42150:8080 -d authorname/my-discrod-bot
Вместо “authorname” можно ввести имя пользователя, от которого создается бот, и через “/” указать имя бота.
Проверим, что контейнер запустился, специальной командой:
docker ps 9fbaf1176c7a authorname/my-discrod-bot «docker-entrypoint.s…» 6 seconds ago Up 4 seconds 0.0.0.0:42150->8080/tcp pensive_carson
Добавление бота на сервер
Бот запущен и работает в контейнере. Осталось только пригласить его на сервер и проверить его работу.
Для приглашения необходимо:
- Вернуться обратно по ссылке.
- Выбрать созданное приложение.
- Перейти во вкладку “OAuth2”.
- В списке “Scopes” выбрать “bot”.
- Скопировать ссылку и перейти по ней в браузере.
- Выбрать сервер, на который будет добавлен бот.
Теперь мы можем проверить работу двух команд, созданных ранее:
Заключение
В этой ознакомительной статье мы зарегистрировали новое приложение, создали бота, написали несколько простых команд, запустили контейнер и пригласили бота на сервер.
Далее бота можно развивать, наполняя его другими более сложными и полезными функциями. Для этого вам пригодятся знания JavaScript и следующие ссылки:
- документация библиотеки discordjs;
- справочная информация по JavaScript;
- ознакомительный курс по Docker.
Надеюсь, этот материал будет полезен для всех, кто давно хочет создать собственного бота в Discord, но не знает, с чего начать.
Вопросы и пожелания можно оставлять в комментариях. Спасибо за внимание!
NoName +4 Используемые источники:
- https://discordgid.ru/vidjety/
- https://timeweb.com/ru/community/articles/sozdaem-bota-dlya-discord-nodejs-docker
Источник: geopressa.ru