Дискорд бот дио команды
Всем привет.
В интернете очень мало качественных гайдов на тему разработки Discord-бота . Поэтому я решил написать полный подробный курс на эту тему.
В этом курсе мы будем учиться созданию Discord-бота на языке программирования Python (библиотека Discord.py) с нуля.
Создание приложения
Для начала нам нужно получить токен для взаимодействия с API Discord. Получить его достаточно просто.
Перейдите по ссылке https://discordapp.com/developers/applications/ . Если вы не авторизованы в аккаунте Discord - нужно будет авторизоваться.
Справа сверху появится кнопка "New Application" .
Нажимаем на нее. В открывшемся окне нам будет предложено ввести название нового приложения.
Вводим и нажимаем Create. Теперь нам нужно выбрать вкладку "Bot" в меню слева.
В правой верхней части экрана нажимаем "Add Bot" . В открывшемся окне нажимаем "Yes, do it!" .
Строка "USERNAME" - будущее имя бота.
Token - это и есть наш код доступа к API, ради которого мы все это делали.
Добавление бота в канал
После перехода по ссылке, в открывшемся выбираем наш сервер, куда мы хотим добавить бота.
Теперь нажимаем кнопку "Продолжить" , а затем "Авторизовать" , проходим проверку на робота. Готово! Наш бот добавлен в наш сервер.
Теперь перейдем непосредственно к разработке самого бота.
Установка Discord.py
Я буду показывать пример работы в Командной Строке Windows . В целом, ход действий мало отличается от Linux , так что, если у вас линукс, - пишите то же самое.
Для удобства работы лучше будет создать виртуальное окружение (Virtual Env) . В консоли переходим в папку нашего проекта. В ней выполняем следующие команды:
// Устанавливаем VirtualEnv, если он у вас еще не установлен
> pip install virtualenv
// Создаем нашу виртуальную среду
> python -m venv [название]
// Активируем виртуальную среду
[Windows] > [название]\Scripts\activate.bat
[Linux] > source [название]/bin/activate
// Активацию нужно будет повторять при каждом запуске консоли
Теперь нам нужно установить библиотеку Discord.py . Пишем в консоли:
Готово. Библиотека успешно установлено в наше виртуальное пространство. Теперь можно перейти непосредственно к коду.
Написание основы для бота
В папке нашего проекта создаем Python-файл с любым названием и открываем его в любом редакторе. В моем случае это будет bot.py .
В этот файл вы должны написать такой код:
import discord
from discord.ext import commands
token = 'токен'
bot = commands.Bot(command_prefix='/')
Создание первой команды
Гайд для GitHub по написанию бота c помощью discord.py
Дата написания данного гайда 05.02.2021 Библиотека discord.py может обновляться, поэтому после крупных патчей разработка бота может отличаться. В любом случае ближайшие несколько месяцев данный гайд будет актуален.
Что нам потребуется?:
- Стабильное интернет соединение
- Неплохие знания Питона
- Умение "гуглить" и находить нужную информацию
- Среда для написания кода
Я советую для разработки бота создать отдельный сервер в Дискорде, где мы будем проверять нашего бота, потому что почти ни у кого не получается запустить сложный код с первого раза, а спамить другим не очень хочется.
Создание Application'a:
После создания Application'а мы должны перейти во вкладку Bot, а затем нажать на кнопку Add Bot.
Если у вас появилось зеленая надпись по типу: A wild bot has appeared!, значит вы всё сделали правильно и бот у вас уже создан.
Подключаем нашего бота к серверу:
Для того чтобы подключить бота к вашему серверу Дискорд, нужно следовать простым инструкциям:
Нужно получить Client_ID вашего бота. Для этого мы переходим во вкладку General Information и копируем его нажав на кнопку Copy.
Копируем эту ссылку ==> https://discordapp.com/oauth2/authorize?&client_id=(тут)&scope=bot&permissions=8 . В эту ссылку вместо слова "тут" вставляем наш Client_ID. Скобки естественно убираем. Доп. информация: В нашей ссылке bot&permissions=8 означает что наш permissions integer равен 8. Проще говоря, это число отвечает за то, какие права будут выданы боту при подключении. Этот код можно узнать во вкладке Bot (в которой мы создавали бота). Пролистав вниз, вы сможете сами выбрать нужные вам права, но я советую оставить 8, так как если вы будете сами выбирать права, могут произойти казусные ситуации при работе с ботом.
После создания нашей ссылки мы переходим по ней, выбираем сервер на который хотите пригласить бота и нажимаем кнопку Авторизовать. После прохождения капчи наш бот успешно присоединится к серверу, но будет оффлайн. Не пугайтесь, это нормально, ведь наш бот еще не запущен.
Создание проекта:
Ну вот мы и готовы начать писать код для нашего прекрасного бота. Если вы знаете Python на ОЧЕНЬ низком уровне, я советую воздержаться от создания ботов и заняться чем нибудь более простым.
Для начала я советую создать пустую папку где мы будем хранить все файлы для нашего бота.
Затем если у вас не установлена библиотека discord.py, вам нужно её устновить. Для этого переходим в командную строку и пишем: pip install discord.py
Внимание, для установки библиотек требуется pip, если он у вас не установлен, то гугл в помощь ^_^
После успешной установки библиотеки, переходим в вашу любимую среду разработки, в моём случае это PyCharm. Затем создаем новый файл Python файл с названием "bot" (такое название не даст вам запутаться) и расширением .py и сразу сохраняем его в нашей папке с проектом.
Первые строчки кода: Начинаем писать скрипт для нашего бота.
Для начала подключаем (импортируем) наши библиотеки:
(можем запустить наш скрипт для проверки работоспособности библиотеки)
Создаем еще один файлик .py названием config, для хранения в нём опасных данных. Почему мы не можем просто создать переменные с этими данными? Всё очень просто. Это самый простой способ защитить себя от злоумышленников. Если кто-то каким-то образом получит ваш код, то не сможет управлять вашим ботом. Все наши токены будут хранится в отдельном файлике.
В файле config.py создаем словарь, к которому мы будем обращаться при работе в ботом:
Сохраняем файл config.py и возвращаемся обратно к файлу bot.py
Импортируем наш файлик config.py:
Написание "тела" для бота и первый запуск:
Я буду стараться объяснять подробно каждый шаг и каждую строчку, потому что на первый взгляд это может показаться сложным, хотя таковым не является.
- Переменная bot - это "тело" нашего бота. Ему мы присваиваем значение commands.Bot с определёнными аргументами.
- command_prefix=settings['prefix'] - это аргумент, в который мы вписываем значение нашего префикса. settings['prefix'] означает, кто мы обращаемся к словарю settings (который мы импортировали из файла config.py) и обращаемся к ключу prefix, в котором вписано нужное нам значение.
Затем мы можем проверить, запускается наш бот или нет. В библиотеке discord.py есть огромное количество разных ивентов (Event). Одним из них мы сейчас воспользуемся:
@bot.event - говорит нам о том, что ниже будет прописана функция, являющаяся ивентом.
async def on_ready(): - Асинхронная функция (Очень важно все функции создавать асинхронными, так как бот должен выполнять несколько функций в одно время). Ей присваивается значение on_ready, данная функция срабатывает когда бот полностью подключен и готов к работе. Аргументов у этой функции нет.
Создание первой команды:
Настало время создать первую команду для нашего бота:
Можем запускать нашего бота и проверять команду!
Давайте создадим еще одну команду, но уже с использованием посторонней библиотеки. Я возьму библиотеку random. Для начала её нужно подключить. Переходим в cmd (командную строку) и пишем pip install random, после чего начнется скачка библиотеки. Затем в самом начале кода пишем:
Я создал очень простую команду, которая умеет генерировать случайное число от 0 до числа, которого мы зададим сами:
Точно так-же говорим о том что ниже будет команда с помощью строчки @bot.command. Напоиманаю, что bot - это перемеенная, которую мы создали в самом начале. Это наше "тело" для бота. Дольше создаем асинхронную функцию randoms. Почему не random? Потому что название функции не может совпадать с названием библиотеки. Дальше мы передаем 2 аргумеента: ctx и arg. В arg поместиться наше число, которое мы будем задавать. Дальше я использую try, вы спросите зачем? Всё просто. Если мы случайно укажем вместо числа какой-то другой символ, бот в чате выдаст ошибку. Затем мы создаем переменную a - это наше сгенерированное число. Как генерировать числа с помощью библиотеки random вы сможете найти выше по ссылке. Дальше с помощью await ctx.send мы выводим наше число.
Есть еще очень классная "фича" в библиотеке discord.py как стили embed. Их обычно используют для красивого вывода какой либо информации на экран. Например команды help обычно делают с использованием этого стиля. Я создал небольшую и довольно простую функцию, которая называется menu. В неё мы например можем записать каждую команду в боте и указать что она делает. Вот что у меня получилось:
Некоторые строчки я буду пропускать, потому что я их свойства и значения я объяснял выше. В любом случае если вы что-то не поняли я оставлял ссылку на доп. информацию в самом конце гайда. Для начала мы задаем переменную embed, в которой мы будем хранить сам "embed", а так-же его значения. Color - цвет, title - текст, который будет являться "названием". В них мы записываем нужны нам значения. Кстати в color мы так-же можем записывать цвет словами, например "yellow", "white" и так далее. Дальше мы прописываем add_field, эта штука добавляет нам новую "строку" для "embed". В значение name мы записываем имя строки, в value - значение ну и в inline указываем True или False, она меняет расположение строки. Советую поиграться и выбрать самый оптимальный для вас вариант. Последней строчкой в значении embed мы просто указываем переменную, которую мы задали в начале функции.
Есть еще несколько вещей, которые я хотел бы разобрать, но это я сделаю в будущем
P.S Возможно, я когда нибудь дополню этот гайд дополнительными интересными командами и ивентами.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Начнём. Ссылка на мой 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. Рекомендую ознакомиться и взять себе команду в код бота. Принцип её работы мы разберём позже. Тык.
Это называется RichEmbed (Embed). Давайте отправим простой эмбед похожий на данный. (Картинка ниже)
Для этого создадим новую команду !ping .
В Embed есть много различных параметров, вы можете прочесть их далее, либо посмотреть на оффициальном сайте discord.js
Давайте сделаем команду для получения информации о пользователе. Команда взята из моего бота. Будем использовать библиотеку moment.js , устанавливаем npm i moment.js
Мой дискорд сервер!
Прошу зайти на мой дискорд сервер, ведь я долго делал туториал, а вам не сложно зайти на мой сервер в виде благодарности.
Пользователи приложения Discord могут пользоваться ботами. Это автоматизированные учетные записи, функционал которых настроен на выполнение команд участников сервера. Использование автоматизированных кодов позволяет существенно расширить возможности чата, добавить развлекательные или информационные функции. В использовании ботов нет ничего сложного, но нужно знать правильные команды для активации нужной функции. Рассмотрим, как управлять ботом в дискорде, а также, где найти нужные команды.
Где искать команды для конкретного бота
В дискорде доступны сотни автоматизированных аккаунтов, которые выполняю практически любые функции. Хоть в статье и буду рассмотрены только самые популярные, принцип использования всех ботов одинаков. Отличаются только команды, знание которых необходимо для правильного управления программным кодом. Найти их можно на сервере конкретного сервиса. В разделе технической информации большинство разработчиков указывают полный список доступных функций и команд для их активации.
Чтобы включить определенную функцию, нужно ввести команду с восклицательным знаком в начале. В большинстве программ есть раздел справочной информации, который активируется по запросу! help или! info. При активации данного раздела, пользователь сможет увидеть все доступные команды.
Также много ботов имеют интуитивно понятный интерфейс, который подсказывает пользователю, какие команды нужно вводить, сразу после активации сервиса. Также некоторые автоматизированные ученые записи имеют графическое оформление в виде кнопок меню, отвечающих за активацию команд. Их наличие существенно упрощает использование сервиса.
Важно! Команды в каждом боте отличаются, некоторые из них дают возможность пользователям создавать собственные функции. По этой причине важно подробно ознакомиться с возможностями программного обеспечения для изучения всех доступных функций. Пользовательские команды можно узнать у участников или в справочной информации конкретного чата.
Как управлять популярным ботом MEE6
Сервис MEE6 считается одним из самых популярных ботов приложения. Он позволяет просматривать подробную статистику чата и его участников. Также при помощи данного бота пользователи имеют возможность создавать собственные команды для своих серверов и настраивать уникальные поздравления для их участников. Функционал сервиса разнообразен, но знание базовых команд даст возможность подробно ознакомиться с доступными возможностями для их интеграции в собственные чаты.
Важно! Дополнительные параметры вводятся через пробел без дополнительных символов. Если ввести команду или параметр некорректно, бот выдаст ошибку.
Представлена только часть доступных пользователям функций. Полный список возможностей можно получить на сервере бота. Также в технической документации пользователи могут подробно ознакомиться с процессом создания кастомных команд для своих серверов.
Команды для бота Rhythm
Rhythm – популярный бот в дискорд, который позволяет добавлять треки с разнообразных музыкальных площадок и обеспечивает их потоковое воспроизведение. Основные команды помогут разобраться, как управлять ботом в дискорде.
- !music_play. Команда для воспроизведения музыки.
- !music_pause. Останавливает воспроизведение.
- !playskip. Перемещение трека в начало списка.
- !skip. Пропуск композиции.
- !volume. Изменение громкости трека.
- !shuffle. Перемешивание плейлиса.
- !clear. Очищает очередь воспроизведения.
- !removedupes. Удаление дубликатов композиций.
- !settings. Активация полного списка настроек сервиса.
- !info. Получение справочной информации.
- !request. Команда на добавление композиций.
Управление ботом Albedo
Albedo – популярный бот для комфортного администрирования мелких и средних каналов. Подробный список команд можно получить по запросу! Help. Всего представлено 7 категорий администрирования.
- Фан. Блок развлекательных команд. Позволяет публиковать мемы, арты, инициировать голосования и т.д.
- Инфо. Категория команд для получения подробной статистики сервера.
- Музыка. Набор команд для управления плейлистами сервера.
- Экономика. Команды для активации и настройки внутренней системы вознаграждения пользователей.
- RP. Набор команд для отправки гифок в чат.
- NSFW. Блок настройки интерфейса канала.
- Модерация. Один из основных блоков команд бота, который позволяет управлять каналом, выполняя такие задачи, как назначение ролей участников, блокировка или вынесение предупреждений и т.д.
Научиться пользоваться ботами в дискорде просто, их интеграция на канал позволяет существенно расширить базовые функции приложения для общения. Пользователи могут не просто пользоваться представленными разработчиками функции, а также добавлять кастомные команды и настраивать собственные боты для серверов.
Дискорд быстро набирает популярность. Этой площадкой пользуются не только те, кто любит играть в различные игры – создаются целые серверы для сборов людей по интересам.
Программисты создали специальных ботов, выполняющих различные функции – от помощи в модерации на сервере до трансляции музыки и рассылки приветствий для пользователей. Для любителей аниме также созданы различные тематические боты, которых пользователи могут устанавливать в Дискорд. Они обладают широким функционалом, и способна создать атмосферу на сервере.
Лучшие аниме боты для Дискорда
Одними из лучших ботов для Дискорда являются:
- Zero Two бот.
- Katura
- Nekotina.
- Mudae.
- Dio.
Эти боты обладают широким функционалом и предоставляют пользователю массу возможностей.
Помимо этого, некоторые боты позволяют выбирать и изменять кого – либо из персонажей аниме, коллекционировать образы, торговать ими или зарабатывать кредиты. Чтобы выбрать бот для просмотра аниме в дискорде, нужно ознакомиться со всеми ботами и узнать об их возможностях.
ZeroTwo бот
Данный аниме бот для Дискорда основан на аниме «Милый во Франксе».
Для того, чтобы пользоваться ботом, сначала пользователь должен его скачать и установить на сервер.
Для управления ботом используются команды. Чтобы узнать их список, нужно ввести » » » help, после чего пользователю откроется весь список команд бота.
- Поиск слов чате.
- Модерация на сервере. Можно удалять, предупреждать или блокировать пользователей, которые нарушают правила сервера.
- Поиск по статьям в википедии.
- Трансляции музыки. Можно создавать трек – лист, а также настроить автоматическую трансляцию.
Бот обладает многими полезными функциями, и любители аниме его оценят по достоинству.
Katura
Katura – это бот, собравший в себе более 78 000 персонажей из аниме, манги, комиксов и игр. В отличии от других аниме ботов, где выбранный персонаж виден только на одном конкретном сервере, с Katura он будет виден всему Дискорду.
Что Katura предлаагает пользователю:
- Он превращает аниме героев в уникальные предметы, с помощью которых можно совершать различные операции.
- Пользователь получает возможность выбрать собственного персонажа, а также торговать и зарабатывать на игре, продавая карточки.
- Честная Игра. Любой, кто пользуется запрещенными алгоритмами или программаси, будет вычислен и блокирован.
Чтобы воспользоваться предоставляемыми Katura функциями, пользователь должен установить ее н сервер Дискорда.
Nekotina
Данный бот благодаря обширному списку команд может симулировать жизнь на сервере, куда он установлен.
- Синхронизация с любым источником и трансляция музыкальных композиций.
- Командные игры.
- Различные игровые уровни.
- Магазин предметов и ролей, общая экономика на сервере.
- Магазин с талисманами и домашними животными.
- Возможность заключать браки на сервере, которые будут связаны с экономикой.
- Создание и управление сообществами и клубами. Система рейтинга в этих клубах
- Экономика. Рейтинг и игровой баланс, различные игры. Планируется ввод системы профессий.
Испанский является главным языком интерфейса бота.
Выполненный в стиле культового аниме «Невероятные приключения ДжоДжо» бот, обладающий широком функционалом и возможность провести время, выполняя задания.
Dio предлагает как помощь в выполнении некоторых действий в Дискорде (информация о текстовом канале и т.д.), так и ММО игру.
В ММО игре пользователь сможет:
- Собирать предметы.
- Сражаться с другими игроками.
- Покупать предметы.
- Выполнять задания.
Также пользователь может получать информацию о канале или общаться с DIO, задавая ему вопросы. Список команд достаточно обширен, функционал бота достаточно обширен, и его по достоинству оценят любителя ДжоДжо.
Mudae
Бот содержит в себе 60 000 персонажей из аниме, игр или манги. Количество добавляемых героев постоянно растет, а на самом сервере хранится более 250 000 изображений или Gif – анимаций. Пользователь может выбрать любого персонажа – от легендарного Какаши из «Наруто» до ДжоДжо.
Функции бота Mudae:
- Ловить покемонов в Rocket Casino.
- Играть с персонажами и сражаться на специальных аренах.
- Собирать предметы и выполнять задания.
- Играть в многопользовательские игры и присоединяться к командам.
Функционал бота и информация о героях постоянно расширяется. Бот переведен на французский, испанский, немецкий и португальский языки.
Читайте также: