Epic rpg bot discord команды
Всем привет.
В интернете очень мало качественных гайдов на тему разработки Discord-бота . Поэтому я решил написать полный подробный курс на эту тему.
В этом курсе мы будем учиться созданию Discord-бота на языке программирования Python (библиотека Discord.py) с нуля.
Создание приложения
Нажимаем на нее. В открывшемся окне нам будет предложено ввести название нового приложения.
Вводим и нажимаем 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
Создание первой команды
Всем доброго времени суток, дорогие друзья!
Думаю, если вы решили обратить своё внимание на данный пост, то с таким понятием, как RolePlay знакомы.
Если всё же я ошибся (Всякое бываете, извините), то вот объяснение RolePlay в целом:
Обычно, вся информация прописывается в анкетах, таких постиках, написанных по шаблонам. всё, ближе к сути.
Так вышло, что я дурачок работаю над текстовыми RolePlay в Discord где-то 2 года.
Знаете, стоит разделить RolePlay проекты на несколько видов (Не ругайте, чисто субъективное мнение):
1. D&D: Большое кол-во rpg элементов. Составление персонажа, как в старых добрых играх по типу Gothic, когда над каждой характеристикой бьёшься по несколько часов, решая, нужна-ли она вам.
Ну знаете, классная была (И есть) настолка Dungeons & Dragons: ведущие, кубики, подземелья, вечно недовольные (не) выпадением нужного числа вы.
2. Творческое RolePlay: Наверное, здесь вы не встретите сильной нагрузки на вас в плане всяких механик, кубиков и всякого такого, но здесь *Пришёл, ушёл* не приветствуется. Вас убьют.
3. Любительское Roleplay: Эти ребята создали канал для текстовой игры, особых механик или правил там нет, на то оно и любительское..рп.
Так вышло, что угораздило меня заглянуть на один сервер с любительским Roleplay..Секреты исчезающих консультантов из Арифлейм, побегушки, сверхспособности..
Долгое время был в стороне, наблюдал, как развивалось это направление на сервере:
Ребята сделали системы, шаблоны анкет, категории и текстовые каналы-локации.
И я такой "Вау, дай всё же гляну, поучаствую".. через некоторое время я понял несколько проблем:
1. А где мои вещи. а, это нигде не указано, я буду думать сам..
2. У меня есть деньги? Ох, хорошо, администрация, я постараюсь не забыть, что у меня 200$
Да и бывали случаи в каких-нибудь боях, когда:
И1: Бегу и сбиваю монстра с ног.
И2: Пробегаю под ногами у монстра.
И1: Убил монстра.
И2: Я готовлюсь уда. ЭЙ!
И мне стало действительно интересно, как можно решить данные проблемы. я наткнулся на бота UnbelievaBoat - самое лучшее, что я мог найти на тот момент: Инвентари, валюта, магазин, предметы, здорово же! Есть некоторые неудобства (1), но в целом же можно с некоторыми "костылями" сделать многое?
(1) - Бот не хранит в себе опыт игроков (Да и нет, наверное, ботов публичных, где модератор сам может выдавать/забирать опыт..я таких не нашёл, по крайней мере на тот момент // 2017)
И я такой:
Может, будем хранить нужную информацию в гугл Excel с доступом на чтение? (Ю-хууу, моя первая База данных. *хихикает*)
К слову.. я программист, меня очень угнетал факт того, что я не могу использовать ботов так, как я задумываю, ибо их разработчики не предусматривали таких издевательств над системой.
Да, я написал своего бота.. не самого идеального, без базы данных, хостинга..старом ПК, включённом 24/7 был запущен бот. где-то там и началось моё развитие в этой области.
Не буду рассказывать, лучше покажу вам то, что, по моему субъективному, естественно, мнению, вы вряд-ли видели раньше. ну что же, постараюсь удивить.
Базы данных, базы данных. А начнём с отличий от UnbelievaBoat'а:
Не устраивает то, что ты не можешь настроить под себя вещи и не можешь их выдавать без участия Администрации?
- Напиши свой магазин!
Магазин, конечно, здорово, но всё же нужен лут. потому:
Лут (4)
Магазин, инвентарь, вы такое раньше видели в дискорде. ох, хорошооооо, тогда держите.
Примечание: функция снизу не использовалась администрацией или какой-нибудь командой. Бот сам определил, что человек отписывает некоторое действие и ТАКЖЕ определил, направлено-ли это действие на поиск предметов или нет (Увеличивая шанс на выпадение предметов)
Чуть не забыл. большое спасибо пользователю bounty4600, т.к. я долго сам не мог найти хранилище картинок для бота.
Если захотите убедиться или опробовать данное творение сами, то оставлю вам ссылку на
Прошу прощения за некоторые опечатки и пропавшее форматирование некоторых элементов, писал пост в 4 ночи, пока работал.
Автор, а это что, сокращенная версия текста?
Как-то совсем. Странно структурировано все.
И, опять же, при чем тут ДнД, если нет упоминаний ГУРПСа, Мира Тьмы, Шедоурана. М?
И какой смысл именно дискорд выбирать? Почему не приложение в том же вк?
Или, чем черт не шутит - ролевой клиент на андроиде?
Законопроект
В госдуму внесён законопроект о запрете СМИ упоминать национальность преступников. Поэтому теперь вы никогда не догадаетесь, кто именно на свадьбе стрелял в воздух.
У расчленёнки нет региональной принадлежности!
Когда запретили указывать национальность преступника
Как вас теперь называть?
Законопроект запрещающий СМИ сообщать национальность
Внезапное
Усман Нурмагомедов опознан как водитель
“Рокировочка по-братски” не прокатила, Камал Идрисов направлен в СИЗО до 11 января, ему грозит 10 лет тюрьмы.
Попытка брата Хабиба Нурмагомедова, бойца Bellator Усмана Нурмагомедова, уйти от ответственности за наезд на полицейского, возможно, провалилась. Все дело в том, что стоявшие на посту у Каспийского аэропорта сотрудники правопорядка узнали в водителе, сбившем одного из них на КПП, Усмана Нурмагомедова. Об этом сообщает телеграм-канал SHOT.
Автомобиль преступников был полностью тонирован, но в момент проезда через КПП боковое окно со стороны водителя было открыто, и сотрудники по фото опознали, что за рулем сидел именно Усман Нурмагомедов. Эту информацию полицейские внесли в протокол следователя по делу.
Теперь для Усмана и его друга Камала Идрисова ситуация серьезно осложнилась, так как к ДТП и оставлению места наезда на полицейского потенциально добавилось лжесвидетельствование. Ведь ранее приятели заявили, что за рулем находился Камал, а Усман спал на заднем сиденье после тренировки. Ну и прицепом там идет рассказ про то, что ребята очень торопились и решили, что не сбили человека, а слегка задели его зеркалом. А после они поменялись местами и за руль сел уже Усман - просто так захотелось.
Сейчас следователи изучают видео с камер наблюдения, чтобы точно установить водителя. Камала же после получения новых данных из-под домашнего ареста перевели в СИЗО, где он будет находиться до 11 января. СМИ утверждают, что ему грозит до 10 лет тюрьмы.
Лучшие моды
Взято из просторов телеграмма.
Воспоминания
Думал пирожком отделаешься?
Ответ на пост «Миллионы американцев отказываются работать, назревает глобальное восстание среднего класса»
Спасибо, не надо
Целевая аудитория
Вчера наша команда по любительскому мини-футболу избежала поражения, и на последних минутах тренировки сравняла счёт. На радостях мы командой решили попить кофе в ближайшем кафе. Коллектив у нас разного возраста, и по большому счёту, мы друг друга почти не знаем. Только имена и марку машины. Например, Андрей на белой Королле.
Сидим, общаемся, и разговор заходит про профессии. Юра на синем Туареге говорит:
Юрий помолчал, а потом продолжил.
- С этой работой я никогда не думал, что так пристально буду следить за прогнозом погоды! Когда в прогнозе я видел эту чёртову снежинку…
Все с сочувствием и поддержкой слушали его. Самый старший из нас, мужчина лет пятидесяти, Максим на сером Прадике, сказал:
- Понимаю. Я в частном доме живу!
Продолжил молодой Андрей на белой Королле:
- Студентом завалил три экзамена. Взял академ. Надо было чем-то полгода заниматься. Устроился торговать синтезаторами. Небольшой отдел в торговом центре. Скучнее в жизни больше ничем не занимался. Через пару дней работы я понял, что эти синтезаторы на фиг никому не нужны. Ну вот, скажите, вы часто покупаете синтезаторы?
За столиком все молчали. Возрастной Максим, что-то хотел произнести, но промолчал. Андрей продолжил.
- Вот! Я просто сидел, окружённый синтезаторами, целыми днями и ничего не делал. Хозяин этого отдела был очень странный тип. Он запрещал мне читать, лазить в телефоне. Я должен был просто сидеть и улыбаться! Более того, хозяин каждый вечер стал отчитывать меня за то, что за день не было продаж. В какой-то момент перестал здороваться даже! Думаю, валить надо от этого чокнутого. Ща получу зарплату за месяц и уволюсь. А если не заплатит?!
Максим на сером Прадике неожиданно сказал:
- Я вспомнил, откуда мне лицо твоё знакомо! Я у тебя синтезатор так купил! Помнишь меня?! С бутылкой пива такой и с чипсами? Я еще тебя ими угостил.
- Что-то припоминаю. Ну как, жалеешь?
- Нет! Это самая лучшая покупка в моей жизни! Я-то не играю… Дочь увлеклась. Играть научилась, поёт. К компу подключила его. Что-то там сводит. Спасибо тебе!
- Не за что! Главное, правильно угадать с целевой аудиторией!
Асинхронная библиотека discord.py содержит все что нужно для бота, с помощью нее даже можно работать с голосовыми каналами сервера. В этой статье я расскажу как создать простенького бота для вашего discord сервера.
Получение токена и Client ID для вашего бота
Для получения токена и ID бота небходимо создать свое приложение и в разделе General Information скопировать Client ID.
А в разделе настроек создать бота и скопировать его токен. Задача не сложная, думаю все с этим справятся.
Собственно пишем бота
Устанавливаем discord.py с помощью pip:
После успешной установки создаем файл bot.py, где будем писать бота.
Импортируем все необходимое:
Создаем переменную с вашим токеном, про который я писал выше:
Создаем тело бота:
Для начала сделаем простенькую команду, аргумент которой бот будет просто пересылать:
И в конце запускаем бота с вашим токеном:
В итоге должно получится вот такое:
Теперь необходимо добавить бота на сервер. Сделать это можно с помощью ссылки:
Число необходимых прав можно получить в разделе настроек бота.
Теперь можно запускать бота:
После нескольких секунд, можно заметить его в сети:
Заключение
Вот так можно легко запустить у себя на сервере бота. Как можно заметить библиотека делает практически все за тебя и остается только добавлять свой функционал с использованием python. В следующий раз я покажу как следить за событиями, подключатся к голосовым каналам (избегая проблем с linux и Windows), использовать роли и права участников и другое.
Discord — один из популярных мессенджеров для удалённой работы. У него простой интерфейс и широкий набор бесплатных функций. Но одно из главных преимуществ дискорда — возможность добавлять ботов для решения разнообразных задач: от проигрывания музыки до модерации чатов. Рассказываем, что умеют делать боты в дискорде, как их установить и сколько они стоят.
Зачем вообще нужны боты в дискорде
Бот – программа, созданная, чтобы решать однотипные и повторяемые задачи по заданному алгоритму. Боты в Discord выполняют рутинные задачи, причём их скорость обработки операций существенно выше человеческой.
Что делают боты в дискорде:
Разберём, какие именно боты решают перечисленные задачи.
Ежедневные советы от диджитал-наставника Checkroi прямо в твоем телеграме!Музыкальные боты
Музыкальные боты позволяют проигрывать разные треки на серверах в дискорде. Вы создаёте сервер, добавляете участников, а затем подключаете к нему помощника. Он воспроизводит песни в указанной вами последовательности, может регулировать громкость воспроизведения, делать паузы между треками и др.
Долгое время самым популярным музыкальным был Rhythm, но 15 сентября 2021 года Discord запретил его использование по требованию YouTube. Мы предлагаем альтернативы, которые не уступают заблокированному боту.
MoscowMusic
MoscowMusic — музыкальный бот на русском языке с оригинальным дизайном.
MoscowMusic не требует настройки. Его основная команда – /m!help — она даёт быстрый доступ к документации и краткому описанию остальных команд.
- запускать проигрывание песен;
- вызывать поиск песен на ютубе;
- показывать очередь песен, находить подробную информацию по той, что играет в данный момент;
- управлять эфиром: ставить песни на паузу, возобновлять проигрывание, перемешивать очередь воспроизведения;
- включать и отключать DJ-режим.
Особенность . Основное преимущество — гибкий код. Это позволяет техподдержке контролировать ход работы и обеспечивать стабильность.
FredBoat
FredBoat — музыкальный бот, который проигрывает в дискорде музыку в хорошем качестве.
FredBoat прост в использовании и не требует особой настройки. Он предлагает много интеграций с другими сервисами вроде YouTube, SoundCloud, Bandcamp, Twitch, Vimeo, Mixer или Spotify. FredBoat также поддерживает плейлисты и прямые трансляции.
По умолчанию он работает на английском, но команда /lang позволяет менять язык в своём сервере. Так, чтобы изменить язык на французский, введите: /lang fr_FR
- искать песни на ютубе и саундклауд;
- перемешивать и повторять песни из плейлиста;
- ограничивать и блокировать тех, кто рассылает спам;
- менять очередь воспроизведения треков.
Особенности . Иногда FredBoat заикается — это происходит из-за большой нагрузки, особенно в выходные дни. Также он не позволяет воспроизводить видеоролики на ютубе, которые заблокированы в США. Если вы не используете бота слишком долго, он автоматически покидает голосовой канал. Это позволяет повысить его производительность.
Lacuna
Lacuna – улучшает функциональность сервера. Предлагает простые команды с понятным описанием.
Особенности . Проявляйте активность на сервере, зарабатывайте опыт и получайте награды. Проводите соревнование с другими пользователя в борьбе за почётное место в таблице лидеров.
ProBot
ProBot — многофункциональный бот для модерирования и администрирования. Поддерживает разные языки, в том числе русский.
Особенности. Есть два тарифа: основной и премиум. Основной тариф позволяет воспроизводить музыку и регулировать громкость, проводить разблокировку заблокированных пользователей. Тариф «Премиум» включает все перечисленные функции, а также позволяет менять имя и аватар ProBot вашего сервера.
Стоимость . Стоимость основного тарифа – 2,5$ в месяц или 24,99$ в года. Стоимость 9,99$ в месяц или 79,99$ в год.
Голосования
В дискорде нет функции для создания опросов и голосований. Но если вы хотите узнать мнение участников чата по какому-то вопросу, воспользуйтесь специальным ботом.
Simple Poll
Simple Poll — бесплатный бот для создания опросов в Discord. Умеет выполнять всего одну команду: /poll.
Если хотите задать вопрос с несколькими ответами — от одного до десяти, команду прописывайте так: /poll «Вам нравится Simple Poll? » «Очень нравится», «Нравится», «Пойдёт», «Не очень», «Совсем не нравится»
Если хотите задать вопрос, где можно ответить только «да» или «нет», так: /poll «Вам нравится Simple Poll? »
Обратите внимание: вопросы и ответы к ним всегда пишутся в кавычках.
Особенности . Аватар Simple Poll означает четыре варианта ответа, каждый обозначает разное количество голосов.
Easy Poll
Easy Pool — помогает проводить опросы разной сложности. Вы сможете проводить простые опросы, где участники выбирают только «Да» или «Нет», или сложные — где разрешается указать до 20 вариантов ответа.
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.
- выдавать роли пользователям;
- забирать роли у пользователей;
- выдавать и убирать предупреждения;
- вести статистику пользователей;
- выявлять топ-10 лучших пользователей по рангам;
- банить пользователей на сервере.
Особенности . Есть внутренняя система валюты – Юики. Вы можете играть в слоты на Юики, а потом покупать на них роли.
Переводчики
Mr Translate
Стоимость . Есть премиум-тариф – 5$ в месяц. Дополнительно доступны 400 000 символов для Azure и премиум поддержка.
RitaBot
RitaBot — бесплатный переводчик, который помогает преодолеть языковой барьер миллионам пользователей дискорда. Есть автоматический перевод каналов, реакцию на флажки и пользовательские переводы.
Особенности . Для корректной работы бота, убедитесь, что дали ему необходимые разрешения: на чтение, на запись, на отправку уведомлений и др.
Многофункциональные боты
Многофункциональные боты берут на себя решение почти всех рутинных задач: приветствуют новых участников, назначают роли пользователям, блокируют спам. Они помогают разгрузить модераторов и улучшить пользовательский опыт. Обычно предлагают набор стандартных готовых команд, но, если их недостаточно — создавайте свои.
Наиболее популярные и простые в настройке многофункциональные помощники: MEE6, JuniperBot и Tatsumaki. Рассмотрим их более подробно.
MEE6 — многофункциональный бот с главным меню на русском языке.
Стоимость. Есть бесплатная базовая версия, а есть платные: от 11,95$ до 49,99$ за год.
Tatsumaki
Tatsumaki переводится как «Торнадо» – имя главной героини аниме «Ванпанчмен». По легенде девушка обладала разрушительной силой, могла моментально разрезать врага на части. Названный в честь неё бот Tatsumaki может похвастаться не меньшей мощью. Он предлагает множество функций, которые решают разные задачи: от проведения опросов до ввода внутренней валюты.
- Уровни и репутация . Начисляет баллы пользователям, повышает их персональный статус и полномочия в группе. Вводит рейтинговую систему, которая позволяет участвовать в голосованиях.
- Валюта и персональные параметры . Имеет внутреннюю валюту и экономику. Участники могут обмениваться валютой и покупать Tatsugochi капсулы, а также играть в казино.
- RSS-каналы . Есть возможность оформить подписку на RSS-каналы любого портала, запустить фильтрацию новостей.
- Голосования . Проводит опросы и голосования. Устраивает лотереи с последующим выявлением победителей.
- Напоминания . Отправляет персональные напоминания со сроком актуальности до 7 дней – их отправку вы настраиваете с помощью команд.
JuniperBot
JuniperBot — многофункциональный бот, который поддерживается русский и английский язык. Все инструменты настраиваются в удобной панели управления на сайте, поэтому вам не нужно мучиться с командами.
Основное преимущество – хорошо структурированная и интуитивно понятная панель управления. Вам не придётся тратить много времени, чтобы разобраться, как работать с ботом.
Как установить бота на сервер
Принцип добавления ботов на сервер одинаков. Рассмотрим, как добавить бота на сервер на примере JuniperBot.
После этого вы сможете начать настраивать нужные команды. При добавлении бота автоматически выбираются все права, которые необходимы для его корректной работы.
Коротко о главном
Боты — незаменимые помощники для решения рутинных задач. Они помогут сэкономить время и повысить эффективность управления сервером. Есть боты, которые выполняют только одну функцию, например, создают опросы. А есть и мультифункциональные — они решают сразу несколько задач, и как настоящие менеджеры берут на себя контроль за действиями участников.
Если вы начали искать бота для дискорда, но так и не нашли подходящего, можете сделать своего. Вот подборка курсов на Python , которые позволят освоить азы программирования и создать универсального бота-помощника под ваши задачи
Читайте также: