Как сделать получение ролей через реакции в дискорде

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

Довольно удобная механика, думал и реализация простая, но не тут то было.
Полез я в интернет и сначала увидел пост на Пикабу, где человек сам делал бота с помощью кода, и сам держал его на компьютере. Я посчитал это не удобным и очень некрасивым вариантом. Пришлось подольше посидеть, но о чудо, я нашел бота который это может сделать.
Встречайте его — YAGPDB.xyz. Бот обладающий не только функцией с деланием таких таблиц с ролями, но и многими другими (честно добавил ради таблицы с ролями :)). Начнем с добавления его на сервер.

1.Нас встречает такая красивая обложка, добавляем его с помощью кнопки справа сверху.
2. Когда добавили, можно заходить в «control panel», авторизируемся и выбираем нужный сервер, там уже будет наши инструменты. Для работы нам нужен только один раздел, а именно «Role Commands».

Пока что, все непонятно, щас объясню.
Role command — это само название роли, пишите какое вам нужно, в подразделе виднеется две вкладки, group и role. О группе я расскажу чуть-чуть по позже, а роль, это присвоение этого название к определенной роли на сервере.
Пример: делаете роль для игры в Майнкрафт, пишите во вкладке name название роли, Майнкрафт, а во вкладке role выбираете роль на сервере (предварительно создав саму роль),
Оставшиеся две вкладки в разделе, нам не пригодятся (точнее мне они не пригодились), в разделе «Create a new group», нужно создать грубо говоря, категорию ролей, пишите что вам по душе, я писал «Игровые роли», т.к и делал игровые роли;)
В эту категорию нам нужно переместить нашу роль/роли, в самой категории нас могут интересовать две вкладки, «Temporary roles (minutes)» и «Mode».
Первая вкладка отвечает за время за которое будут сниматься роль, если убрали реакцию, а вторая сколько можно будет иметь этих ролей, не больше одной или наоборот, несколько. (Не забудьте в максимальном колличестве ролей, написать нужное ВАМ число, вместо нуля, а то тогда не получится взять не одну роль).
Дальше пора переходить на сервер, там нужно прописать команду:
-rolemenu create «ваше название категории»

Теперь, вам нужно поставить саму реакцию под его сообщением.

Мы это сделали, но это все равно выглядит не так уж и красиво. Поэтому продолжим усовершенствовать. И для этого, добавим совет сообщение! Для этого, печатаем сам текст, какой хотите.
Потом нам понадобится режим разработчика в дискорде! Для того, что бы мы скопировали айди сообщения. Заходим настройки, внешний вид.

После этого, копируем айди сообщения. (Снизу показано как)

Дальше, прописываем команду:
-rolemenu create (название категории) -m (айди сообщения)
И ещё раз ставим реакцию на сообщении, только теперь на то, которое мы написали.
Вот что у меня получилось:

Теперь на этом точно все, писал я это в полную ночь, так что мог что то не уследить, поэтому задавайте вопросы, и если что то не поняли можете спросить у меня на прямую, на самом сервере, вот ссылка:
Надеюсь хоть кому-то помог в этом большом обзоре, не забывайте про место где меня можно найти, и всем пока!
спасибо тебе добрый человек, некоторые моменты уже не актуальны, но в целом ты очень помог
Если кто правда не понял, то есть руководства от самого бота.
https://docs.yagpdb.xyz/tools-and-utilities/self-assignable-roles
Или видео гайд, который немного устарел.
https://youtu.be/icAqiw6txRQ
Айди какого сообщения копировать? Там их 2. И дальше уже ничего не понятно. помогите.
Российский аэропорт «Внуково» стал первым аэропортом в России с собственной станцией метро

Русский средневековый брендинг










Буду рад любой поддержке❤
Моя атака долбней
Прочитал вчера пост девочки из МФЦ. И хочу сказать, что я с ним полностью согласен! Люди – ёбнутый народ. Чрезвычайно точное определение.
Работаю на скорой помощи. И точно так же каждый день нас атакуют долбоёбы. Помимо тех, кому действительно нужна помощь и кто принимает её с благодарностью, приходится ездить на вызовы к редкостным долбоёбам. И процент этих долбней больше 50 от всего количества вызовов. Расскажу свои истории.
Приезжаем на вызов. Заходим в квартиру. Тётка-хозяйка говорит: «А вы почему без бахил? Наденьте бахилы!» Из глубины квартиры слышится хрип. Какие нахуй бахилы, пизда ты тупая, у тебя человек умирает! А тебе важнее чистота пола? Охуеть. Но и это еще не все. Осматриваем мужчину, которому нужна помощь, а эта поборница чистоты скачет рядом и раздает свои чрезвычайно мудрые советы. Так блять если ты умная такая и всё сама знаешь, нахуя нас вызывала? Бери и помогай самостоятельно! Нахуя нам мешать?
Новый вызов. Некий чел решил, что он дохуя умный и все врачи один хуй гуглят диагнозы, поэтому он может лечить себя самостоятельно. Долечился до температуры в 40 и галлюцинаций. Ну и лечился бы дальше самостоятельно, Парацельс недоделанный, нахуя спрашивается вызывал? Умный ведь. А его жена с порога набрасывается с претензиями. Вы, типа, клятву Гиппократа давали. Тупни вы тупые, откуда вы это взяли, в глубинах какого сознания? Её ещё при царе перестали давать! Ебать вы долгожители.
С какого-то хера каждый второй, не считая каждого первого считает, что мы обязаны таскать носилки. Схерали баня-то упала? Мы это делаем добровольно и вовсе не обязаны. Так что потрудитесь нам помочь или предоставить помощников, если по какой-то причине сделать этого мы не можем.
Отдельно доставляют долбоёбы, которые вызывают нас для того, чтобы «посмотреть» или «послушать», а на самом деле просто попиздеть. Хотите попиздеть – вызывайте пиздуна-собеседника, на авито такие есть. А у нас есть дела поважнее. Например, людей спасать. Кстати, из-за таких дохуя разговорчивых мы можем не приехать на экстренный случай, и тогда человек отправляется к праотцам. А всё потому, что вы попиздеть любите.
А еще нам очень любят заявлять, что они нас содержат на свои налоги и поэтому имеют право помыкать, а мы должны скакать на цырлах. Особенно любят нести такую пургу жители Фурманова 39, Победы 8 и прочих гадюшников, которые налоги платили примерно никогда. Какие нахуй ваши налоги? Вы блять живете в помойке, где срёте, там и жрёте, и ебётесь тут же, в куче говна. Завалите ебальники, налогоплательщики невъебенные. Обожретесь гидрой и фунфырями и спасай вас. Cдoхли бы вы все быстрее, что ли, ездить в ваши сараи – удовольствие ниже среднего.
А ещё приходится ездить на вызовы к всякой человеческой мерзости, которая жрёт китайскую химию а потом корчится и ловит чертей. Сами черти, и ловят таких же. Если ты такой долбоёб и хаваешь то, что тебе насыпали в зaклaдки, так значит ты принял решение добровольно подохнуть! Нахуя тебя, черта, спасать, когда мы людей спасать не успеваем? Тебя уже в аду заждались.
Прошу простить мне излишнюю экспрессию. Но реально накипело. Мы стараемся помочь всем, но не можем это сделать чисто физически. Поэтому, если вы вызывали скорую, то, пожалуйста, четко исполняйте наши указания и экономьте время. Этим вы поможете себе и своим близким, а мы спасём больше жизней. Спасибо за внимание. Всем мир.
(с) мое, текст авторский. Да, вчера публиковался в другом месте
Поздравьте меня. Я выиграл грант
Буду заниматься с детьми на сенсорно-моторном оборудовании(на фото). Если есть вопросы, пишите.


