Как выдать роль discord py

Обновлено: 06.07.2024

Как сделать получение ролей через реакции в дискорде Discord, Длиннопост, Боты, Первый пост, Сервера дискорд

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

Как сделать получение ролей через реакции в дискорде Discord, Длиннопост, Боты, Первый пост, Сервера дискорд

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

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

Встречайте его - YAGPDB.xyz. Бот обладающий не только функцией с деланием таких таблиц с ролями, но и многими другими (честно добавил ради таблицы с ролями :)). Начнем с добавления его на сервер.

Как сделать получение ролей через реакции в дискорде Discord, Длиннопост, Боты, Первый пост, Сервера дискорд

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

2. Когда добавили, можно заходить в "control panel", авторизируемся и выбираем нужный сервер, там уже будет наши инструменты. Для работы нам нужен только один раздел, а именно "Role Commands".

Как сделать получение ролей через реакции в дискорде Discord, Длиннопост, Боты, Первый пост, Сервера дискорд

Пока что, все непонятно, щас объясню.

Role command - это само название роли, пишите какое вам нужно, в подразделе виднеется две вкладки, group и role. О группе я расскажу чуть-чуть по позже, а роль, это присвоение этого название к определенной роли на сервере.

Пример: делаете роль для игры в Майнкрафт, пишите во вкладке name название роли, Майнкрафт, а во вкладке role выбираете роль на сервере (предварительно создав саму роль),

Оставшиеся две вкладки в разделе, нам не пригодятся (точнее мне они не пригодились), в разделе "Create a new group", нужно создать грубо говоря, категорию ролей, пишите что вам по душе, я писал "Игровые роли", т.к и делал игровые роли;)

В эту категорию нам нужно переместить нашу роль/роли, в самой категории нас могут интересовать две вкладки, "Temporary roles (minutes)" и "Mode".

Первая вкладка отвечает за время за которое будут сниматься роль, если убрали реакцию, а вторая сколько можно будет иметь этих ролей, не больше одной или наоборот, несколько. (Не забудьте в максимальном колличестве ролей, написать нужное ВАМ число, вместо нуля, а то тогда не получится взять не одну роль).

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

-rolemenu create "ваше название категории"

Как сделать получение ролей через реакции в дискорде Discord, Длиннопост, Боты, Первый пост, Сервера дискорд

Как сделать получение ролей через реакции в дискорде Discord, Длиннопост, Боты, Первый пост, Сервера дискорд

Как сделать получение ролей через реакции в дискорде Discord, Длиннопост, Боты, Первый пост, Сервера дискорд

Как сделать получение ролей через реакции в дискорде Discord, Длиннопост, Боты, Первый пост, Сервера дискорд

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

Вот что у меня получилось:

Как сделать получение ролей через реакции в дискорде Discord, Длиннопост, Боты, Первый пост, Сервера дискорд

Теперь на этом точно все, писал я это в полную ночь, так что мог что то не уследить, поэтому задавайте вопросы, и если что то не поняли можете спросить у меня на прямую, на самом сервере, вот ссылка:

Надеюсь хоть кому-то помог в этом большом обзоре, не забывайте про место где меня можно найти, и всем пока!

Как по мне, вариант с написанием своего бота получше, бо тогда будет намного больше функций, чем этот способ. (хостить можно на бесплатном хостинге heroku)

Спасибо. От души!

спасибо тебе добрый человек, некоторые моменты уже не актуальны, но в целом ты очень помог

Какое-то из них нужно копировать, или написать свое, и вставить его айди?

На данный момент, можно с вами как-нибудь связаться? В дискорде. Ссылка уже неактивна..

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

Как сделать так, чтоб при нажатии на роль, участник мог только получить только одну роль.(если он нажмёт на вторую emoji чтоб получить роль то первая роль снимается, а вторая выдается)

при вставке реакции
"Flags:-nodm: false toggle with rolemenu update -nodm 570117347390783488: disables dm messages.-rr: true toggle with rolemenu update -rr 570117347390783488: removing reactions removes the role"

Ответ на пост «Как сделать получение ролей через реакции в дискорде» Discord, Боты, Первый пост, Ответ на пост

Законопроект

В госдуму внесён законопроект о запрете СМИ упоминать национальность преступников. Поэтому теперь вы никогда не догадаетесь, кто именно на свадьбе стрелял в воздух.


У расчленёнки нет региональной принадлежности!

У расчленёнки нет региональной принадлежности!

Законопроект запрещающий СМИ сообщать национальность

Школа рецептов

