Здравствуйте все мимо проходящие читатели Пикабу, это моя первая статья на этом сайте, и поэтому не судите строго.)
Сегодня я хотел узнать как сделать получение ролей по нажатию на смайлик (реакцию под текстом), как на одном популярном русскоязычном сервере по осаде.
Довольно удобная механика, думал и реализация простая, но не тут то было…
Полез я в интернет и сначала увидел пост на Пикабу, где человек сам делал бота с помощью кода, и сам держал его на компьютере. Я посчитал это не удобным и очень некрасивым вариантом. Пришлось подольше посидеть, но о чудо, я нашел бота который это может сделать.
Встречайте его — YAGPDB.xyz. Бот обладающий не только функцией с деланием таких таблиц с ролями, но и многими другими (честно добавил ради таблицы с ролями :)). Начнем с добавления его на сервер.
Вот ссылка — https://yagpdb.xyz
1.Нас встречает такая красивая обложка, добавляем его с помощью кнопки справа сверху.
2. Когда добавили, можно заходить в «control panel», авторизируемся и выбираем нужный сервер, там уже будет наши инструменты. Для работы нам нужен только один раздел, а именно «Role Commands».
Role command — это само название роли, пишите какое вам нужно, в подразделе виднеется две вкладки, group и role. О группе я расскажу чуть-чуть по позже, а роль, это присвоение этого название к определенной роли на сервере.
Пример: делаете роль для игры в Майнкрафт, пишите во вкладке name название роли, Майнкрафт, а во вкладке role выбираете роль на сервере (предварительно создав саму роль),
Оставшиеся две вкладки в разделе, нам не пригодятся (точнее мне они не пригодились), в разделе «Create a new group», нужно создать грубо говоря, категорию ролей, пишите что вам по душе, я писал «Игровые роли», т.к и делал игровые роли;)
В эту категорию нам нужно переместить нашу роль/роли, в самой категории нас могут интересовать две вкладки, «Temporary roles (minutes)» и «Mode».
Первая вкладка отвечает за время за которое будут сниматься роль, если убрали реакцию, а вторая сколько можно будет иметь этих ролей, не больше одной или наоборот, несколько. (Не забудьте в максимальном колличестве ролей, написать нужное ВАМ число, вместо нуля, а то тогда не получится взять не одну роль).
Дальше пора переходить на сервер, там нужно прописать команду:
-rolemenu create «ваше название категории»
Теперь, вам нужно поставить саму реакцию под его сообщением.
Мы это сделали, но это все равно выглядит не так уж и красиво. Поэтому продолжим усовершенствовать. И для этого, добавим совет сообщение! Для этого, печатаем сам текст, какой хотите.
Потом нам понадобится режим разработчика в дискорде! Для того, что бы мы скопировали айди сообщения. Заходим настройки, внешний вид.
После этого, копируем айди сообщения. (Снизу показано как)
И ещё раз ставим реакцию на сообщении, только теперь на то, которое мы написали.
Вот что у меня получилось:
Теперь на этом точно все, писал я это в полную ночь, так что мог что то не уследить, поэтому задавайте вопросы, и если что то не поняли можете спросить у меня на прямую, на самом сервере, вот ссылка:
https://discord.gg/HdANrc6
Надеюсь хоть кому-то помог в этом большом обзоре, не забывайте про место где меня можно найти, и всем пока!
3Асинхронная библиотека discord.py содержит все что нужно для бота, с помощью нее даже можно работать с голосовыми каналами сервера. В этой статье я расскажу как создать простенького бота для вашего discord сервера.
Получение токена и Client ID для вашего бота
Для получения токена и ID бота небходимо создать свое приложение и в разделе General Information скопировать Client ID. А в разделе настроек создать бота и скопировать его токен. Задача не сложная, думаю все с этим справятся.
Собственно пишем бота
Устанавливаем discord.py с помощью pip:
pip install discord
После успешной установки создаем файл bot.py, где будем писать бота. Импортируем все необходимое:
import discord from discord.ext import commands
Создаем переменную с вашим токеном, про который я писал выше:
TOKEN = 'Ваш токен'
Про токен Создаем тело бота:
bot = commands.Bot(command_prefix='!') #инициализируем бота с префиксом '!'
Для начала сделаем простенькую команду, аргумент которой бот будет просто пересылать:
@bot.command(pass_context=True) #разрешаем передавать агрументы async def test(ctx, arg): #создаем асинхронную фунцию бота await ctx.send(arg) #отправляем обратно аргумент
И в конце запускаем бота с вашим токеном:
bot.run(TOKEN)
В итоге должно получится вот такое:Код
import discord from discord.ext import commands TOKEN = 'Ваш токен' bot = commands.Bot(command_prefix='!') @bot.command(pass_context=True) # разрешаем передавать агрументы async def test(ctx, arg): # создаем асинхронную фунцию бота await ctx.send(arg) # отправляем обратно аргумент bot.run(TOKEN)
Теперь необходимо добавить бота на сервер. Сделать это можно с помощью ссылки:
https://discordapp.com/oauth2/authorize?&client_id={Client ID}&scope=bot&permissions={Права, например 66395456}
Число необходимых прав можно получить в разделе настроек бота. Теперь можно запускать бота:
python bot.py
После нескольких секунд, можно заметить его в сети: И наконец-то попробовать отправить команду:
Заключение
Вот так можно легко запустить у себя на сервере бота. Как можно заметить библиотека делает практически все за тебя и остается только добавлять свой функционал с использованием python. В следующий раз я покажу как следить за событиями, подключатся к голосовым каналам (избегая проблем с linux и Windows), использовать роли и права участников и другое. Надеюсь, статья была Вам полезна, удачи!
Для комфортного использования бота на сервере необходимо правильно отрегулировать разрешения и другие параметры. Настройка бота в Дискорде осуществляется через dashboard или само приложение в зависимости от особенностей программы. Однако, сильно менять параметры по умолчанию не рекомендуется, так как это может повлиять на работоспособность в целом.
По умолчанию после добавления на сервер бот присваивает себе роль «Bot», но иногда это приходится делать самостоятельно. Происходит это по аналогии с остальными участниками. Здесь же в параметрах ему можно ограничить права или наделить ими.
Способ 1: Через Dashboard
Некоторые боты используют подключаемые плагины и модули. Поэтому настройка осуществляется через dashboard. Информацию об этом можно найти на официальной странице программы или после соответствующего запроса (через команду) в текстовом канале. Особенности:
- Меню доступно всем участникам, а не только администраторам.
- Отображается статистика, ранги и достижения (при условии их наличия).
- Есть возможность отключать и подключать модули, например, для трансляции музыки.
- Есть доступ к глобальной информации и возможность сравнения с другими серверами, которые используют данного бота.
Для использования Dashboard необходимо авторизоваться с использованием данных учетной записи Discord.
Способ 2: Через приложение
Менять основные параметры можно напрямую через Дискорд. Менять громкость музыкальному боту можно так же, как и остальным пользователям. Особенности:
- Блокировать бота может каждый участник сервера отдельно.
- Администратор может менять параметры для всех пользователей.
- По умолчанию приглашать робота в голосовой канал может только администратор. По желанию это можно изменить (касается и других команд).
Для более комфортного общения, рекомендуется создавать отдельный канал для осуществления управлением ботом. Особенно это касается музыкальных. Это поможет избежать спама с запросом треков и плейлистов.
Владелец сервера может привязать его к отдельному каналу, тем самым запретить использование команд в других чатах, например, чтобы при обращении в general, не происходило никакой реакции.
Не забывайте настраивать параметры робота после его добавления на сервер. Это поможет избежать возможных ошибок и спама. Чтобы вернуть значения “по умолчанию”, удалите бота, а потом снова добавьте его.
Используемые источники:
- https://pikabu.ru/story/kak_sdelat_poluchenie_roley_cherez_reaktsii_v_diskorde_6561359
- https://habr.com/sandbox/132747/
- https://discord-bot.ru/kak-nastroit-bota-v-discord