Как сделать кнопку в дискорд боте

Обновлено: 07.07.2024

Начнём. Ссылка на мой youtube канал.

Discord bot туториал. Туториал по созданию ботов для дискорда на node.js используя discord.js.

Creation date : 06.12.2019

Давайте начнём создание бота. Если у вас установлена node.js, то пропустите сделающие 2 строчки. Заходим на сайт node.js, скачиваем, устанавливаем. Скриншотов процесса установки нету, тк переустанавливать node.js нету желания. Но там всё интуитивно понятно.

Создание файлов, инициализация проекта, установка библиотек.

Создаём папку bot. Желательно не использовать кирилицу, юникод и т. п. в названии. Сразу же создаём файл index.js или bot.js. Это не несёт особого смысла. Можно назвать как угодно, но принятно index.js / bot.js. Это будет главный файл бота, т.е. первым запускается, в нём основной код бота. Далее открываем консоль / терминал если у вас linux. Для быстрого открытия консоли на windows можно нажать WIN + R, ввести cmd. Далее переходим в папку бота, думаю как это сделать через консоль всем понятно. Пишим : npm init - инициализация проекта. Жмём enter до конца. Если ошибка в package name, то напишите bot. npm i discord.js - установка библиотеки discord.js.

Далее рекомендую установить один из следующих редакторов кода :

Если очень слабый компьюер можете поставить notepad++, но это для постоянной основы не самый хороший вариант. Лично я использую Atom.

Вы можете зарегистрировать его на сайте discord developers. Жмём кнопку "New Application". Вводим название бота. Жмём "Create". Переходим во вкладку "Bot", нажимаем "Add Bot", затем "Yes, do it!" Находим строку "token", немного ниже есть кнопка "Copy", нажимаем. Теперь в вашем буфере обмена есть токен бота.

Создадим первый код. Пишем :

Открываем консоль, переходим в папку проекта и пишем :

в зависимости от названия файла. Если у вас windows, то вы можете создать файл start.bat с текстом

Если линукс, то вы можете создать файл start.sh

Это будет запускать бота. Далее я не буду говорить про запуск. Делайте это сами.

Создаем файл config.json с конфигурацией нашего бота.

В начале кода бота напишем :

Еще вы можете создать конфиг прямо в коде бота.

Но второй вариант крайне не рекомендуется использовать, ведь для того что-бы изменить конфиг бота нам придется изменять его код.

Давайте залогируем тег автора.

Также можно писать не

.startsWith проверят начинается ли строка с символов в аргументах.

Также даже начинающим программистам будет очень полезна в боте команда !eval для выполнения кода не пиша его в коде бота, т.е. вы пишите !eval какой-то код и бот выполняет этот код.
Я нашёл хороший туториал по этой команде на github. Рекомендую ознакомиться и взять себе команду в код бота. Принцип её работы мы разберём позже. Тык.

Image alt

Это называется RichEmbed (Embed). Давайте отправим простой эмбед похожий на данный. (Картинка ниже)

Image alt

Для этого создадим новую команду !ping .

В Embed есть много различных параметров, вы можете прочесть их далее, либо посмотреть на оффициальном сайте discord.js

Давайте сделаем команду для получения информации о пользователе. Команда взята из моего бота. Будем использовать библиотеку moment.js , устанавливаем npm i moment.js

Image alt

Мой дискорд сервер!

Прошу зайти на мой дискорд сервер, ведь я долго делал туториал, а вам не сложно зайти на мой сервер в виде благодарности.

Для начала вам нужно создать новый сервер в 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). Сохраните его в любом текстовом документе, чтобы не возвращаться к этому шагу.

Создать бота и добавить его на сервер, скопировать токен бота

Сначала вам нужно создать приложение, затем в этом приложении создать бота и настроить для него разрешения, и только после этого — добавлять бота на сервер.

1. На вкладке Applications выберите New Application.

2. Введите название будущего приложения (1) и нажмите Create (2).

3. Приложение создано. Перейдите не вкладку Bot (1) и нажмите Add Bot, чтобы добавить нового бота.

4. Согласитесь добавить бота в ваше приложение.

5. Бот создан. На вкладке Bot отобразится вся информация о нем. Тут можно изменить его имя, добавить изображение и скопировать токен бота (1). Этот токен понадобится вам для настройки модуля Discord на платформе Appmaster.i. Каждый раз при внесении изменений портал разработчика будет предлагать вам сохранить их (2).

Сохраните токен бота, чтобы при последующей настройке не возвращаться к этому шагу.

7. Вставьте скопированную ссылку в адресную строку браузера и перейдите по ней — откроется окошко вашего приложения. Выберите ваш сервер в раскрывающемся списке (1) и нажмите Continue (2).