Ответ на пост «Звонок»
У меня есть похожая история. Тоже дед каждое лето уезжал из города на водохранилище на рыбалку, у него там было свое место, он его называл "Летник". Этакая глухая поляна у водохранилища, где у него была сколочена маленькая избушка, небольшая банька и такой стол под навесом, что то типа летней кухни. От города этот летник находился далеко, километров 500-600 на машине, поэтому мы летом могли только на выходные приехать разок, покупаться, порыбачить, да отдохнуть. Связь держали по телефону, благо там ловило, а зарядиться можно было от генератора. И вот в одно из таких лет моя мама никак не может дозвониться до деда, уже дня 3-4 трубку не берет. Начала волноваться, говорит, съездил бы ты завтра с утра, проверил деда. Ну я такой, ок, чё. Лег спать, и снится мне сон что мы с дедом сидим у него на летней кухне, пьем пиво, едим его фирменных лещей вяленых, болтаем о том, о сем. И тут дед вдруг меняется в лице и говорит: "Ты, внучок, сильно по мне не грусти, пожил я, да и умер на своем любимом летнике. Ты только найди меня, похраните рядом с бабкой". Проснулся я утром, сам не свой, нервы на пределе, собрал небольшую сумку с чаем-перекусом, да и рванул из города в сторону водохранилища. Пока ехал — наверное поседел весь, суть да дело приезжаю и понимаю — что то не то. В домике на столе лежит телефон выключенный, у него кнопочный был, так вот — крышка отдельно, батарея отдельно, симки нет. Вещи дедовские все на месте — сапоги, бушлат, даже кепка. А деда нет. Нигде. Вещи особенно насторожили, так как дед всегда уезжал из города в "цивильном", а уже на летнике переодевался в рыбацкое, да и до конца лета обратно не переодевался, а тут — вся его "рыбацкая" одежда на месте. Пошел в баню и офигел — в бане тазик, в тазике вещи дедовы некоторые, все в крови и сверху нож в крови лежит. И вода прям красная от крови. Пошел дальше к летней кухне — рыбы нет. А у деда всегда под навесом на верёвке лещей 20-30 висело, вялилось и в принципе отсутствие рыбы — это прям невозможный признак, значит что кто то чужой был и всю рыбу забрал. Тут я уже сложил 2+2, бывали у деда в этом месте конфликты с местными браконьерами, которые на сети тут рыбачат, дед то раньше поздоровее был, да и гонял их недобрым словом, а щас вполне могли бы старика и грохнуть в глуши. Почему то сразу такие мысли у меня, думаю вот куда бы я тело дел — да в речку бы выкинул, и делов. Разделся, да пошел возле берега нырять — нырял, нырял, ничего не нашел, дальше от берега смысла нет искать- течением бы утащило. Выхожу из воды — и пиздец. Как холодным душем обкатывает — вижу яму за летником, да в том месте где раньше ее точно не было. Ну думаю, суки, закопали все таки. Подбегаю, яма не глубокая, но хитрая — вбок уходит, так вроде толи цыгане хоронят, толи ещё кто. Спускаюсь в нее, а пролаз в бок узкий — как раз с тело человека, да так, суки, глубоко выкопали. а вглубине — кусок мешковины виднеется. Ну и все, я с криками "Дед!" заползаю головой вперёд в этот лаз и начинаю тянуть, слезы текут, в голове уже бардак стопроцентный, а сверток все не тянется и не тянется — тежелый. И тут мне сзади голос: "Ты что ебанутый? Ты что там делаешь?" И голос дедовский! Короче толи от страха, толи от напруги навалил я жидкого, да так, что трусы не спасли (а я же раздетый был, нырял) и засрал там все и себя обосрал. Вылезаю, обосранный, заплаканный — а дед стоит как не бывало в своей "цивильной" одежде — и ржёт с меня, аж чуть не падает. А я в слезы, мол как ты так, я думал что тебя браконьеры прирезали!Короче выяснилось потом что дед телефон утопил, сушил-сушил, да похоже что наглухо. А так как связь надо с родственниками держать, решил рыбы наловить, да пойти продать ее в райцентр местный, а на деньги самый простой телефон новый купить. Наловил свежей, выпотрошил, отсюда кровавая одежда и нож в бане, рыбы много было. Собрал на всякий всю ту что вялилась, переоделся в "цивильное" да утопал в райцентр. А яма — то дед решил коптилку холодного копчения сделать, кто знает — тот поймет, там яма копается небольшая и тоннель вбок под землёй, чтоб дым остывал. А мешковиной дед трубу замотал, и с другой стороны в этот горизонтальный проход засунул, чтобы труба землёй не забилась.Вот така хуйня, малята. А коптилку дед на этом месте в итоге решил и не строить — говорит, на обосранном месте хорошего леща не закоптишь.
Бот для назначения ролей в Discord с помощью Python
Discord – это бесплатное приложение для чат-сервера, которое изначально было разработано для геймеров, но в настоящее время все шире используется различными сообществами. Любой может использовать его для создания чат-сервера для обсуждения текстовых, голосовых и видео сообщений. На этих серверах могут размещаться не только люди, но и специальные автоматизированные пользователи, называемые ботами, которые способны выполнять множество интересных и полезных задач: от проигрывания музыки до помощи модераторам.
В этом руководстве мы создадим приветственного бота для нашего сервера Discord для обсуждения программирования. Этот бот будет приветствовать пользователей, когда они присоединяются, и назначать им роли и приватные каналы в соответствии с их интересами. К концу этого урока вы будете:
- Знакомы с процессом создания приложения Discord bot.
- Уметь использовать discord.py для разработки полезной логики бота.
- Будете знать, как размещать ботов Discord на Replit!
Начало работы
Войдите в Replit или создайте учетную запись, если вы еще этого не сделали. После входа в систему создайте Python repl.

Создание приложения Discord
Откройте другую вкладку браузера и посетите портал разработчиков Discord. Войдите в систему под своей учетной записью Discord или создайте ее, если вы ее еще не создали. Держите свой repl открытым – мы скоро к нему вернемся.
Как только вы войдете в систему, создайте новое приложение. Дайте ему имя, например, “Доброжелатель”.

Приложения Discord могут взаимодействовать с Discord несколькими различными способами, не все из которых требуют ботов, поэтому создание приложения необязательно. Тем не менее, для этого проекта он нам понадобится. Давайте создадим бота.
- Нажмите на Bot в меню в левой части страницы.
- Нажмите Добавить бота.
- Дайте боту имя пользователя (например, “WelcomeBot”).
- Нажмите Сбросить токен, а затем Да, сделайте это!
- Скопируйте токен, который появится сразу под именем пользователя вашего бота.

Токен, который вы только что скопировали, необходим для того, чтобы код в нашей реплике мог взаимодействовать с API Discord. Вернитесь к своему боту и откройте вкладку Secrets в левой боковой панели. Создайте новый секрет с DISCORD_TOKEN в качестве ключа и скопированным вами токеном в качестве значения.
src=”https://replit-docs-images.bardia.repl.co/images/tutorials/46-discord-role-bot/secret-token.png”
alt=”Секретный токен”
/>
Как только вы это сделаете, вернитесь в панель разработчика Discord. Нам нужно закончить настройку нашего бота.
Во-первых, отключите опцию Public Bot – функциональность, которую мы создаем для этого бота, будет очень специфичной для нашего сервера, поэтому мы не хотим, чтобы кто-то еще пытался добавить ее на свой сервер. Более того, боты на 100 и более серверах должны пройти специальный процесс проверки и утверждения, а мы не хотим об этом беспокоиться.
Во-вторых, нам нужно настроить доступ к привилегированным намерениям шлюза. В зависимости от функциональности бота, ему потребуется доступ к различным событиям и источникам данных. События, связанные с действиями пользователей и содержанием их сообщений, считаются более чувствительными и требуют явного разрешения.
Чтобы этот бот работал, нам нужно иметь возможность видеть, когда пользователи присоединяются к нашему серверу, и просматривать содержимое их сообщений. Для первого нам понадобится Намерение членов сервера, а для второго – Намерение содержимого сообщения. Переключите оба этих параметра в положение “включено”. Сохраните изменения, когда появится запрос.

Теперь, когда мы создали наше приложение и его бота, нам нужно добавить его на сервер. В этом уроке мы расскажем вам о создании тестового сервера, но вы также можете использовать любой сервер, созданный вами ранее, если другие пользователи не будут слишком раздражены тем, что он стал полигоном для тестирования бота. Вы не можете использовать сервер, на котором вы являетесь обычным пользователем, так как для добавления ботов требуются специальные привилегии.
Откройте Discord.com в своем браузере. Вы уже должны быть авторизованы. Затем нажмите на значок + в крайней левой панели, чтобы создать новый сервер. Или же откройте существующий сервер, которым вы владеете.

В отдельной вкладке вернитесь на портал Discord Dev Portal и откройте свое приложение. Выполните следующие шаги, чтобы добавить бота на свой сервер:
- Нажмите на OAuth2 в левой боковой панели.
- В появившемся меню под OAuth2 выберите URL Generator.
- В разделе Scopes (Области) отметьте чекбокс с надписью bot.
В разделе “Разрешения бота” отметьте чекбокс с надписью Администратор.
Прокрутите вниз и скопируйте URL-адрес в разделе Generated URL.
Вставьте URL в навигационную панель браузера и нажмите Enter.
На появившейся странице выберите свой сервер из выпадающего списка и нажмите Продолжить.
Когда появится запрос о разрешениях, нажмите Авторизация и заполните CAPTCHA.
Вернитесь на свой сервер Discord. Вы должны увидеть, что ваш бот только что присоединился.
Теперь, когда мы выполнили подготовительную работу, пришло время написать код. Вернитесь к своему repl для следующего раздела.
Написание кода бота Discord
Мы будем использовать discord.py для взаимодействия с API Discord с помощью Python. Добавьте следующий фрагмент кода в main.py в вашем repl:
Сначала мы импортируем библиотеки Python, которые нам понадобятся, включая discord.py и его расширение commands. Затем мы получим значение переменной среды DISCORD_TOKEN , которую мы установили на вкладке secrets нашего repl выше. Затем мы создадим объект Bot . Мы будем использовать этот объект для прослушивания событий Discord и реагирования на них.
Первое событие, которое нас интересует, это on_ready() , которое сработает, когда наш бот войдет в Discord (декоратор @bot.event гарантирует это). Все, что сделает это событие, это выведет сообщение в консоль нашего repl, сообщая нам, что бот подключился.
Обратите внимание, что мы добавили async к определению функции – это превращает нашу функцию on_ready() в корутину. Корутины во многом похожи на функции, но могут выполняться не сразу, а должны вызываться с помощью ключевого слова await . Использование coroutines делает нашу программу асинхронной, что означает, что она может продолжать выполнять код, ожидая результатов долго выполняющейся функции, обычно той, которая зависит от ввода или вывода. Если вы уже использовали JavaScript, вы узнаете этот стиль программирования.
Последняя строка в нашем файле запускает бота, предоставляя DISCORD_TOKEN для его аутентификации. Запустите свою реплику сейчас, чтобы увидеть ее в действии. После запуска вернитесь на свой сервер Discord. Вы должны увидеть, что ваш пользователь-бот теперь онлайн.

Создание ролей сервера
Прежде чем мы напишем основную логику нашего бота, нам нужно создать несколько ролей для него. Наш сервер Discord предназначен для обсуждения программирования, поэтому мы создадим роли для нескольких различных языков программирования: Python, JavaScript, Rust, Go и C++. Для простоты мы будем использовать строчные буквы в названиях ролей. Не стесняйтесь добавлять другие языки.
Вы можете добавить роли, выполнив следующие действия:
- Щелкните правой кнопкой мыши на значке вашего сервера в левой панели.
- В появившемся меню выберите Настройки сервера, а затем Роли.
Нажмите Создать роль.
Введите имя роли (например, “python”) и выберите цвет.
Повторяйте шаги 3-5, пока не будут созданы все роли.
Теперь ваш список ролей должен выглядеть примерно так:

