Все секреты компьютера для новичка и профессионала

Как в мессенджере Дискорд создать своего бота, инструкция по написанию

Как в мессенджере Дискорд создать своего бота, инструкция по написанию

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

С чего начать

Может, где-то на просторах интернета и «гуляют» готовые конструкторы (их иногда называют Creator) ботов, они довольно ограничены по функционалу. Так как невозможно предсказать все желания пользователя. Потому мы будем рассматривать разработку Discord bot на основе языка программирования JavaScript(JS), а точнее платформы Node.js. Первым делом необходимо создать приложение в базе Discord.

screenshot_1

Для этого выполните следующие действия:

  • Перейдите по этой ссылке. Рекомендуем сделать это не на телефоне, а через компьютер.

screenshot_2

  • Нажмите на кнопку «New Application».

screenshot_3

  • Введите название для приложения. В будущем оно будет отображаться как имя бота.

screenshot_4

  • Перейдите в раздел «Bot», который находится в левом навигационном меню.
  • Нажмите кнопку «Add bot». Подтвердите действие. Если возникнет ошибка, то, скорее всего, название вашего приложения уже использовалось и нужно придумать новое. Отредактировать его можно в разделе «General».

screenshot_5

  • Найдите поле «Token». Кликните по ссылке под ним. Должен появиться длинный текст из разных символов. Это и есть токен, с помощью которого происходит обращение к боту.
  • Скопируйте его и сохраните куда-то. Без него обращение невозможно. Также не рекомендуем показывать этот токен кому-либо, так как этот кто-то сможет управлять вашим приложением.

screenshot_6

Готово. Местечко для приложения мы уже подготовили. Осталось установить сам код на выделенном хостинге.

Подготовка сервера

В нашем случае будет использовать VDS (виртуальный выделенный сервер) с ОС Ubuntu 18.04. Если вы новичок, то рекомендуем остановиться именно на этом дистрибутиве. Сам сервер необходимо арендовать. Для обучения можно найти и бесплатный хостинг. Для подготовки сервера выполняем следующие действия:

  • Запустите сервер и откройте терминал. В Ubuntu достаточно нажать ПКМ по рабочему столу и выбрать «Терминал».
  • Введите следующие команды:
    sudo apt update

sudo apt install docker npm.

 

screenshot_7

Таким образом мы установили npm, который нужен для установки пакетов node.js. Уже непонятно? Тогда рекомендуем для начала ознакомиться с базовым курсом по JS и Node.js. Впрочем, если полностью следовать инструкциям, дополнительный материал для изучения не понадобится.

Создание основных файлов бота

Теперь переходим к разработке самого программного кода. Любой исполняемый код должен помещаться в текстовом файле в отдельной директории. Подробный алгоритм подготовки окружения:

  • Откройте терминал.
  • Перейдите в домашний каталог с помощью команды «cd /home».
  • Создайте директорию с произвольным названием. В нашем случае это будет mkdir newbot.

screenshot_8

Готово, окружение подготовлено. Переходим к файлам.

Добавление команд

Первый делом создайте в этой директории файл package.json с помощью команды «touch package.json». С помощью текстового редактора заполните файл следующими строками:

{

"name": "*здесь укажите имя бота*",

"version": "*его версию (на свое усмотрение) *",

"description": "*описание, которое будут видеть пользователи*",

"author": "электронный адрес автора",

"main": "main.js",

"keywords": [

"nodejs"

],

"dependencies": {

"discord.js": "^12.1.1",

"dotenv": "^8.2.0"

}

}

screenshot_9

