База знаний о хостинге и серверных технологиях Timeweb Community: Создаем бота для Discord (NodeJS + Docker). Опыт наших пользователей поможет разобраться с любым вопросом из IT-сферы.
Here are 181 public repositories matching this topic…
User friendly dashboard/tool for discord bot developpers to manage servers
- Updated Jun 20, 2021
- JavaScript
A feature-rich Discord bot with +200 commands for Discord servers. Economy, util, fun, music, admin and more! Built with Next.js and Discord.js
- Updated Jul 1, 2021
- TypeScript
Discord.js Economy bot using Quick.db (DJS V11)
- Updated Mar 25, 2021
- JavaScript
A boilerplate example bot with command handler and reloadable commands. Updated and Maintained by the Idiot’s Guide Community
- Updated Jun 13, 2021
- JavaScript
Misaki is Discord Bot designed for communities with commands ranging from gif based anime reactions, to head scratching trivia commands.
- Updated Oct 18, 2018
- JavaScript
A multi-purpose Discord bot made with discord.js
- Updated May 20, 2021
- JavaScript
Easily Build a Discord Bot With No Code (App + API)
- Updated Jun 12, 2021
- TypeScript
An Open Source version of Cryptonix X and a basic frame for any discord.js bot
- Updated May 21, 2021
- JavaScript
A Discord bot that enhances First Come, First Serve in voice channel waiting rooms.
- Updated May 30, 2021
- JavaScript
A multipurpose bot to cover all your needs.
- Updated Nov 6, 2020
- JavaScript
A Discord.js bot using MongoDB (npm package Mongoose) to create a bot multipurpose Discord.js
- Updated Jun 30, 2021
- JavaScript
discord.js modmail with rich features
- Updated Jun 22, 2021
- JavaScript
I dunno, another Discord bot that’s unique n’ stuff
- Updated Jul 2, 2021
- JavaScript
Discord.js v12 Basic Bot with Commands
- Updated Oct 23, 2020
- JavaScript
Gyromina, a multipurpose Discord bot with fun + function all in one
- Updated Jul 2, 2021
- JavaScript
- Updated Jun 30, 2021
- JavaScript
Simple multi-purpose Discord bot made with TypeScript
- Updated Jun 23, 2021
- TypeScript
MassDM, a bot to mass DM members of a Discord server.
- Updated Jun 7, 2021
- JavaScript
Discord.js Leveling system using Quick.db (DJS V11)
- Updated Dec 19, 2020
- JavaScript
A Open-Source Discord Bot coded in Discord.js made for beginners! Lots of Commands Included Such as Fun, Image Manipulation and Utility Command etc!
- Updated Jul 2, 2021
- JavaScript
- Updated Jun 9, 2021
- JavaScript
Discord.js Ticket bot using Quick.db (DJS V11)
- Updated Apr 29, 2021
- JavaScript
Helping servers grow exponentially with a simple solution. Make your server active and entertain your community with a simple solution — A unique discord bot, Star!
- Updated Jun 30, 2021
- JavaScript
An easy to use and customize discord music bot. Support YouTube, SoundCloud, and 700+ more sites
- Updated Apr 30, 2021
- JavaScript
A multifunctional Discord Bot made on discord.js-commando framework.
- Updated Jan 27, 2021
- JavaScript
Lightweight Discord.js level system with rewards, based on Mee6’s level system.
- Updated Sep 24, 2018
- JavaScript
A welcomer bot for discord written in discord.js v12 very simple to use with code and deployment instructions
- Updated Jun 28, 2021
- JavaScript
Discord bot that takes care of nickname invite spammers
- Updated Oct 7, 2020
- JavaScript
I’m a discord bot that can generate a random Minesweeper game using spoiler tags, for anyone to play! Use the command «!minesweeper» or «!ms» to generate a game!
- Updated Jan 19, 2021
- JavaScript
Источник: http://github.com/topics/discord-js-bot
Создание Discord-бота, используя библиотеку discord.js | Часть №1 +12
JavaScript, Из песочницы, Node.JS
Введение
В этой статье я подробно расскажу о том, как работать с библиотекой
discord.js
, создать своего Discord-бота, а также покажу несколько интересных и полезных команд.
Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая музыкой, системой экономики и распознаванием голоса ботом.
Начало работы
Если вы уже знакомы с приведёнными ниже материалами, — смело можете пролистать этот раздел.
Для начала работы с кодом нам нужно установить среду разработки, это может быть:
- Sublime Text
- Notepad++
- Atom
- Brackets
- InteliJ Idea
- Eclipse
- Visual Studio Code
… и так далее.
Среда разработки выбирается по удобству использования и практичности, она у вас может быть любая, но мы рассмотрим её на примере Visual Studio Code, так как она является одной из самых приемлемых для новичков, а также для опытных программистов.
Для установки переходим по
этой
ссылке.
Выбираем свою операционную систему и запускаем скачивание.
Для создания бота мы используем среду выполнения
node.js
. Для её установки нам необходимо перейти на
этот
сайт.
На данный момент нас интересует
версия долгосрочной поддержки (LTS)
, скачиваем её.
В
Visual Studio Code
присутствует возможность устанавливать расширения.
Для этого, кликните по отмеченной ниже иконке.
В открывшемся окне вписываем название название/идентификатор нужного нам расширения, после чего устанавливаем его.
Из
полезных
расширений могу отметить:
- Discord Presence — расширение, позволяющее отображать рабочую область и файл, в котором вы работаете в вашей игровой активности (функция работает только при использовании приложения Discord).
Идентификатор расширения: icrawl.discord-vscode
- Code runner — расширение, с помощью которого предоставляется возможность запускать определённые фрагменты кода.
Идентификатор расширения: formulahendry.code-runner
Создание бота
Теперь, когда вы установили все нужные компоненты, мы можем приступить к
созданию самого бота.
Здесь всё просто. Переходим на
портал разработчиков
и нажимаем на кнопку с надписью
«New Application»
— она находится в правом верхнем углу.
В открывшемся окне вписываем имя бота, после чего, нажимаем на кнопку с надписью
«Create»
.
На этой странице мы можем изменить имя бота, загрузить для него иконку, заполнить описание.
Теперь наша задача — воплотить бота в жизнь. Для этого переходим во вкладку
«Bot»
.
Нажимаем на кнопку с надписью
«Add Bot»
и воплощаем бота в жизнь.
Поздравляю! Вы создали аккаунт для вашего бота. Теперь у него есть тег, токен, ник и иконка.
Подготовка к написанию кода
После создания аккаунта для бота, мы должны установить нужные пакеты и модули, чтобы в дальнейшем он корректно работал.
Первым делом создаём папку, после чего открываем её в VS Code
(Файл > Открыть папку)
/
(Ctrl + K Ctrl + O)
Далее нам нужно открыть терминал
(Терминал > Создать терминал)
/
(Ctrl + Shift + `)
Теперь мы должны создать файл с неким «описанием» нашего бота, сделаем это через терминал.
Вписываем данную строку в терминал и нажимаем Enter:
npm init
После каждой появившейся строки нажимаем Enter или вписываем свои значения.
Значения в этом файле можно будет изменить в любой момент.
Далее, мы должны поочерёдно вводить в терминал эти строки:
npm install
npm install discord.js
«Install»
также можно сокращать в «I», но необязательно.
Итого, если вы следовали инструкциям и всё сделали правильно, в вашей папке должны были появиться 3 объекта:
Написание кода
Для того, чтобы наш бот появился в сети и мог реагировать на команды, нам нужно написать для него код.
Существует множество вариантов для его написания: используя один файл, два, несколько, и т.д
Мы рассмотрим вариант с двумя файлами, так как его использовать очень легко и удобно, но у каждого варианта есть свои недостатки — например, у этого недостатком является сложность в написании начального кода.
Но не волнуйтесь, весь код вам писать не придётся.
Для начала, нам нужно где-то хранить основные параметры и информацию о боте.
Мы можем сделать это двумя способами:
- Создать отдельный файл
- Записать всё в константы
Я не советую вам использовать второй вариант, так как в будущем вам придётся работать с большим объёмом информации, и такая запись будет доставлять неудобства.
Разберём хранение параметров в отдельном файле.
Итак, создаем файл
config.json
Вставляем в него следующий код:
{ «token» : «Ваш_токен», «prefix» : «Ваш_префикс»}
*
Для получения токена зайдите на
портал разработчиков
, перейдите во вкладку
«Bot»
и скопируйте его.
*
Самым распространённым среди разработчиков префиксом является
!
Далее нам нужно создать файл
bot.js
и вставить в него данный код:
const Discord = require(‘discord.js’); // Подключаем библиотеку discord.jsconst 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 ok = false; 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); // Авторизация бота
Теперь создаём файл
comms.js
, в нём будут сами команды.
В нём должен быть следующий код:
const config = require(‘./config.json’); // Подключаем файл с параметрами и информациейconst Discord = require(‘discord.js’); // Подключаем библиотеку discord.jsconst prefix = config.prefix; // «Вытаскиваем» префикс// Команды // function test(robot, mess , args) { mess.channel.send(‘Test!’) } // Список комманд //var comms_list = [ {name: «test», out: test, about: «Тестовая команда»}];// Name — название команды, на которую будет реагировать бот// Out — название функции с командой// About — описание команды module.exports.comms = comms_list;
Чтобы добавить больше команд — просто объявляйте больше функций и добавляйте их в список, например:
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: «Команда для приветствия!»}}module.exports.comms = comms_list;
И вот, мы вышли на финишную прямую!
Осталось всего ничего — запустить бота.
Для этого открываем терминал и вставляем в него следующую строку:
node bot.js
Готово! Бот запущен и вы можете им пользоваться, ура!
Чтобы пригласить бота на свой сервер, воспользуемся нам уже известным
порталом разработчиков
.
Перейдём во вкладку OAuth2, пролистаем чуть ниже, выберем
«Bot»
и отметим нужные боту привилегии.
Теперь осталось скопировать ссылку-приглашение и добавить бота на свой сервер.
Существует два способа:
- Заранее отметить нужные привилегии.
Для этого, сначала мы должны скопировать ссылку-приглашение.
После чего перейти в файл bot.js и вставить данную строчку кода сюда:robot.on(«ready», function(){ console.log(robot.user.username + » запустился!»); console.log(«Ссылка-приглашение») // << //})
Итоговый код должен быть таким:const Discord = require(‘discord.js’); const robot = new Discord.Client();var comms = require(«./comms.js»);const fs = require(‘fs’);let config = require(‘./config.json’);let token = config.token;let prefix = config.prefix; robot.on(«ready», function(){ console.log(robot.user.username + » запустился!»); console.log(«Ссылка-приглашение»)})robot.on(‘message’, (msg) => { if(msg.author.username != robot.user.username && msg.author.discriminator != robot.user.discriminator){ var comm = msg.content.trim()+» «; var ok = false; 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) robot.login(token);
- Отметить нужные привилегии в самом коде.
Повторяем процедуры из первого способа, но уже с другими строками кода:robot.on(«ready», function(){ console.log(robot.user.username + » запустился!»); robot.generateInvite([«ADMINISTRATOR»]).then((link) => { // < // console.log(link); // < //})})
Итоговый код:const Discord = require(‘discord.js’); const robot = new Discord.Client();var comms = require(«./comms.js»);const fs = require(‘fs’);let config = require(‘./config.json’);let token = config.token;let prefix = config.prefix;robot.on(«ready», function(){ console.log(robot.user.username + » запустился!»); robot.generateInvite([«ADMINISTRATOR»]).then((link) => { console.log(link);})})robot.on(‘message’, (msg) => { if(msg.author.username != robot.user.username && msg.author.discriminator != robot.user.discriminator){ var comm = msg.content.trim()+» «; var ok = false; 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);
Чтобы указать несколько привилегий, мы должны перечислить их в квадратных скобках, через запятую:robot.generateInvite([‘KICK_MEMBERS’, ‘BAN_MEMBERS’, ‘SEND_MESSAGES’]).then((link) => { console.log(link);
* Все привилегии указываются заглавными буквамиСписок доступных привилегий:
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, поэтому лучше указать только те привилегии, которые бот действительно использует для корректной работы
Полезные и интересные команды
В предыдущем разделе я показал вам, как запустить бота и как писать для него команды.
Теперь я хочу поделиться с вами несколькими своими командами.
- !say — с помощью этой команды бот может повторить ваше сообщение.
Код:
if(!mess.member.hasPermission(«MANAGE_MESSAGES»)) return mess.channel.send(«У вас нет прав»); /* Если у исполнителя команды нету привилегии MANGAGE_MESSAGES, он не сможет её использовать */ let robotmessage = args = mess.content.split(‘ ‘); // Пробелы между словами args.shift(); args = args.join(‘ ‘); mess.delete().catch(); // Удаление сообщения пользователя после отправки mess.channel.send(robotmessage).then(mess.channel.send(mess.author)) /* Отправление в чат сообщения бота */
- !heads_or_tails — игра «Орёл или Решка».
Код:
mess.channel.send(‘Монета подбрасывается…’) var random = Math.floor(Math.random() * 4); // Объявление переменной random — она вычисляет случайное число от 1 до 3 if (random == 1) { // Если вычислено число 1, то выпадает орёл. mess.channel.send(‘:full_moon: Орёл!’) } else if (random == 2) { // Если вычислено число 2, то выпадает решка. mess.channel.send(‘:new_moon: Решка!’) } else if (random == 3) { // Если вычислено число 3, то монета падает ребром. mess.channel.send(‘:last_quarter_moon: Монета упала ребром!’) }
- !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 < 1) return mess.channel.send(‘Вы должны ввести число больше чем 1’); // Проверка, является ли ввод пользователя числом меньше 1 async function delete_messages() { // Объявление асинхронной функции await mess.channel.messages.fetch({ limit: amount }).then(messages => { mess.channel.bulkDelete(messages) mess.channel.send(`Удалено ${amount} сообщений!`) })}; delete_messages(); // Вызов асинхронной функции
- !random_name — генерация случайного имени.
Не стоит пугаться большого кода, здесь всё предельно просто.
Код:
var name = new Array( // Объявление массива name и занесение в него большого количества имён ‘Абрам’,’ Аваз’,’ Аввакум’,’ Август’,’ Августин’, ‘ Авдей’,’ Авраам’,’ Автандил’,’ Агап’,’ Агафон’, ‘ Аггей’,’ Адам’,’ Адис’,’ Адольф’,’ Адриан’, ‘ Азамат’,’ Айдар’,’ Айнур’,’ Айрат’,’ Аким’, ‘ Алан’,’ Алей’,’ Александр’,’ Алексей’,’ Али’, ‘ Альберт’,’ Альфред’,’ Амадей’,’ Амадеус’, ‘ Амаяк’,’ Амвросий’,’ Ананий’,’ Анастасий’, ‘ Анатолий’,’ Анвар’,’ Ангел’,’ Андоим’,’ Андрей’, ‘ Аникита’,’ Антон’,’ Арам’,’ Арий’,’ Аристарх’, ‘ Аркадий’,’ Арман’,’ Арно’,’ Арнольд’,’ Арон’,’ Арсен’, ‘ Арсений’,’ Арслан’,’ Артем’,’ Артемий’,’ Артур’,’ Архип’ ,’ Аскар’,’ Аскольд’,’ Аслан’,’ Афанасий’,’ Ахмет’,’ Ашот’ ,’ Бальтазар’,’ Бежен’,’ Бенедикт’,’ Берек’,’ Бернард’, ‘ Бертран’,’ Богдан’,’ Болеслав’,’ Борис’,’ Бронислав’, ‘ Булат’,’ Вадим’,’ Валентин’,’ Валерий’,’ Вальтер’, ‘ Варфоломей’,’ Василий’,’ Вацлав’,’ Велизар’,’ Венедикт’,’ Вениамин’,’ Викентий’,’ Виктор’,’ Вилли’,’ Вильгельм’,’ Виссарион’,’ Виталий’,’ Витольд’,’ Владимир’,’ Владислав’,’ Владлен’,’ Володар’,’ Вольдемар’,’ Всеволод’,’ Вячеслав’,’ Гавриил’,’ Галактион’,’ Гарри’,’ Гастон’,’ Гаяс’,’ Гевор’,’ Геннадий’,’ Генрих’,’ Георгий’,’ Геракл’,’ Геральд’,’ Герасим’,’ Герман’,’ Глеб’,’ Гордей’,’ Гордон’,’ Горислав’,’ Градимир’,’ Григорий’,’ Гурий’,’ Густав’,’ Давид’,’ Дамир’,’ Даниил’,’ Даниэль’,’ Данияр’,’ Дарий’,’ Дементий’,’ Демид’,’ Демосфен’,’ Демьян’,’ Денис’,’ Джамал’,’ Джордан’,’ Дмитрий’,’ Добрыня’,’ Дональд’,’ Донат’,’ Дорофей’,’ Евгений’,’ Евграф’,’ Евдоким’,’ Евсевий’,’ Евсей’,’ Евстафий’,’ Егор’,’ Елеазар’,’ Елисей’,’ Емельян’,’ Еремей’,’ Ермолай’,’ Ерофей’,’ Ефим’,’ Ефрем’,’ Жан’,’ Ждан’,’ Жорж’,’ Захар’,’ Зиновий’,’ Ибрагим’,’ Иван’,’ Игнатий’,’ Игорь’,’ Илларион’,’ Ильдар’,’ Ильнар’,’ Ильнур’,’ Илья’,’ Ильяс’,’ Иннокентий’,’ Иоанн’,’ Иосиф’,’ Ипполит’,’ Искандер’,’ Ислам’,’ Камиль’,’ Карим’,’ Карл’,’ Кирилл’,’ Клим’,’ Кондрат’,’ Константин’,’ Корней’,’ Кузьма’,’ Лавр’,’ Лаврентий’,’ Лев’,’ Леон’,’ Леонид’,’ Леонтий’,’ Леопольд’,’ Лука’,’ Лукьян’,’ Любим’,’ Макар’,’ Максим’,’ Максимилиан’,’ Марат’,’ Марк’,’ Марсель’,’ Мартин’,’ Матвей’,’ Мирон’,’ Мирослав’,’ Митрофан’,’ Михаил’,’ Михей’,’ Мишель’,’ Мстислав’,’ Мурат’,’ Муслим’,’ Назар’,’Абрам’,’ Аваз’,’ Аввакум’,’ Август’,’ Августин’,’ Авдей’,’ Авраам’,’ Автандил’,’ Агап’,’ Агафон’,’ Аггей’,’ Адам’,’ Адис’,’ Адольф’,’ Адриан’,’ Азамат’,’ Айдар’,’ Айнур’,’ Айрат’,’ Аким’,’ Алан’,’ Алей’,’ Александр’, ‘ Алексей’,’ Али’,’ Альберт’,’ Альфред’,’ Амадей’,’ Амадеус’,’ Амаяк’,’ Амвросий’,’ Ананий’,’ Анастасий’,’ Анатолий’,’ Анвар’,’ Ангел’,’ Андоим’,’ Андрей’,’ Аникита’,’ Антон’,’ Арам’,’ Арий’,’ Аристарх’,’ Аркадий’,’ Арман’,’ Арно’,’ Арнольд’,’ Арон’,’ Арсен’,’ Арсений’,’ Арслан’,’ Артем’,’ Артемий’,’ Артур’,’ Архип’,’ Аскар’,’ Аскольд’,’ Аслан’,’ Афанасий’,’ Ахмет’,’ Ашот’,’ Бальтазар’,’ Бежен’,’ Бенедикт’,’ Берек’,’ Бернард’,’ Бертран’,’ Богдан’,’ Болеслав’,’ Борис’,’ Бронислав’,’ Булат’,’ Вадим’,’ Валентин’,’ Валерий’,’ Вальтер’,’ Варфоломей’,’ Василий’,’ Вацлав’,’ Велизар’,’ Венедикт’,’ Вениамин’,’ Викентий’,’ Виктор’,’ Вилли’,’ Вильгельм’,’ Виссарион’,’ Виталий’,’ Витольд’,’ Владимир’,’ Владислав’,’ Владлен’,’ Володар’,’ Вольдемар’,’ Всеволод’,’ Вячеслав’,’ Гавриил’,’ Галактион’,’ Гарри’,’ Гастон’, ‘ Гаяс’,’ Гевор’,’ Геннадий’,’ Генрих’,’ Георгий’,’ Геракл’, ‘ Геральд’,’ Герасим’,’ Герман’,’ Глеб’,’ Гордей’,’ Гордон’, ‘ Горислав’,’ Градимир’,’ Григорий’,’ Гурий’,’ Густав’, ‘ Давид’,’ Дамир’,’ Даниил’,’ Даниэль’,’ Данияр’, ‘ Дарий’,’ Дементий’,’ Демид’,’ Демосфен’, ‘ Демьян’,’ Денис’,’ Джамал’,’ Джордан’,’ Дмитрий’,’ Добрыня’, ‘ Дональд’,’ Донат’,’ Дорофей’,’ Евгений’,’ Евграф’,’ Евдоким’,’ Евсевий’,’ Евсей’,’ Евстафий’,’ Егор’,’ Елеазар’,’ Елисей’,’ Емельян’,’ Еремей’,’ Ермолай’,’ Ерофей’,’ Ефим’,’ Ефрем’,’ Жан’,’ Ждан’,’ Жорж’,’ Захар’,’ Зиновий’,’ Ибрагим’,’ Иван’,’ Игнатий’,’ Игорь’,’ Илларион’,’ Ильдар’,’ Ильнар’,’ Ильнур’,’ Илья’,’ Ильяс’,’ Иннокентий’,’ Иоанн’,’ Иосиф’,’ Ипполит’,’ Искандер’,’ Ислам’,’ Камиль’,’ Карим’,’ Карл’,’ Кирилл’,’ Клим’,’ Кондрат’,’ Константин’,’ Корней’,’ Кузьма’,’ Лавр’,’ Лаврентий’,’ Лев’,’ Леон’,’ Леонид’,’ Леонтий’,’ Леопольд’,’ Лука’,’ Лукьян’,’ Любим’,’ Макар’,’ Максим’,’ Максимилиан’,’ Марат’,’ Марк’,’ Марсель’,’ Мартин’,’ Матвей’,’ Мирон’,’ Мирослав’,’ Митрофан’,’ Михаил’,’ Михей’,’ Мишель’,’ Мстислав’,’ Мурат’, ‘ Муслим’,’ Назар’ ); var RandElement = name[Math.floor(Math.random()*(name.length))]; // Выбор случайного элемента из массива mess.channel.send(RandElement) // Отправка сообщения со случайным элементом из массива в чат
Заключение
Вот и подошла к концу первая часть обучения, как вы могли заметить, создать бота, используя библиотеку
discord.js
очень просто.
Итого, из этой статьи мы выяснили:
- Как установить нужные модули и пакеты
- Как установить среду разработки
- Как установить среду выполнения
- Как установить полезные расширения
- Как создать аккаунт для бота
- Как воплотить бота в жизнь
- Как запустить бота
- Как научить бота реагировать на команды
- Как пригласить бота на свой сервер
- Как писать код для работы команд
А также научились некоторым интересным и полезным командам.
Надеюсь, что вам понравилась моя статья и вы узнали из неё что-то новое.
Я постарался объяснить всё максимально доходчиво и подробно.
Следующую часть обучения я планирую сделать об использовании аргументов, а также покажу вам команды для модерации
(!kick, !ban, !warn, !mute и т.д)
.
Сайты для самостоятельного изучения
- Основная документация discord.js
- Документация discord.js №2
- Руководство discord.js
- Руководство discord.js №2
Источник: http://itnan.ru/post.php?c=1&p=507948
Установка discord-бота
Создаем новое приложение на портале разработки discord.
Переходим на портал и нажимаем на “new application”.
![](https://cdn-images-1.medium.com/max/800/1*dD29Ux9_qbnx_rRpNMtNRQ.png)
Затем вводим название приложения и нажимаем на кнопку “create”.
![](https://cdn-images-1.medium.com/max/800/1*If4Fcxk3wt8-RXkBTu-Klg.png)
Затем переходим на вкладку бот и нажимаем на “add bot”.
![](https://cdn-images-1.medium.com/max/800/1*daVs0aZixMCdPM0Mg2DJfg.png)
Бот создан! Теперь можно перейти к добавлению его на сервер.
Добавление бота на сервер
Добавляем созданный бот с помощью генератора OAuth2 URL.
Для этого переходим на страницу OAuth2 и выбираем бота в панели scope.
![](https://cdn-images-1.medium.com/max/800/1*uCklpr-TASefXirQR9U6Pg.png)
Затем выбираем необходимые разрешения для проигрывания музыки и чтения сообщений.
![](https://cdn-images-1.medium.com/max/800/1*QMw4cIyGqUsm5RW577tZBA.png)
Теперь копируем сгенерированный URL и вставляем его в браузер.
![](https://cdn-images-1.medium.com/max/800/1*ZRoyH00MI8XPk5YLUEvwlA.png)
Затем выбираем сервер, на который хотим добавить URL и нажимаем на кнопку “authorize”.
![](https://cdn-images-1.medium.com/max/800/1*qpm_rQF7e71Aw89JeaDurw.png)
Источник: http://nuancesprog.ru/p/4195/
Spice up your Discord experience with our diverse range of Discord bots
Bots
Servers
You must be logged in to upvote bots! Login
Discord Fortnite
-
MysticOverBot
A multi-purpose bot with features like memes, music, moderation and more!
Promoted
ViewInvite
-
Spixx
Spixx includes a large range of commands for everyone to enjoy! Ranging from Currency, Image, Roleplay & More!! Try them out for your self<3
Promoted
ViewInvite
-
465 ONLINE N/A
Rumble Royale
Rumble Royale is a battle royale bot; every player will be put into a game where they fight against each other till there is only one winner
Game, Roleplay
View Invite
-
222 ONLINE 49,140 Servers
EpicFreeGames
Get the latest free games at the Epic Games store. Useful Epic Games discord Bot to give your gaming server more activity!
epic games, Fortnite
View Invite
-
207 ONLINE 3,195,947 Servers
Carl-bot
Custom commands, reaction role assignment, twitch, starboard, polls, levels, moderation, logging, timers, announcements, Dashboard
Role Management, Moderation
View Invite
-
96 ONLINE N/A
Mia
Hola! soy Mia, un bot de Fortnite — Salvar el Mundo — Battle Royale.
battle royale, Fortnite
View Invite
-
90 ONLINE 638 Servers
Wolf Bot 2.0
A fun discord bot. With many options for you to use.
Fortnite, Fun
View Invite
-
84 ONLINE 91,118 Servers
Yunite
A custom game matchmaking, verification and creative bot for Fortnite with additional multi-purpose features
Fortnite, Game
View Invite
-
69 ONLINE 2 Servers
KassBot
KassBot Bot es un bot de discord diseñado para moderacón y brindar información amplia sobre Fortnite.
Moderation, Fortnite
View Invite
-
67 ONLINE N/A
MP TV FN BOT
Der FORTNITE Bot!Ein Mehrzweckbot, der viel Spaß und nützliche Befehle hat
Fortnite, Fun
View Invite
-
57 ONLINE 377 Servers
Elo by Anddy
Easily make elo matchmakings for any game — such as cs:go, fortnite, rocket league and more — with player’s individual stats tracking
Game, Leveling
View Invite
-
37 ONLINE 11,215 Servers
Icarus
HD Music, Playlists, React Role, Starboard, Giveaways, Anime Searching, Image Generation, Advanced Settings, Currency, Games, & More!
Anime, Economy
View Invite
-
33 ONLINE N/A
I_am_Bot
I_am clan official stick prefix with many commands prefix: —
Moderation, Music
View Invite
-
31 ONLINE N/A
iFBR
Fortnite information bot with Cosmetic Information, Custom Icon Generation, News, Item Shop, Challenges and Much More!
Fortnite, Game
View Invite
-
28 ONLINE 6,766 Servers
Mushroom
Real game questing + currency bot for your Discord, supporting 1000+ games. Featuring pets, profiles, happy hours, group quests and more!
Fun, Economy
View Invite
-
25 ONLINE N/A
Fortnite Competitive Helper
Discord bot that gives full info about fortnite competetive events and even has an option to get their live rank at the event.
Fortnite
View Invite
Источник: http://top.gg/tag/fortnite
Создание проекта
Переходим к созданию проекта с использованием терминала.
Для начала создаем директорию и переходим в нее, используя две следующие команды:
mkdir musicbot && cd musicbot
Затем создаем модули проекта с помощью команды npm init. После введения команды будут заданы несколько вопросов. Ответьте на них и продолжайте.
Создаем два файла, в которых мы будем работать.
touch index.js && touch config.json
Теперь откройте проект в текстовом редакторе. Я использую VS Code и открываю его с помощью следующей команды:
code.
Источник: http://nuancesprog.ru/p/4195/
Подготовка сервера
В качестве площадки для размещения бота я использую VDS под управлением операционной системы Ubuntu 18.04. Вы можете разместить бота и на других дистрибутивах, убедившись в том, что в них установлены нужные пакеты.
Команды для установки в Ubuntu 18.04:
sudo apt updatesudo apt install docker npm
Если вы используете другой дистрибутив, то установка необходимых пакетов может отличаться. Вы можете найти инструкцию для конкретного дистрибутива в документации или в поисковике.
Источник: http://timeweb.com/ru/community/articles/sozdaem-bota-dlya-discord-nodejs-docker
Improve this page
Add a description, image, and links to the discord-js-bot topic page so that developers can more easily learn about it.
Curate this topic
Источник: http://github.com/topics/discord-js-bot
Files
TypeNameLatest commit messageCommit timeimgAdd files via upload7 months agoREADME.mdUpdate README.md2 months agoconfig.jsonУЛУЧШЕНИЕ 200IQ ЫЫЫЫ8 months agoindex.jsUpdate index.js8 months agopackage.jsonПример package.json8 months agostart.batCreate start.bat8 months agostart.shАналог start.bat только для linux8 months ago
Источник: http://zen.yandex.ru/media/id/5f2d6beeb99bcb23436d0d38/sozdanie-prostogo-discord-bota-s-pomosciu-biblioteki-discordpy-5f3681fb5638c721a4e41060
Как создать бота в Дискорд на Python
Еще один способ — сделать Дискорд бота на Python. Общий алгоритм действий следующий:
- Установите текстовый редактор.
- Подготовьте Python 3.4.2+ и Pip3 (менеджер пакетов, необходимый для установки библиотек).
- Создайте пустой файл с названием, к примеру, chatbot.py.
- Откройте его с помощью текстового редактора и вставьте код. Для его написания необходимо владеть языком Python.
- Пример кода — gist.github.com/Tetraquark/911eb07052be10f0bb1323adb4056f86.
- Поменяйте значение переменной DISCORD_BOT_TOKEN, где нужно сохранить токен бота. Для получения информации перейдите по ссылке discord.com/developers/applications, выберите нужный бот Дискорд или создайте новый, а после жмите на clich to reveal, где откроется токен приложения. Занести его в переменную DISCORD_BOT_TOKEN.
- Сохраните файл и запустите бот Дискорд.
Для выполнения указанной выше работы необходимо обладать определенным набором знаний.
Источник: http://discordgid.ru/kak-sozdat-bota/
Список команд
Используемые источники:
- https://discordik.ru/boty/fortnite/
Для этой статьи работает наш еженедельный конкурс комментаторов.
Оставьте ваш комментарий в форме ниже и автору лучшего комментария за неделю (самого полезного по нашему мнению) мы подарим приз — iPhone XR 128Gb.
Чтобы мы могли связаться с вами обязательно при отправке комментария укажите ваш e-mail.
Результаты вы сможете узнать на этой странице через неделю.
Источник: http://geopressa.ru/interesnoe/bot-magazin-fortnajt-dlya-diskorda
Создание Docker-контейнера
Теперь в рабочей директории нам нужно создать Dockerfile, который будет содержать инструкции для сборки образа, на основе которого будет запущен контейнер. В него мы запишем:
FROM node:14WORKDIR /home/my-discord-botCOPY package*.json ./RUN npm installCOPY . .EXPOSE 8080CMD [«node», «app.js»]
Создадим файл .dockerignore и запишем туда несколько локальных файлов, которые будут игнорироваться:
node_modulesnpm-debug.log
Соберем образ и запустим на его основе контейнер:
docker build -t authorname/my-discrod-botdocker 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
Источник: http://timeweb.com/ru/community/articles/sozdaem-bota-dlya-discord-nodejs-docker
Применение Discord Bot Maker
Как вариант, можно создать бота с помощью Discord Bot Maker. Это мощный инструмент, позволяющий сделать помощника, умеющего отправлять файлы, генерировать и отправлять сообщения, манипулировать эмодзи, редактировать изображения и т. д.
Чтобы создать Дискорд-бота, сделайте следующее:
- Скачайте и установите утилиту.
- Жмите на кнопку создания бота.
- Установите необходимые команды.
- Сохраните и запустите bot для Дискорд
Процесс создания интуитивно понятен, поэтому не будем останавливаться на нем подробнее.
Источник: http://discordgid.ru/kak-sozdat-bota/
Документация
https://discord.js.org/#/docs/main/stable/class/Message — Список всех методов для сообщения. И вообще очень полезный сайт с подробной документацией.
Если есть вопросы — можете зайди ко мне в дискорд сервер и задать его.
https://discord.gg/6uRxTGE
Источник: http://vk.com/@moonlydays-sozdanie-bota-v-discord-na-nodejs-chast-1