Порядок, в котором перечислены роли, является иерархией ролей. Пользователи, имеющие право управлять ролями, смогут управлять только ролями ниже, чем их самая высокая роль в этом списке. Убедитесь, что роль WelcomeBot находится на самом верху, иначе он не сможет назначать пользователей на другие роли, даже с привилегиями администратора.
В настоящее время все, что делают эти роли, это изменяют цвет имен пользователей и список, в котором они отображаются на правой боковой панели. Чтобы сделать их немного более значимыми, мы можем создать несколько приватных каналов. Только пользователи с заданной ролью смогут использовать эти каналы.
Чтобы добавить приватные каналы для ролей вашего сервера, сделайте следующее:
- Нажмите на + рядом с Текстовые каналы.
- Введите имя канала (например, “python”) в поле Имя канала.
- Включите переключатель Приватный канал.
- Нажмите кнопку Создать канал.
- Выберите роль, соответствующую названию вашего канала.
- Повторите для всех ролей.
Как владелец сервера, вы сможете видеть эти каналы независимо от назначенных вам ролей, но обычные пользователи – нет.
Обмен сообщениями с пользователями
Теперь, когда наши роли настроены, давайте напишем логику работы бота. Мы начнем с функции для отправки пользователям приветственного сообщения. Вернитесь к своему repl и введите следующий код чуть ниже строки, где вы определили bot :
Эта простая функция принимает объект member и отправляет ему личное сообщение. Обратите внимание на использование await при запуске корутины member.send() .
Нам нужно запускать эту функцию, когда происходит одно из двух: новый участник присоединяется к серверу или существующий участник набирает команду !roles в канале. Второе событие позволит нам протестировать бота без постоянного ухода и возвращения на сервер, а также позволит пользователям передумать, какие языки программирования они хотят обсудить.
Чтобы обработать первое событие, добавьте этот код ниже определения on_ready :
Обратный вызов on_member_join() предоставляет объект member , который мы можем использовать для вызова dm_about_roles() .
Для второго события нам понадобится немного больше кода. Хотя мы могли бы использовать фреймворк команд бота discord.py для обработки нашей команды !roles , нам также понадобится позже работать с общим содержанием сообщения, а делать это в разных функциях не очень удобно. Поэтому вместо этого мы поместим все, что связано с содержанием сообщения, в одно событие on_message() . Если бы наш бот просто отвечал на команды, использование обработчиков @bot.command было бы предпочтительнее.
Добавьте следующий код ниже определения события on_member_join() :
Сначала мы выводим сообщение в консоль repl, чтобы отметить, что мы увидели сообщение. Затем мы проверяем, является ли автором сообщения сам бот. Если это так, мы завершаем функцию, чтобы избежать бесконечных циклов. После этого мы проверяем, начинается ли содержимое сообщения с !roles , и если да, то вызываем dm_amount_roles() , передавая автора сообщения.
Теперь остановите и повторно запустите свой repl. Если вы получите ошибку CloudFlare, введите kill 1 в оболочке вашего repl и повторите попытку. Как только ваша реплика будет запущена, вернитесь на свой сервер Discord и введите “!roles” в общий чат. Вы должны получить DM от вашего бота.

Назначение ролей из ответов
Наш бот может отправлять сообщения пользователям, но он ничего не будет делать, когда пользователи отвечают ему. Прежде чем мы сможем добавить эту логику, нам нужно реализовать небольшой хак, который позволит нашему боту выполнять действия на нашем сервере на основе содержимого прямых сообщений.
Фреймворк ботов Discord разработан с учетом того, что боты являются общими и будут добавлены на множество различных серверов. У ботов нет домашнего сервера, и для них нет простого способа отследить поток процессов, который движется от сервера к личным сообщениям, подобно тому, который мы создаем здесь. Поэтому наш бот не будет автоматически знать, какой сервер использовать для назначения роли, когда пользователь отвечает на его DM.
Мы могли бы узнать, какой сервер использовать, через свойство mutual_guilds пользователя, но это не всегда надежно из-за кэширования. Обратите внимание, что серверы Discord ранее были известны как “гильдии”, и эта терминология сохранилась в некоторых разделах API.
Поскольку мы не планируем добавлять этого бота более чем на один сервер одновременно, мы решим эту проблему путем жесткого кодирования ID сервера в логике нашего бота. Но сначала нам нужно получить ID нашего сервера. Самый простой способ сделать это – добавить еще одну команду в словарь нашего бота. Расширьте оператор if в нижней части on_message() и включите в него следующий elif :
Повторно запустите свой repl и вернитесь на свой сервер Discord. Введите в чат “!serverid”, и вы должны получить ответ от бота, содержащий длинную строку цифр. Скопируйте эту строку в буфер обмена.
Перейдите в начало файла main.py . Под DISCORD_TOKEN добавьте следующую строку:
Вставьте содержимое вашего буфера обмена после знака равенства. Теперь мы можем получить ID нашего сервера из этой переменной.
Как только это будет сделано, вернитесь к определению on_message() . Мы собираемся добавить еще один оператор if для работы с содержимым ответов пользователей в DM-сообщениях. Отредактируйте тело функции так, чтобы оно соответствовало приведенному ниже:
Этот новый оператор if будет проверять, было ли сообщение, вызвавшее событие, в DM-канале, и если да, то будет запускать assign_roles() , а затем выходить. Теперь нам нужно определить assign_roles() . Добавьте следующий код над определением on_message() :
Мы можем найти языки, упомянутые в ответах пользователей, с помощью регулярных выражений: re.findall() вернет список строк, которые соответствуют нашему выражению. Таким образом, независимо от того, ответил ли пользователь: “Пожалуйста, добавьте меня в группы Python и Go” или просто “python go”, мы сможем назначить ему нужную роль.
Мы преобразуем список в набор, чтобы удалить дубликаты.
Следующее, что нам нужно сделать, это разобраться с ответами с эмодзи. Добавьте следующий код в конец функции assign_roles() :
В первой строке мы выполняем то же regex-сопоставление, что и в случае с названиями языков, но вместо стандартного текста используем значения emoji Unicode. Список эмодзи с их кодами можно найти на сайте Unicode.org. Обратите внимание, что + в коде этого списка следует заменить на 000 в вашем коде Python: например, U+1F40D становится U0001F40D .
После того, как мы получили набор совпадений эмодзи в language_emojis , мы перебираем его и используем словарь, чтобы добавить правильное имя в наш набор languages . Этот словарь имеет строки в качестве значений и лямбда-функции в качестве ключей. Наконец, [emoji]() выберет лямбда-функцию для предоставленного ключа и выполнит ее, добавив значение в languages . Это похоже на синтаксис switch-case, который вы могли видеть в других языках программирования.
Теперь у нас есть полный список языков, которые наши пользователи могут захотеть обсудить. Добавьте следующий код ниже цикла for :
Этот код сначала проверяет, что набор languages содержит значения. Если да, мы используем get_guild() для получения объекта Guild , соответствующего ID нашего сервера (помните, guild означает сервер).
Затем мы используем функцию discord.py get() для построения списка всех ролей, соответствующих языкам в нашем списке. Обратите внимание, что мы использовали функцию lower() , чтобы убедиться, что все наши строки записаны в нижнем регистре.
Наконец, мы получаем объект member , соответствующий пользователю, который отправил нам сообщение, и нашему серверу.
Теперь у нас есть все необходимое для назначения ролей. Добавьте следующий код в нижнюю часть оператора if , в тело оператора if :
Метод member объекта add_roles() принимает произвольное количество объектов role в качестве позиционных аргументов. Мы распаковываем наш набор languages в отдельные аргументы с помощью оператора * и предоставляем строку для именованного аргумента reason .
Наша операция обернута в блок try-except-else. Если добавление ролей не удастся, мы выведем результирующую ошибку в консоль нашего репла и отправим пользователю общее сообщение об ошибке. В случае успеха мы отправим пользователю сообщение о его новой роли, широко используя интерполяцию строк.
Наконец, нам нужно разобраться со случаем, когда в сообщении пользователя не было найдено ни одного языка. Добавьте блок else: в нижнюю часть блока if languages: , как показано ниже:
Повторно запустите свой repl и вернитесь на свой сервер Discord. Откройте DM-канал с вашим ботом и попробуйте отправить ему одно или несколько названий языков или эмодзи. Вы должны получить ожидаемые роли. Вы можете проверить это, нажав на свое имя в правой панели на вашем сервере Discord – ваши роли будут перечислены в появившемся окне.

Удаление ролей
В настоящее время наш код не позволяет пользователям удалять роли с себя. Хотя мы могли бы сделать это вручную, как владелец сервера, мы создали этого бота, чтобы избежать необходимости делать такие вещи, поэтому давайте расширим наш код, чтобы он позволял удалять роли.
Для простоты мы удалим все роли, упомянутые пользователем, которые у него уже есть. Поэтому, если пользователь с ролью “python” напишет “c++ python”, мы добавим роль “c++” и удалим роль “python”.
Давайте сделаем некоторые изменения. Найдите блок if languages: в вашей функции assign_roles() и измените код над try: , чтобы он соответствовал приведенному ниже:
Мы заменяем список ролей на набор новых ролей. Мы также создаем набор ролей, которыми пользователь владеет в настоящее время. Учитывая эти два набора, мы можем определить, какие роли нужно добавить, а какие удалить, используя операции с наборами. Добавьте следующий код под определением current_roles :
Ролями для добавления будут роли, которые есть в new_roles , но нет в current_roles , т.е. разница множеств. Ролями для удаления будут роли, которые находятся в обоих наборах, т.е. их пересечение.
Теперь нам нужно заменить блок try-except-else на приведенный ниже код:
Этот код следует той же общей логике, что и наш оригинальный блок, но может как удалять роли, так и добавлять их.
Наконец, нам нужно обновить исходный DM бота, чтобы отразить эту новую функциональность. Найдите функцию dm_about_roles() и измените ее следующим образом:
Повторно запустите свою программу repl и протестируйте ее. Вы должны иметь возможность добавлять и удалять роли от себя. Попробуйте пригласить нескольких своих друзей на свой сервер Discord и попросите их также использовать бота. Они должны получить DM, как только присоединятся.


Что дальше?
Мы создали простой бот для приветствия на сервере Discord. Существует много возможностей для расширения функциональности. Вот несколько идей для расширения:
- Включить более сложную логику для назначения ролей. Например, у вас могут быть роли, которые требуют, чтобы пользователи были членами сервера в течение определенного времени.
- Пусть ваш бот автоматически назначает дополнительные роли пользователям в зависимости от их поведения. Например, вы можете назначить роль пользователям, которые реагируют на сообщения с наибольшим количеством эмодзи.
- Добавьте дополнительные команды. Например, вы можете добавить команду поиска по Stack Overflow, что позволит пользователям задавать вопросы по программированию в чате.
Код бота Discord может быть размещен на Replit постоянно, но вам нужно будет использовать Always-on repl, чтобы он работал 24 часа в сутки 7 дней в неделю.
Полезные боты для Discord

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

Помимо модерации, MEE6 пригодится для воспроизведения музыки на ваших серверах и повышения уровня каждого участника по заранее записанному алгоритму. При приобретении премиум-версии MEE6 появляется доступ к настраиваемым эксклюзивным ролям, которые выдаются автоматически при достижении определенных уровней. Премиум-бот также включает баннер таблицы лидеров без рекламы для ваших пользователей с повышенным уровнем, плагин музыкальной викторины и возможность интеграции с несколькими каналами Twitch и YouTube, что будет крайне полезно стримерам. Конечно, можно использовать бот и бесплатно, но если вы хотите получить практически неограниченный спектр функций, желательно купить полную версию по подписочной форме или за фиксированную стоимость для одного сервера. Со всеми остальными инструментами предлагаем ознакомиться на официальном сайте бота.
Arcane
Arcane — еще один вариант для удобного администрирования. В нем присутствует настраиваемая система уровней с получаемым опытом и определенным списком наград. Автоматическое модерирование фиксирует новых и покинувших участников, предотвращая тем самым рассылку спама и бан-слов, а также отправляет предупреждения о нарушениях, отключает звук, кикает или блокирует нарушителей. Бот имеет функцию выравнивания голоса, поэтому по умолчанию для каждого из участников громкость на голосовых каналах будет одинаковая, а при желании ее сможет настроить администратор.