Школа рецептов

Как вас теперь называть?

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

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

Усман Нурмагомедов опознан как водитель

“Рокировочка по-братски” не прокатила, Камал Идрисов направлен в СИЗО до 11 января, ему грозит 10 лет тюрьмы.

Попытка брата Хабиба Нурмагомедова, бойца Bellator Усмана Нурмагомедова, уйти от ответственности за наезд на полицейского, возможно, провалилась. Все дело в том, что стоявшие на посту у Каспийского аэропорта сотрудники правопорядка узнали в водителе, сбившем одного из них на КПП, Усмана Нурмагомедова. Об этом сообщает телеграм-канал SHOT.

Автомобиль преступников был полностью тонирован, но в момент проезда через КПП боковое окно со стороны водителя было открыто, и сотрудники по фото опознали, что за рулем сидел именно Усман Нурмагомедов. Эту информацию полицейские внесли в протокол следователя по делу.

Теперь для Усмана и его друга Камала Идрисова ситуация серьезно осложнилась, так как к ДТП и оставлению места наезда на полицейского потенциально добавилось лжесвидетельствование. Ведь ранее приятели заявили, что за рулем находился Камал, а Усман спал на заднем сиденье после тренировки. Ну и прицепом там идет рассказ про то, что ребята очень торопились и решили, что не сбили человека, а слегка задели его зеркалом. А после они поменялись местами и за руль сел уже Усман - просто так захотелось.

Сейчас следователи изучают видео с камер наблюдения, чтобы точно установить водителя. Камала же после получения новых данных из-под домашнего ареста перевели в СИЗО, где он будет находиться до 11 января. СМИ утверждают, что ему грозит до 10 лет тюрьмы.

Внезапное

Внезапное Twitter, Вижу рифму, Мат, Юмор, Профессия

Лучшие моды

Лучшие моды Мемы, Star Wars, Моды, Энакин и Падме на пикнике, Сиськи

Взято из просторов телеграмма.

Воспоминания

Воспоминания Порно, Девушки, 18+, Подруга, Секс, Фильмы, Юмор, Картинка с текстом

Думал пирожком отделаешься?

Думал пирожком отделаешься?

Целевая аудитория

Вчера наша команда по любительскому мини-футболу избежала поражения, и на последних минутах тренировки сравняла счёт. На радостях мы командой решили попить кофе в ближайшем кафе. Коллектив у нас разного возраста, и по большому счёту, мы друг друга почти не знаем. Только имена и марку машины. Например, Андрей на белой Королле.

Сидим, общаемся, и разговор заходит про профессии. Юра на синем Туареге говорит:

Юрий помолчал, а потом продолжил.

- С этой работой я никогда не думал, что так пристально буду следить за прогнозом погоды! Когда в прогнозе я видел эту чёртову снежинку…

Все с сочувствием и поддержкой слушали его. Самый старший из нас, мужчина лет пятидесяти, Максим на сером Прадике, сказал:

- Понимаю. Я в частном доме живу!

Продолжил молодой Андрей на белой Королле:

- Студентом завалил три экзамена. Взял академ. Надо было чем-то полгода заниматься. Устроился торговать синтезаторами. Небольшой отдел в торговом центре. Скучнее в жизни больше ничем не занимался. Через пару дней работы я понял, что эти синтезаторы на фиг никому не нужны. Ну вот, скажите, вы часто покупаете синтезаторы?

За столиком все молчали. Возрастной Максим, что-то хотел произнести, но промолчал. Андрей продолжил.

- Вот! Я просто сидел, окружённый синтезаторами, целыми днями и ничего не делал. Хозяин этого отдела был очень странный тип. Он запрещал мне читать, лазить в телефоне. Я должен был просто сидеть и улыбаться! Более того, хозяин каждый вечер стал отчитывать меня за то, что за день не было продаж. В какой-то момент перестал здороваться даже! Думаю, валить надо от этого чокнутого. Ща получу зарплату за месяц и уволюсь. А если не заплатит?!

Максим на сером Прадике неожиданно сказал:

- Я вспомнил, откуда мне лицо твоё знакомо! Я у тебя синтезатор так купил! Помнишь меня?! С бутылкой пива такой и с чипсами? Я еще тебя ими угостил.
- Что-то припоминаю. Ну как, жалеешь?
- Нет! Это самая лучшая покупка в моей жизни! Я-то не играю… Дочь увлеклась. Играть научилась, поёт. К компу подключила его. Что-то там сводит. Спасибо тебе!
- Не за что! Главное, правильно угадать с целевой аудиторией!

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

После установки самого python'а (проверить правильность установки можно написав в консоли: "python -V", возможно потребуется перезагрузка) установим модуль discord.py ( https://discordpy.readthedocs.io/en/latest/ -это ссыль на официальную документацию), сделать это можно прописав в консоли: " pip install discord.py ". С установкой чего-либо окончено.

Теперь перейдем к Discord'у:

1. Создадим сам сервер:

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

2. Создадим текстовый канал "получение ролей" (название значения не имеет):

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

3. Добавим сами роли для выбора:

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Я в данном случае создал две роли исключительно для примера:

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

4. Копируем и сохраняем в расширении .py файлы:

Q: как сохранить код в расширении .py?

A: используйте блокнот:

создаете новый файл, вставляете код, в левом верхнем углу: файл >> сохранить как

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

5. Не закрывая файлы переходим на сайт ( https://discordapp.com/developers ), регаемся, переходим во вкладку "Applications" и создаем новое приложение:

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Далее называем его по любому, со всем соглашаемся.

Переходим во вкладку "Bot",

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

далее его можно как-либо назвать и поменять аватарку. После макияжа переходим во вкладку "OAuth2":

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Пролистываем немного ниже:

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

В окне "SCOPES" выбираем "bot", во втором выбираем "Administrator", далее копируем и впоследствии переходим по ссылке, там все подтверждаем.

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

После авторизации переходим во вкладку "Bot" и копируем токен.

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Далее открываем файл " config.py " созданный ранее и вместо надписи "тут токен" вставляем реальный токен. Хочется отметить то что токен меняется при смене имени бота и аватарки, если у вас появятся проблемы, стоит обратить внимание на токен.

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Добавить реакции можно нажав пкм:

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Далее копируем ID поста, кликнув пкм:

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Перейдем к самим ролям, для этого копируем эмодзи из реакций (если вы из брали с ссайта который я оставлял выше то копируйте от туда, если вы их выбирали в ds то скопируйте их в ds и вставте на сайт и скопируйте оттуда) и вставляем в config в ординарных апострофах с двух сторон и через двоеточие указываем id роли, в конце строк (кроме последней) ставим запятые

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Взять id можно кликнув пкм по названию роли.

В итоге должно получиться так:

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

в значении переменной "MAX_ROLES_PER_USER" указываем кол-во ролей которые может получить 1 юзер, значение "EXCROLES" оставляем пустым.

сохраняем config и code в одну папку в которой нет ничего кроме этих файлов и она названа по английски:

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

Далее в консоли прописываем: "cd <путь к файлу>"

"<метка тома диска на котором находится папка>"

Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

вот так вот. Осталось поставить роль бота выше ролей которые вы будите выдавать. Иначе появится ошибка (Forbidden('403 Forbidden (error code: 50013): Missing Permissions')). Проверка прошла успешно!

Спасибо за внимание!


Программирование на python

218 постов 7.5K подписчика

Правила сообщества

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

Приветствуется:

• уважение к читателям и авторам

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт

Не рекомендуется:

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

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

Я редко конечно ставлю минусы но ставить питон из ms store. это дико, даже для меня

Зачем выдавать чужой код, за свой?
автора кода - Хауди

еще один конкурент "9 вите иташки"?

Правильно пишется "наподобие".

Хочу для себя изучить питон, что посоветуете? Смотрела курсы, не подошли. Как лучше изучать? Может, книга толковая есть?

на первом этапе(python - V) выдало ошибку

Traceback (most recent call last):

NameError: name 'python' is not defined

у меня выдаёт ошибку

File "C:\Users\HP-PC\AppData\Local\Programs\Python\Python39\lib\site-packages\aiohttp\ connector.py ", line 938, in _wrap_create_connection


Хочешь нарисовать свою карту для D&D? Тебе к нам!

Хочешь нарисовать свою карту для D&D? Тебе к нам! Рисование, Dungeons & Dragons, Туториал, Набор, Discord, Длиннопост

Добрый вечер постояльцам таверны и активны пользователям Пикабу!

В недавнем опросе в вконтакте, постояльцы отметили что у них есть желание научиться рисовать карты для их приключений! Очень рад этому :)

Поэтому я решил не останавливаться и завлечь как можно людей в данную атмосферу рисования.

Что это такое?

Данный пост - небольшая информация для дальнейшего рисования карт для D&D5e, ты же (Пикабушник) можешь присоединиться к нам и следить за будущими постами, а также принять участие в выборе первого туториала.