8. Убедитесь, что приложению (а значит, и созданному в нем боту) даны только необходимые разрешения, после чего добавьте его на ваш сервер.

Через AppMaster.io Studio подключить бота в приложение

Создаем бота для Discord

В этом ознакомительном HOWTO я расскажу, как можно немного занять себя на время карантина и сделать бота для своего Discord-сервера. Мы развернем NodeJS в Docker под Ubuntu 18.04 и запустим в нем бота с парочкой простых команд. В конце я оставлю ссылки на полезные источники информации, чтобы вы могли дальше развивать бота, наделяя его полезными функциями.

Программное обеспечение сервера, используемое в этом уроке:

  • Ubuntu 18.04
  • Docker 19.03.6
  • npm 6.14.5

В этой статье подразумевается, что вы обладаете навыками работы в командной строке Linux.

Первые шаги

New application

В появившемся окне нужно придумать имя своему приложению (будущему боту):

Бот Дискорд

После указания имени и создания приложения мы можем перейти к созданию бота. Для этого в левом меню выберите пункт “Bot” и нажмите на кнопку “Add Bot”.

Добавить бота в Discord

Последним шагом здесь будет копирование token по кнопке “Copy”. Держите в секрете ваш token и сохраните его куда-нибудь — он понадобится позже.

Токен Discord

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

В качестве площадки для размещения бота я использую VDS под управлением операционной системы Ubuntu 18.04. Вы можете разместить бота и на других дистрибутивах, убедившись в том, что в них установлены нужные пакеты.

Команды для установки в Ubuntu 18.04:

Если вы используете другой дистрибутив, то установка необходимых пакетов может отличаться. Вы можете найти инструкцию для конкретного дистрибутива в документации или в поисковике.

Настройка Iptables для чайников

Как установить и настроить NTP на сервере

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

Как я указал в начале статьи, мы будем использовать NodeJS для запуска бота. Дополнительно нам потребуются две библиотеки:

  • discord.js (основная библиотека для работы бота);
  • dotenv (будет использоваться для конфигурационного файла).

Создадим рабочую директорию проекта и файл package.json. В моем случае рабочая директория располагается в директории /home, но вы можете выбрать любую другую на свое усмотрение.

Примерный вид файла:

В нем мы указали имя будущего пакета (name), версию (version), описание (description), автора (author), основной файл (app.js) и список зависимостей (dependencies).

Запустим npm install и убедимся, что создался файл package-lock.json, который потом также будет скопирован в контейнер.

Теперь создадим файл самого бота app.js и запишем в него следующий код:

Учитывая, что здесь используется конфигурационный файл, создадим в рабочей директории .env и запишем в него:

Вместо “tokenbot” подставляется token бота, который был сохранен в начале статьи, а в качестве prefix указывается символ, после которого будут вводиться команды. Я выбрал в качестве префикса “!”, но вы можете выбрать другой удобный символ, если только он не используется самим Discord, как например “@” или “/”.

Создание Docker-контейнера

Теперь в рабочей директории нам нужно создать Dockerfile, который будет содержать инструкции для сборки образа, на основе которого будет запущен контейнер. В него мы запишем:

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

Соберем образ и запустим на его основе контейнер:

Вместо “authorname” можно ввести имя пользователя, от которого создается бот, и через “/” указать имя бота.

Проверим, что контейнер запустился, специальной командой:

Добавление бота на сервер

Бот запущен и работает в контейнере. Осталось только пригласить его на сервер и проверить его работу.

Для приглашения необходимо:

Выбор сервера для бота

Теперь мы можем проверить работу двух команд, созданных ранее:

Проверка команд бота

Заключение

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

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

Надеюсь, этот материал будет полезен для всех, кто давно хочет создать собственного бота в Discord, но не знает, с чего начать.

Полезные боты в Discord

Discord — один из популярных мессенджеров для удалённой работы. У него простой интерфейс и широкий набор бесплатных функций. Но одно из главных преимуществ дискорда — возможность добавлять ботов для решения разнообразных задач: от проигрывания музыки до модерации чатов. Рассказываем, что умеют делать боты в дискорде, как их установить и сколько они стоят.

Зачем вообще нужны боты в дискорде

Бот – программа, созданная, чтобы решать однотипные и повторяемые задачи по заданному алгоритму. Боты в Discord выполняют рутинные задачи, причём их скорость обработки операций существенно выше человеческой.

Что делают боты в дискорде:

Разберём, какие именно боты решают перечисленные задачи.

Ежедневные советы от диджитал-наставника Checkroi прямо в твоем телеграме!

Музыкальные боты

Музыкальные боты позволяют проигрывать разные треки на серверах в дискорде. Вы создаёте сервер, добавляете участников, а затем подключаете к нему помощника. Он воспроизводит песни в указанной вами последовательности, может регулировать громкость воспроизведения, делать паузы между треками и др.