Arcane особенно полезен для медийных персон, занимающихся стримингом или ведением каналов на YouTube. Он отлично интегрируется с данным видеохостингом и сразу же отправляет уведомления в Discord, чтобы ваши подписчики знали, когда вы разместили новое видео или запустили трансляцию. Обычная версия бесплатна, но вы можете приобрести Arcane Server Premium за 5 долларов в месяц с интеграцией на 2 сервера, чтобы получить дополнительные инструменты конфигурирования опыта за уровни, неограниченное количество добавляемых ролей и оповещения YouTube для десяти каналов.
Xenon
Xenon используется для резервного копирования данных сервера, загрузки шаблонов и передачи сообщений между несколькими каналами. Эти функции могут помочь в структуризации сервера и его восстановлении, если что-то пойдет не так. В боте есть шаблоны для геймеров, образовательных учреждений и фан-сообществ, представленные на разных языках. Заготовки включают структуру каналов, категорий, ролей и другие общие настройки, поэтому не придется заниматься этими муторными занятиями самостоятельно. Для создания копий сервера выполняйте резервное копирование вручную или автоматически, задав для этого определенный интервал по времени.

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

Если говорить о версии Apollo Premium, она позволяет только изменить внешний вид кнопок для голосования и первым получить доступ к еще не вышедшим функциям бота, поэтому приобретение сборки стоит расценивать как благодарность разработчикам за их труды, а не просто цель получить эксклюзивные инструменты.
Helper.gg
Завершает список полезных ботов для администрирования Helper.gg, предназначенный для узконаправленных серверов в Discord. Он добавляет целую форму поддержки, которая может использоваться для обслуживания клиентов. Пользователь задает вопрос, открывая тем самым свою тему, бот автоматически обрабатывает его, относит к определенной категории и отправляет уведомление специалисту о том, что для него появился новый тикет. Соответственно, настройкой необходимо заняться создателю сервера, чтобы обозначить темы вопросов и распределить их между ролями и каналами. Участник сервера получит уведомление от Helper.gg как только ответственный сотрудник ответит на его вопрос. По завершении переписки тикет закрывается и уходит в архив.

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

Этот бот требует прав администратора, но они не предоставляются автоматически, поэтому вам придется немного отредактировать его роль или присвоить новую. После этого используйте команду .cleanup 1 all для очистки желаемого количества сообщений или .cleanup all , чтобы удалить чат полностью. Информацию о том, как происходит взаимодействие с этим и другими ботами очистки чата, вы узнаете из статьи, ссылка на которую расположена в конце описания всех ботов данной тематики.
CleanChat
Инструмент под названием CleanChat был создан всего одним человеком и тоже позволяет управлять сообщениями на сервере. В нем больше команд для очистки чатов — например, установка таймера для автоматического удаления нужного количества реплик. Однако у CleanChat есть один весомый минус — его сложно настроить, если ранее пользователь не сталкивался с подобными инструментами. Иногда бот нормально функционирует сразу же после авторизации, но в определенных ситуациях понадобится взаимодействие с вебхуками и другими ботами сервера.

Этот недостаток нивелируется стабильной работой бота и легкими командами очистки чатов. Все основные нюансы есть на официальном сайте, где сам разработчик не только описал принцип настройки CleanChat в текстовом варианте, но и демонстрирует наглядное видео. Там же находится кнопка для отправки боту приглашения на сервер.
Channel Cleaner
Текстовые каналы на некоторых серверах особенно быстро заполняются огромным количеством сообщений и администратору приходится чистить их, если этого требует тематика канала (например, когда он создался исключительно для обсуждения определенного события и постоянно должен обновляться). Самостоятельно можно только полностью удалить канал, чтобы избавиться от всех сообщений, а вот Channel Cleaner предварительно делает его клонирование (так он получает доступ к очистке старых сообщений), после чего удаляет все содержимое, но оставляет роли, участников и другие настройки.

Собственно, это и есть основное предназначение бота под названием Channel Cleaner. Еще в его функциональность входит настраиваемая команда для автоматической очистки сообщений, когда их набирается заданное количество. Развернутую информацию о взаимодействии с этим инструментом вы найдете, введя команду помощи после его авторизации, а она происходит через открытую площадку.
Как и обещали ранее, оставляем ссылку на общий материал, где рассказывается более детально об упомянутых выше ботах и о том, как взаимодействовать с ними для удобной очистки чата. В этой же статье вы найдете информацию о уже знакомом MEE6, который тоже прекрасно справляется с этой задачей.
Музыкальные боты
Существует множество тематических серверов, где один или несколько голосовых каналов посвящены воспроизведению музыки. То есть любой пользователь может подключиться и начать прослушивать текущую трансляцию. Обычно для этого используются музыкальные боты, автоматически проигрывающие заданный плейлист или только один трек. Таких ботов создано немало и каждый из них обладает своими особенностями, позволяя подобрать подходящий инструмент.
RythmBot
Начнем с одного из популярных ботов для воспроизведения музыки — RythmBot. Он работает по очень простому принципу — после авторизации на сервере открывается список команд для управления музыкой, а основная отвечает за запуск трансляции указанного трека. Вы можете вставить ссылку с YouTube на одно музыкальное видео или использовать целый плейлист с доступом к пропуску текущей композиции. Для начала воспроизведения необходимо самостоятельно подключиться к голосовому каналу и выполнить команду бота, затем все остальные участники этого же канала смогут прослушивать песни.

На официальном сайте, откуда и осуществляется авторизация RythmBot, представлен список всех доступных команд, которые лучше запомнить или сохранить в удобном месте, если вы планируете часто взаимодействовать с этим ботом. Сами же команды легко запоминаются, поэтому уже через несколько раз активного воспроизведения вам не придется обращаться за помощью.
FredBoat
Следующий бот функционирует примерно по такому же принципу, как и предыдущий, но имеет свои особенности. К ним можно отнести полную совместимость не только с YouTube, но и SoundCloud, что дает возможность использовать любой из этих сайтов, предпочтительнее для вас. Однако автоматически при вводе названия композиции, а не ссылки на нее, поиск осуществляется через Ютьюб, поскольку так настроен инструмент бота. Соответственно, имеется и поддержка плейлистов двух этих площадок, благодаря чему можно копировать ссылку и вставлять ее сразу после команды воспроизведения.

Еще одна особенность — выбор композиции при ее поиске по названию. Бот подбирает пять наиболее подходящих вариантов из поиска на YouTube, а вам остается только ввести порядковый номер трека, который вы хотите воспроизвести, после чего проигрывание сразу же начнется, если предварительно вы уже подключились к необходимому голосовому каналу. При вводе команды ;;commands на экране сразу же появится список доступных команд для FredBoat. Вызывайте это меню каждый раз, когда забываете, какую команду использовать для выполнения определенного действия.
Groovy
В завершение этой темы рассмотрим другого популярного, но платного бота под названием Groovy. Конечно, его базовая версия доступна бесплатно и предоставляет все требуемые инструменты для небольших серверов, однако при желании подключить Groovy сразу к нескольким каналам или получить дополнительные инструменты понадобится приобрести его премиум-сборку. В нее входят: регулятор громкости воспроизведения для всех участников, звуковые эффекты, возможность сохранить треки в избранное.

Что касается работы с Groovy, то в этом случае все осуществляется точно так же, как и с другими музыкальными ботами. После авторизации введите команду помощи и ознакомьтесь с основными инструментами. Используйте их для воспроизведения композиций через YouTube или SoundCloud. Как и другие уже рассмотренные аналоги, Groovy позволяет использовать и название трека для его воспроизведения через YouTube, и вставку ссылки на одну композицию или целый плейлист.
Есть и другие музыкальные боты, но эти три считаются основными и самыми популярными. Более детально о взаимодействии с каждым из них мы уже рассказывали в других статьях о добавлении ботов и воспроизведении музыки через них. Если вы впервые сталкиваетесь с этой задачей и пока не знаете, как правильно ее реализовать, наши инструкции по следующим ссылкам окажутся крайне полезны.
Боты для создания голосований
Один из основных видов активности на разных серверах в Discord — создание и проведение голосований на различные темы. Их суть состоит в том, что создатель или администратор размещает вопрос, а другие участники выбирают понравившийся ответ, указывая соответствующие эмодзи (реакции на сообщение). Сделать опрос можно и через встроенную в программу функцию, но это будет не так удобно, как через бота.
Simple Poll
Инструмент Simple Poll включает только две команды, которые и предназначены для проведения голосований. Их синтаксис максимально прост и с принципом создания опросов быстро разберется даже начинающий администратор. Для этого есть также команда помощи, выводящая на экран правильный пример составления вопроса и вариантов ответа. Эмодзи для реакции подбираются автоматически. Если варианта всего два, появляется палец вверх и вниз, а при нескольких доступных ответах (A, B, C) вместо этих эмодзи отображаются буквы, а пользователь выбирает подходящую для него.

Каждое сообщение с голосованием отправляется от имени бота вне зависимости от того, кто его автор, что иногда полезно для обладателей серверов, но некоторым не нравится такой подход, поскольку они хотят создавать голосования от своего имени. Дополнительно роль бота придется настроить, если правила текстовых каналов специфические. По умолчанию доступ администратора отсутствует, поэтому для Simple Poll обязательно предоставляются разрешения на чтение, отправку сообщений и использование реакций.
Poll Bot
Главное отличие Poll Bot от предыдущего — опрос с двумя вариантами ответов создается от имени пользователя, который ввел соответствующую команду. К сожалению, из-за специфики функционирования такого инструмента более сложные голосования все еще публикуются от имени бота, но есть вероятность того, что в будущем это изменят. Еще одна особенность заключается в автоматическом добавлении реакции для тех, кто хочет воздержаться или не знает, куда отдать свой голос. Соответственно, количество тех, кто выбрал такой ответ, тоже отображается под самим вопросом.

Poll Bot поддерживает две команды для создания голосований упомянутых ранее типов. В их синтаксисе тоже нет ничего сложного, а любую сопутствующую информацию предоставит команда +help . Больше никаких нюансов в использовании этого средства нет, поэтому переходите по следующей ссылке для его приглашения через открытую площадку и пробуйте создавать голосование на своем сервере.
В статье по ссылке ниже мы рассказываем о том, как происходит создание голосований при помощи упомянутых ботов. В этой же инструкции есть раздел, посвященный встроенной функциональности, чтобы вы могли сравнить разные варианты и решить, какой из них вам подходит больше.
Разные боты
Завершим наш материал кратким обзором нескольких популярных ботов, которые сложно отнести к какой-то категории, поскольку либо они являются единственными в своем жанре, либо предназначены для выполнения специфических задач.
Dank Memer
Dank Memer — лучший мем-бот для Discord. Он предоставляет набор команд, позволяющих вам использовать нужный мем в любом разговоре. Например, если нужен мем с удивленным лицом, просто введите «wat», и на экране сразу же отобразится соответствующая картинка. Еще вы можете создавать свои собственные мемы, загружая их при помощи отведенной для этого команды. Наконец, Данк Мемер внедряет на сервер «валютную систему», которая позволяет вам зарабатывать монеты на сервере, воруя у других пользователей, играя в азартные игры и выполняя другие задачи. Полученные монеты используются для приобретения особых мемов, игры в другие азартные направления или банального хвастовства перед другими участниками сервера.

Все базовые функции Dank Memer бесплатны, хотя вы можете внести пожертвование через Patreon для получения более крутых мемов-ботов. Выберите ежемесячный уровень от 2 до 45 долларов в месяц, чтобы разблокировать больше мемов, дополнительных монет и уникальных серверных ролей, параллельно поддерживая создателей этого веселого бота, который точно окажется по душе многим участникам сервера.
IdleRPG
IdleRPG — самый необычный и сложный из всех ботов для Дискорда. Он добавляет на ваш сервер текстовую ролевую игру, доступную для всех участников. Игроки создают своего собственного персонажа, выполняют квесты, покупают и обменивают предметы, сражаются, вступают в гильдии, взаимодействуют с местными богами и могут даже жениться на других персонажах. Создайте свою собственную повествовательную историю и станте частью большого мира ролевой игры с помощью сотен различных команд.

Конечно, все функции сразу запомнить практически нереально, поэтому не стесняйтесь время от времени прописывать команду помощи, чтобы разобраться, как управлять своим персонажем и какие действия выполнять. Все команды IdleRPG можно использовать бесплатно после авторизации бота на своем сервере, но для разблокировки особых игровых призов придется сделать пожертвование на любую сумму через Патреон.
Strodl
Strodl — не такой популярный развлекательный бот, тем не менее способствующий завоеванию внимания аудитории и обеспечению их лояльности при помощи доступных видов развлечений. Начать стоит с того, что Strodl добавляет на сервер виртуальную валюту, которая и служит самой главной мотивацией для пользователей. Так они начинают проводить больше времени в текстовых чатах, взаимодействовать с другими участниками, играть в игры или просто слушать музыку. Кстати, базовые функции для воспроизведения композиций здесь тоже присутствуют.

Можно сказать, что Strodl — легкий инструмент удержания аудитории, если нужно повысить время их провождения на сервере или поднять интерес. Администраторам и создателю сервера предстоит разобраться со всеми существующими командами, настроить роли и основные параметры, зависящие от будущей экономики, которую и вносит бот. Со списком доступных команд можно ознакомиться еще до приглашения Strodl на сервер, поняв, что он позволяет реализовать.
TacoShack
Завершает список популярных ботов для для Дискорда TacoShack. Этот инструмент тоже создан для развлечений и добавляет на сервер игру, которая заключается в том, что каждый участник может открыть свою точку по продаже тако, улучшать ее, нанимать сотрудников для повышения производства, размещать рекламу для привлечения клиентов, редактировать меню доступных блюд под себя и многое другое, что связано с ведением бизнеса по продаже тако.

Эта интерактивная игра придется по вкусу многим активным пользователям Discord, и она уже собрала огромное количество фанатов, о чем говорят крайне положительные отзывы на открытой площадке. Еще большего азарта добавляет наличие конкуренции, то есть каждый владелец своей закусочной размещается в таблице лидеров и, чтобы попасть на самую верхушку, понадобится придумать стратегию развития и продавать больше всех тако, или же объединиться в франшизу со своими друзьями. Конечно, такое разнообразие функций требует и многих команд, поэтому первое время часто будет нужно вызывать команду помощи, однако со временем основные инструменты уже запомнятся и играть станет проще.
Полезные боты в Discord: для музыки, голосований и модерации сообщений

Discord — один из популярных мессенджеров для удалённой работы. У него простой интерфейс и широкий набор бесплатных функций. Но одно из главных преимуществ дискорда — возможность добавлять ботов для решения разнообразных задач: от проигрывания музыки до модерации чатов. Рассказываем, что умеют делать боты в дискорде, как их установить и сколько они стоят.
Зачем вообще нужны боты в дискорде
Бот – программа, созданная, чтобы решать однотипные и повторяемые задачи по заданному алгоритму. Боты в Discord выполняют рутинные задачи, причём их скорость обработки операций существенно выше человеческой.
Такой помощник может отправить приветствие новому участнику сообщества или напомнить о важной дате. А чтобы отыскать в чате и заблокировать сообщение с нецензурной лексикой ему потребуется всего пара секунд
Что делают боты в дискорде:
- находят и проигрывают музыку, составляют плейлисты;
- модерируют сервер;
- проводят опросы и голосования;
- распределяют роли;
- переводят текст сообщений в мессенджере;
- очищают чаты;
- помогают повысить активность участников.
Разберём, какие именно боты решают перечисленные задачи.
Музыкальные боты
Музыкальные боты позволяют проигрывать разные треки на серверах в дискорде. Вы создаёте сервер, добавляете участников, а затем подключаете к нему помощника. Он воспроизводит песни в указанной вами последовательности, может регулировать громкость воспроизведения, делать паузы между треками и др.
Долгое время самым популярным музыкальным был 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
Mr Translate – переводчик для дискорда, который поддерживает 70 языков. Чтобы перевести сообщение, отреагируйте на него эмодзи с флагом. Бот пришлёт перевод в следующем сообщении.

Особенности . Для корректной работы требуется разрешение на отправку сообщений и встраивание ссылок.
Стоимость . Есть премиум-тариф – 5$ в месяц. Дополнительно доступны 400 000 символов для Azure и премиум поддержка.
RitaBot
RitaBot — бесплатный переводчик, который помогает преодолеть языковой барьер миллионам пользователей дискорда. Есть автоматический перевод каналов, реакцию на флажки и пользовательские переводы.
RitaBot будет переводить ваши сообщения друг другу в режиме реального времени: вам приходит сообщение от другого пользователя на его языке, а следом за ним – перевод от RitaBot.

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

- Приветствие новых пользователей . Отправляет приветственные сообщения и открытки новичкам, рассказывает им о правилах сервера или последних событиях.
- Очищение чатов . Удаляет заданное количество сообщений из текстового канала или полностью удаляет его.
- Фильтр Auto-moderator . Защищает сервер от оскорблений, опасных ссылок, злоупотребления смайликами.
- Модерация . Следит за всем, что происходит на вашем сервере. Например, вы можете выбрать частный канал, куда MEE6 будет отправлять уведомлениям вашим модераторам каждый раз, когда кто-то редактирует или удаляет сообщение. Есть 15 готовых команд для модерации сервера.
- Пользовательские команды . Даёт полный контроль над созданием собственных команд. Вы можете генерировать команды, чтобы присваивать и удалять роли, отправлять уведомления в канал или лично пользователю.
Стоимость. Есть бесплатная базовая версия, а есть платные: от 11,95$ до 49,99$ за год.
Tatsumaki
Tatsumaki переводится как «Торнадо» – имя главной героини аниме «Ванпанчмен». По легенде девушка обладала разрушительной силой, могла моментально разрезать врага на части. Названный в честь неё бот Tatsumaki может похвастаться не меньшей мощью. Он предлагает множество функций, которые решают разные задачи: от проведения опросов до ввода внутренней валюты.

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

- Базовые функции . Позволяет настраивать язык команд и интерфейса.
- Музыка . Проигрывает треки из разных сервисов: Spotify, YouTube, SoundCloud, Яндекс.Музыка и некоторых радиостанций.
- Модерирование . Управляет сервером, наказывает нарушителей. Предположим, пользователь рассылает спам – на первый раз программа отправит предупреждение, на второй – временный бан. Если нарушений продолжатся, удалит пользователя с сервера.
- Аудит . Ведёт историю действий на сервере. Так удаление и изменение сообщений, приглашение новых участников. Хронология действий доступна на сайте, фильтруйте её по участникам, каналам и типам событий.
- Оповещения . Оповещает о новых видео и постах на привязанных каналах. Вы подключили аккаунт на ютубе к боту — как только на нем появится новый ролик, JuniperBot пришлёт уведомление.
- Рейтинг участников . Поощряет активных пользователей – выдаёт роли за достижение определённых уровней.
- Приветствие . Приветствует новых участников и назначает им роли.
- Развлечение . Предлагает смайл-рулетки, системы кармы по печенькам, магические шары и прочие инструменты для поднятия активности.
Основное преимущество – хорошо структурированная и интуитивно понятная панель управления. Вам не придётся тратить много времени, чтобы разобраться, как работать с ботом.
Как установить бота на сервер
Принцип добавления ботов на сервер одинаков. Рассмотрим, как добавить бота на сервер на примере JuniperBot.




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