Может быть это масштабный континент? Забытая пещера? Решай сам!

Самый популярный запрос будет нарисован и разобран для обучения.

Что нужно для этого?

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

Инструменты:
Листы Бумаги А4 или СкетчБук
Простой карандаш
Карандаш H
Карандаш HB
Карандаш 3B
Ластик
Стружилка
Программы:
Krita - покраска, добавление и создание своих токенов, эффекты и т.д.

Ответы на вопросы

- Да, это бесплатно

- Как и где можно будет посмотреть туториал?

- Сам туториал будет проходить по Discord. Дата и время проведения будет в группе Вконтакте.

Также в группе будет выложена статья с этим же туториалом и на пикабу тоже :)

- Зачем показывать туториал и там и там? Почему не сразу создать статью?

- Первое. Появился вопрос или проблема? Спроси у картографа и получи решение!

Второе. Атмосфера. Вместе с вами такие энтузиасты как вы!

В общем, решил я сегодня привести в порядок сервер (пусть будет мой и Сани). И вот с этого момента как нашёл всю нужную инфу, буду во время написания делать бота (на самом деле уже нет).

Думал насчёт удобного способа разделения общества, то есть правильного разделения пользователей на категории (интересы, регионы и т.п). В итоге самой лучшей вариацией после мониторинга всех возможных вариантов реализацией, оказалась, та самая механика приглянувшаяся мне на некоторых серверах в дискорде.

Как сделать выдачу роли при нажатии на реакцию Emoji в Дискорд Discord, Bots, Github, Javascript, Длиннопост, Командная строка, Discovery, Гифка

Как сделать выдачу роли при нажатии на реакцию Emoji в Дискорд Discord, Bots, Github, Javascript, Длиннопост, Командная строка, Discovery, Гифка

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

Если вы сейчас читая текст, уже думаете о том что ни разу не создавали бота в дискорде, и уже прошли через мысль о том, что данное решение вам уже не нужно - то мы с вами в одной тарелке. Разве что возможно отличие в том что у меня хоть какие-то базовые навыки в программировании. Но времени у вас много не займёт, проверяя этот текст на ошибки я со всем справился, и через все ошибки я уже прошёл

И так, у нас тут готовый бот на Python - что уже хорошо, т.к я с ним знаком в общем пока искал инфу, заметил что все подобные боты написаны на javascript (к слову существует разные библиотеки для работы с ботом на разных языках, такие как discord.py , discord.js, как раз для работы с ботами). Но это зависит от того какой язык вы предпочитаете. Нам лишь только нужно переписать пару строчек под себя.

Назовём это шаг 1:

Как сделать выдачу роли при нажатии на реакцию Emoji в Дискорд Discord, Bots, Github, Javascript, Длиннопост, Командная строка, Discovery, Гифка

Как сделать выдачу роли при нажатии на реакцию Emoji в Дискорд Discord, Bots, Github, Javascript, Длиннопост, Командная строка, Discovery, Гифка

В Bot мы берём все нужные нам пункты что ниже.

Как сделать выдачу роли при нажатии на реакцию Emoji в Дискорд Discord, Bots, Github, Javascript, Длиннопост, Командная строка, Discovery, Гифка

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

Нам нужен Node.js, для работы с JavaScript, и удобный для вас редактор,например VisualStudio.

Загружаем эту самую библиотеку из github. Открываем файл roleReact.js и меняем под себя эти параметры

const yourID - ваш id т.е ваш номер в тут расказывается от том где его достать.

В const botToken = " сюда копируем ваш TOKEN "

И переделываем переменные let initialMessage, const roles, const reactions под себя.

Теперь нам нужно авторизовать нашего бота той ссылкой на ваш сервер, если не сделали раньше. Потом открываем папку вашего бота в cmd (поищите о том как это сделать в интернете, я добавил PowerShell в меню на правую кнопку мыши), и прописываем node roleReact.js, это включает нашего бота.

Как сделать выдачу роли при нажатии на реакцию Emoji в Дискорд Discord, Bots, Github, Javascript, Длиннопост, Командная строка, Discovery, Гифка

Переходим на наш сервер и пишем !createrolemessage, если бот не ответил - значит что-то не таки и лучше проверить все пункты и банальные ошибки, прежде чем писать мне или ставить минус.

У меня всё это выглядит примерно так.

Как сделать выдачу роли при нажатии на реакцию Emoji в Дискорд Discord, Bots, Github, Javascript, Длиннопост, Командная строка, Discovery, Гифка

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

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