Долгое время самым популярным музыкальным был Rhythm, но 15 сентября 2021 года Discord запретил его использование по требованию YouTube. Мы предлагаем альтернативы, которые не уступают заблокированному боту.

MoscowMusic

MoscowMusic — музыкальный бот на русском языке с оригинальным дизайном.

бот MoscowMusic

MoscowMusic не требует настройки. Его основная команда – /m!help — она даёт быстрый доступ к документации и краткому описанию остальных команд.

  • запускать проигрывание песен;
  • вызывать поиск песен на ютубе;
  • показывать очередь песен, находить подробную информацию по той, что играет в данный момент;
  • управлять эфиром: ставить песни на паузу, возобновлять проигрывание, перемешивать очередь воспроизведения;
  • включать и отключать DJ-режим.

Особенность . Основное преимущество — гибкий код. Это позволяет техподдержке контролировать ход работы и обеспечивать стабильность.

FredBoat

FredBoat — музыкальный бот, который проигрывает в дискорде музыку в хорошем качестве.

бот FredBoat

FredBoat прост в использовании и не требует особой настройки. Он предлагает много интеграций с другими сервисами вроде YouTube, SoundCloud, Bandcamp, Twitch, Vimeo, Mixer или Spotify. FredBoat также поддерживает плейлисты и прямые трансляции.

По умолчанию он работает на английском, но команда /lang позволяет менять язык в своём сервере. Так, чтобы изменить язык на французский, введите: /lang fr_FR

  • искать песни на ютубе и саундклауд;
  • перемешивать и повторять песни из плейлиста;
  • ограничивать и блокировать тех, кто рассылает спам;
  • менять очередь воспроизведения треков.

Особенности . Иногда FredBoat заикается — это происходит из-за большой нагрузки, особенно в выходные дни. Также он не позволяет воспроизводить видеоролики на ютубе, которые заблокированы в США. Если вы не используете бота слишком долго, он автоматически покидает голосовой канал. Это позволяет повысить его производительность.

Lacuna

Lacuna – улучшает функциональность сервера. Предлагает простые команды с понятным описанием.

бот Lacuna

Особенности . Проявляйте активность на сервере, зарабатывайте опыт и получайте награды. Проводите соревнование с другими пользователя в борьбе за почётное место в таблице лидеров.

ProBot

ProBot — многофункциональный бот для модерирования и администрирования. Поддерживает разные языки, в том числе русский.

бот ProBot

Особенности. Есть два тарифа: основной и премиум. Основной тариф позволяет воспроизводить музыку и регулировать громкость, проводить разблокировку заблокированных пользователей. Тариф «Премиум» включает все перечисленные функции, а также позволяет менять имя и аватар ProBot вашего сервера.

Стоимость . Стоимость основного тарифа – 2,5$ в месяц или 24,99$ в года. Стоимость 9,99$ в месяц или 79,99$ в год.

Голосования

В дискорде нет функции для создания опросов и голосований. Но если вы хотите узнать мнение участников чата по какому-то вопросу, воспользуйтесь специальным ботом.

Simple Poll

Simple Poll — бесплатный бот для создания опросов в Discord. Умеет выполнять всего одну команду: /poll.

бот Simple Poll

Если хотите задать вопрос с несколькими ответами — от одного до десяти, команду прописывайте так: /poll «Вам нравится Simple Poll? » «Очень нравится», «Нравится», «Пойдёт», «Не очень», «Совсем не нравится»

Если хотите задать вопрос, где можно ответить только «да» или «нет», так: /poll «Вам нравится Simple Poll? »

Обратите внимание: вопросы и ответы к ним всегда пишутся в кавычках.

Особенности . Аватар Simple Poll означает четыре варианта ответа, каждый обозначает разное количество голосов.

Easy Poll

Easy Pool — помогает проводить опросы разной сложности. Вы сможете проводить простые опросы, где участники выбирают только «Да» или «Нет», или сложные — где разрешается указать до 20 вариантов ответа.

бот Easy Poll

Easy Pool умеет :

  • проводить опросы неограниченные по времени – команда /pollPoll;
  • проводить опросы с ограничением по времени – команда /timepollPoll;
  • закрывать опросы, чтобы участники больше не могли голосовать – команда /closepollPoll.

Стоимость . Есть тариф Premium – 3$ в месяц. На нём вам доступны все возможности бесплатного тарифа, а также премиум-поддержка.

Распределение ролей

Роль в дискорде — это определённый набор разрешений на сервере. В дискорде есть 31 разрешение и все они подразделяются на группы:

Боты в дискорде позволяют автоматически присваивать участникам сервера определённые роли.