Обратите внимание на строку «"main": "main.js"». Внутри кавычек указывается исполняемый файл. В нашем случае это main.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 ${bot.user.tag}!`);

console.info(`Current prefix: ${prefix}`);

});

bot.on('message', message => {

if (message.content === `${prefix}hello`) {

console.log(message.content, message.author);

message.channel.send('hello!');

}

});

bot.on('message', message => {

if (message.content === `${prefix}server`) {

console.log(message.content, message.author);

message.channel.send(`Сообщество: ${message.guild.name}\nУчастников: ${message.guild.memberCount}`);

}

});

screenshot_10

Это простейший скрипт, который будет приветствовать пользователя и по команде «Server» выводить количество участников. Теперь создадите файл .env, в котором необходимо написать следующие строки:

token=*токен, который был скопирован при создании бота*

prefix="*символ, с которого будут начинаться команды*"

В звездочках указаны места, куда нужно ввести свои данные. При подготовке кода эти звездочки писать не нужно.

screenshot_11

Тестирование

По сути, скрипт выше не взаимодействует со стандартным интерфейсом JS, а «общается» сразу посредством discord API. Следственно, проверить его работоспособность сразу не получится. Единственное, что может сделать пользователь на этом этапе, так это проверить, запустится ли код вообще. Для этого необходимо из терминала ввести команду «npm start», находясь в директории с проектом. Если никаких ошибок не возникло, то переходите к следующему этапу.

Docker-контейнер

Docker – это специальное окружение для проекта, которое позволяет запустить код, вне зависимости от параметров основной системы. Он также поможет собрать сам проект и запустить его локально на сервере. Для этого создайте файл Dockerfile со следующим содержимым:

FROM node:14

 

WORKDIR /home/newbot

COPY package*.json ./

 

RUN npm install

 

COPY . .

 

EXPOSE 8080

 

CMD ["node", "app.js"]

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

node_modules

npm-debug.log

Для запуска и сборки используем следующие команды:

docker build -t author/test

docker run -p 42150:8080 -d author/test

screenshot_12

Как добавить своего бота не сервер

Можете спокойно выдохнуть, на этом все сложности заканчиваются. Добавления займет не более 1 минуты. Для инсталляции (от слова «install») снова вернитесь в окно создания приложения. Но теперь перейдите в раздел «OAuth2». В разделе «Scopes» выберите пункт «Bot». Сервис выдаст ссылку, которую нужно вставить в адресную строку.

screenshot_13

Дальше у вас спросят, в какой сервер добавить бота. Когда эти процедуры завершатся, можете смело проверять ваше творение. Пока бот может выполнять только одну команду: «!server». Вместо «!» будет указан префикс, который вы использовали в скрипте. В идеале должна вернуться строка следующего вида:

Сообщество: *название сообщества*

Участников: *количество участников*

А на этом все. Не забывайте, что по истечении срока аренды хостинга отключится и приложение.

screenshot_14

Благодарим за прочтение.

Информационный портал IT Техник
Вам помогло? Поделитесь с друзьями - помогите и нам!
Поделиться
Отправить
Класснуть
Линкануть
Вотсапнуть
Запинить
Комментарии к статье: 0
Добавить комментарий


Наш Youtube-канал
Канал Telegram

Прямой эфир

Алёна
Алёна
Отключите пожалуйста подписку и верните деньги
Как можно отписаться от платных услуг и подписок сервиса Vidoku Online
Лидия
Лидия
Здравствуйте, верните пожалуйста деньги, списание произошло так в телефон был у ребёнка. Списание денег произошло 03.01.2025. Если до конца недели не поступят деньги обратно буду обращаться в прокуратуру или полицию.
Как отменить подписку на ООО «Аб Софт» и почему они списали деньги
Иван
Иван
Номер карты 2202 2053 4280 6947
Как можно отключить подписку на сервис LovePage и вернуть свои деньги
Иван
Иван
Вернуть деньги сумма 789руб
Как можно отключить подписку на сервис LovePage и вернуть свои деньги
ольга
ольга
добрый день , как скачать и установить программу на ноутбук?
Что это за приложение Ozon Job, какие есть вакансии удаленной работы без опыта и отзывы о нем
Ольга
Ольга
Отключить гамме спорт подписку везде
Как отключить подписку на сервис gamesport bet и почему списывают деньги
татьяна
татьяна
Вторично (22.12 и 05.02) списываются автоматически 999.0р без предупреждения, безо всякого сообщения.Явно действуют мошенники
Как отключить подписку на сервис Nofit ru Istra и вернуть деньги – инструкция
Анастасия
Анастасия
Мошеники они
Как можно отписаться от платных услуг сервиса Imp Momento Credit Tambov RUS
Анастасия
Анастасия
Деньги списывают 3 дня,без подписки,горячая линия недоступна,мошеники
Как можно отписаться от платных услуг сервиса Imp Momento Credit Tambov RUS
Анастасия
Анастасия
Деньги списывают 3 дня,без подписки,телефон не берут,мошеники
Как можно отписаться от платных услуг сервиса Imp Momento Credit Tambov RUS
макс
макс
Winows 10(2004)? может 2014? в 2004-ом ещё не было windows 10, она появилась в 2014
Как удалить и отключить зарезервированное хранилище в системе Windows 10
Светлана
Светлана
Oтключите мне Game Sport
Как отключить подписку на сервис gamesport bet и почему списывают деньги
Елена
Елена
Прошу вернуть деньги и отменить подписку, так как пользовался телефоном ребенок. Я буду писать. Заявление в полицию, за крупную сумму списаний.
Как отменить подписку на ООО «Аб Софт» и почему они списали деньги
Владимир
Владимир
Чё за фигня с какого у меня списывают деньги я не регистрировался это чё за сайт
Как можно отменить подписку на сервис Vsegda love и вернуть свои деньги
Павел
Павел
Снимают деньги третий раз. От подписки отказался давно . Верните деньги
Как отключить подписку VinHub Moskva RUS, почему списали деньги и как вернуть
360
360
Про Laplink PCmover Express в тексте написано, что распространяется бесплатно. На первом же скрине - предложение о покупке express версии за USD 29,95. В каком мете оно бесплатное-то?
5 способов переноса данных и настроек с одного Windows 10 на Windows 10
Людмила
Людмила
Войти на свою страницу как Людмила Петровец
Вход на Мою страницу в социальной сети «Фотострана»
Елена
Елена
Здравствуйте. Верните деньги, списали 31 декабря 2024 года без моего ведома на сумму 890 рублей по московскому времени 22:51 и 499 рублей по московскому времени 23: 21 минута. Отмените подписку
Как отменить подписку на ООО «Аб Софт» и почему они списали деньги
Kolya
Kolya
Я отписался но всё равно списывают деньги
Что это за сервис Deepme Love и как можно отписаться от подписки – инструкция
BUNYOD
BUNYOD
Мошенники
Что это за сервис Deepme Love и как можно отписаться от подписки – инструкция
Татьяна
Татьяна
Я не могу отписаться от платных услуг, и телефон горячей линии не доступен
Как можно отписаться от платных услуг сервиса Imp Momento Credit Tambov RUS
Руслан
Руслан
Верните 1500т
Как отписаться от платных услуг и подписок сервиса Youzaym и вернуть деньги
Илхомджон
Илхомджон
Здравствуйте отмените подписку пожалуйста дети играли и подписали 2 раза сняли с карты деньги по 890
Как отменить подписку на ООО «Аб Софт» и почему они списали деньги
Татьяна
Татьяна
Почему списывают деньги? За что?!!!! Ни кредита не брала, ни займа. В суд на Вас подавать надо. Лохотрон. Люди! Не залезает в приложения такого рода. Буду звонить и добиваться. А трубку никто не берёт.
Как отписаться от платных услуг и подписок на IMP Dazaem Tula G RUS – инструкция
Виктория
Виктория
Здравствуйте подскажите пожалуйста как вернуть денежные 1990руб.Я этого не пользуюсь. Почему денег снимается...?
Как отменить подписку сервиса «Где мои дети» и почему он списывает деньги
Зина
Зина
Каждую неделю списывали по 999 р.Капец, мошенники
Как отключить подписку на сервис Nofit ru Istra и вернуть деньги – инструкция
Диля
Диля
Здравствуйте пожалуйста верните деньги Вы снимаете мои деньги за просто то почему у меня никакой скидка не надо верните денег
Как вступить в Вайлдберриз клуб и стоит ли, как потом отключить подписку
Марина
Марина
Списали 399 рублей не за что,верните деньги
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Клавдия
Клавдия
Делаю видео звук есть,загружаю в ТТ звука нету помогите исправить
Почему в ТикТоке пропадает и недоступен звук, причины блокировки и что делать
Ольга
Ольга
Здравствуйте! Не могу вернуть свои денежные средства за платную услугу на которую я не подписывалась как мне вернуть эти деньги подскажите пожалуйста
Как можно отписаться от платных услуг НКО МСС 8999 и свои вернуть деньги
Шатунова Ольга Ивановна
Шатунова Ольга Ивановна
Я искала налоги чтобы заплатить до 1 декабря, узнала о подписке когда сняли деньги. Налоги пришли почему то 4 декабря уже с пени.Прошу вернуть деньги.
Как отписаться от платных услуг и подписок сервиса Info Portal – инструкция
Людмила Сергеевна 71г.
Людмила Сергеевна 71г.
Ответа не получила. Honor7xb что означает вверху экрана слева рука или ладонь? Как удалить
Значки на экране телефона: что они значат
Ольга
Ольга
Мошенники с большой буквы!!!! Прежде чем подавать заявку проверить необходимо ...Эти люди больше потеряют в 100 раз
Как можно отписаться от платных услуг Fresh-zaim ru и вернуть свои деньги
Татьяна
Татьяна
Отключить подписку и не списывать деньги
Как можно отписаться от платных услуг и подписок сервиса Vidoku Online
Татьяна
Татьяна
Кто-нибудь знает, что будет, если в телефоне Techno запретить HIOS лаунчеру определять местоположение?
Что это за приложение – Hios Launcher и каков его функционал на Андроид
Котелков Геннадий Николаеви 18.02.1966
Котелков Геннадий Николаеви 18.02.1966
Можно с фото прислать ответ
Как найти водительское удостоверение по имени отчеству, фамилии и дате рождения
толя
толя
хаер тв не получается
Как транслировать видео с телефона на телевизор Haier – 4 пошаговых способа
мьУЫ
3 способа отключения клавиши Windows (Win)
Дмитрий
Дмитрий
Отключал подписку ещё в прошлом году. Почему происходит попытка списания денег ?Это мошенничество.
Что это за сервис YA Pochta, почему списали деньги с карты и как отключить подписку
полина
полина
не могу придумать пароль, ошибку выдает что делать
Как зарегистрироваться в мобильном приложении Wearfit Pro – инструкция
Павел
Павел
Мне не приходит подтверждения на почту, что только не пробывал. кто то сталкивался с этим?
Как зарегистрироваться в мобильном приложении Wearfit Pro – инструкция
Юлия
Юлия
Никуда не подписывалась и не заходила, деньги списали 399 рублей, верните мои деньги
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Ракутина Ирина
Ракутина Ирина
Списали деньги за подключение Start+ 21.12 со Сбербанка и 25.12 с Альфа банка. Прошу вернуть списанную 2ю проплату в сумме 499 на карту Альфа банка
Как отключить подписку на CP Start.ru Moskva RUS и за что списали деньги и
Татьяна Лебединцева
Татьяна Лебединцева
Здравствуйте, отключить подписку и вернуть деньги за ноябрь и декабрь я не пользуюсь вашими услугами.
Как можно отписаться от платных услуг и подписок сервиса Vidoku Online
Владислав
Владислав
Большие молодцы. Мастеру не надо тыкнуть носом в мелочи, достаточно указать направление. Удачи Вам. :)
Как обновить BIOS материнской платы Gigabyte
Елена
Елена
Был звук только в наушниках. Сначала перезагрузила,не помогло. Потом выключила телефон и почистила аудиовход спиртом. Включила,всё заработало.Спаси Господи!
Пропал звук динамика на смартфоне, а в наушниках есть — что делать?
Ксения
Ксения
Отпишите от платных услуг
Как можно отписаться от платных услуг сервиса МКК Аквариус займ – инструкция
Николай
Николай
Нет на компьютере опций ни удалить сообщение ни очистить историю Что то вы не то пишете!!!!
Как в Телеграме очистить чат и удалить беседу на разных устройствах
Владимир
Владимир
Здравствуйте, мой номер заблокировали по непонятной причине, писал в поддержку через форму, никакого эффекта, помогите пожалуйста! номер +972533357035
Почему иногда блокируют номер телефона в Телеграме и как можно снять бан
Akula_6123pw
Akula_6123pw
Отзывы о этом великолепном приложении говорят сами за себя
Что это за приложение 1tigrow – каковы его функции, как можно удалить и обойти