Dyno – настраиваемый бот с простой и интуитивно понятной веб-панелью управления. Дополнен модулем Autoroles, который состоит из двух частей: Autoroles и Joinable Ranks.

  • Autoroles позволяет автоматически назначать и удалять роль после того, как участник присоединится к вашему серверу – либо сразу, либо по истечению определённого промежутка времени.
  • Joinable Ranks позволяет создавать роли на сервере, к которым пользователи могут присоединиться через команду /?rank

Особенности . На бесплатном тарифе доступны максимум три роли. Премиум-тариф предлагает более высокую скорость работы и неограниченное количество ролей.

Стоимость . Есть несколько премиум-планов. Premium 1x – $4.99 в месяц для одного сервера. Premium 3x – $11.99 в месяц для трёх серверов. Premium 5x – $14.99 в месяц для пяти серверов.

Yui – один из популярных ботов для модерации и распределения ролей. Изначально задумывался как музыкальный, но постепенно его функционал расширялся. Всего умеет выполнять более 200 команд. С их полным списком вы можете познакомиться с помощью команды y/help.

бот Yui

  • выдавать роли пользователям;
  • забирать роли у пользователей;
  • выдавать и убирать предупреждения;
  • вести статистику пользователей;
  • выявлять топ-10 лучших пользователей по рангам;
  • банить пользователей на сервере.

Особенности . Есть внутренняя система валюты – Юики. Вы можете играть в слоты на Юики, а потом покупать на них роли.

Переводчики

Mr Translate

бот Mr Translate

Стоимость . Есть премиум-тариф – 5$ в месяц. Дополнительно доступны 400 000 символов для Azure и премиум поддержка.

RitaBot

RitaBot — бесплатный переводчик, который помогает преодолеть языковой барьер миллионам пользователей дискорда. Есть автоматический перевод каналов, реакцию на флажки и пользовательские переводы.

бот RitaBot

Особенности . Для корректной работы бота, убедитесь, что дали ему необходимые разрешения: на чтение, на запись, на отправку уведомлений и др.

Многофункциональные боты

Многофункциональные боты берут на себя решение почти всех рутинных задач: приветствуют новых участников, назначают роли пользователям, блокируют спам. Они помогают разгрузить модераторов и улучшить пользовательский опыт. Обычно предлагают набор стандартных готовых команд, но, если их недостаточно — создавайте свои.

Наиболее популярные и простые в настройке многофункциональные помощники: MEE6, JuniperBot и Tatsumaki. Рассмотрим их более подробно.

MEE6 — многофункциональный бот с главным меню на русском языке.

бот MEE6

Стоимость. Есть бесплатная базовая версия, а есть платные: от 11,95$ до 49,99$ за год.

Tatsumaki

Tatsumaki переводится как «Торнадо» – имя главной героини аниме «Ванпанчмен». По легенде девушка обладала разрушительной силой, могла моментально разрезать врага на части. Названный в честь неё бот Tatsumaki может похвастаться не меньшей мощью. Он предлагает множество функций, которые решают разные задачи: от проведения опросов до ввода внутренней валюты.

бот Tatsumaki

  • Уровни и репутация . Начисляет баллы пользователям, повышает их персональный статус и полномочия в группе. Вводит рейтинговую систему, которая позволяет участвовать в голосованиях.
  • Валюта и персональные параметры . Имеет внутреннюю валюту и экономику. Участники могут обмениваться валютой и покупать Tatsugochi капсулы, а также играть в казино.
  • RSS-каналы . Есть возможность оформить подписку на RSS-каналы любого портала, запустить фильтрацию новостей.
  • Голосования . Проводит опросы и голосования. Устраивает лотереи с последующим выявлением победителей.
  • Напоминания . Отправляет персональные напоминания со сроком актуальности до 7 дней – их отправку вы настраиваете с помощью команд.

JuniperBot

JuniperBot — многофункциональный бот, который поддерживается русский и английский язык. Все инструменты настраиваются в удобной панели управления на сайте, поэтому вам не нужно мучиться с командами.

бот JuniperBot

Основное преимущество – хорошо структурированная и интуитивно понятная панель управления. Вам не придётся тратить много времени, чтобы разобраться, как работать с ботом.

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

Принцип добавления ботов на сервер одинаков. Рассмотрим, как добавить бота на сервер на примере JuniperBot.

бот JuniperBot



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

Коротко о главном

Боты — незаменимые помощники для решения рутинных задач. Они помогут сэкономить время и повысить эффективность управления сервером. Есть боты, которые выполняют только одну функцию, например, создают опросы. А есть и мультифункциональные — они решают сразу несколько задач, и как настоящие менеджеры берут на себя контроль за действиями участников.

Если вы начали искать бота для дискорда, но так и не нашли подходящего, можете сделать своего. Вот подборка курсов на Python , которые позволят освоить азы программирования и создать универсального бота-помощника под ваши задачи

Читайте также: