Как упомянуть роль в дискорде
Перейти к содержимому

Как упомянуть роль в дискорде

  • автор:

Discord API: Как упомянуть роль в Embed?

Выход

Пишу в эмбеде <@id-роли>но выходит это

Отслеживать
задан 8 авг 2022 в 19:03
Dirfect Gigi Dirfect Gigi
3 1 1 серебряный знак 3 3 бронзовых знака

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

 Как же я сам до этого не додумался. 

Отслеживать
ответ дан 8 авг 2022 в 19:46
Dirfect Gigi Dirfect Gigi
3 1 1 серебряный знак 3 3 бронзовых знака

2022. ухх. Вот, да. Написано на Disnake, пойдет 100% на Discord.Py. я нашел этот вопрос в вкладке текущие. ��

@bot.slash_command() async def hichat(inter): role = inter.guild.get_role(1184492430813298710) embed = disnake.Embed( title = "hichat", description=f" hi chat" ) await inter.send(embed=embed) 

Отслеживать
ответ дан 19 дек 2023 в 17:16
Forevor Base Forevor Base
343 1 1 серебряный знак 9 9 бронзовых знаков

  • api
  • discord
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.3.8.5973

Как сделать так что бы дискорд бот упомянул роль?

Sonada

5c51c660385eb371882302.jpeg

Не работает. Выдает вот это

Sonada, полностью кусок кода можешь написать ? и попробуй еще через @&role_id

Sonada

Sonada @Sonada Автор вопроса

Алексей, Извини что так долго не отвечал, были проблемы с инетом. В общем попробовал через @&role_id, ничего не выходит, а выдает @deleted-role роль (хотя роль на месте и не удалена) . 5c5364630a9ad361054334.jpeg 5c536469bdd44852383105.jpeg

Sonada, в настройках у этой роли точно стоит «Позволить всем упомянать эту роль» ?
Sonada, можно попробовать и такой вариант

bot.guild.roles.find("name", "Название роли").name || '';

Sonada

Sonada @Sonada Автор вопроса

Алексей, Да, в настройках стоит »Позволить всем @упомянуть эту роль»/ Не до конца понял что делать с bot.guild.roles.find(«name», «Название роли»).name || »;

Sonada, у тебя както странно, в первом комменте 1 ид, во втором, где роль удалена уже другой ид.
вобщем чтото вроде такого var role = message.guild.roles.get(«role_id»); , ну и потом role.name

Sonada

Sonada @Sonada Автор вопроса

Алексей, Разные id из-за того что я пробовал с разными ролями, прости что усложняю?. Подожди, я что-то совсем запутался, мы создаем переменную role, а куда её потов девать?

Sonada, да куда хочешь девай, например так

bot.on("message", (message) => < if (. ) < var role = message.guild.roles.get("540638821612650517"); message.channel.send(< embed: < color: 3447003, description: ( role.name || 'такой роли не существует' ) >>); > >);

Sonada

Sonada @Sonada Автор вопроса

5c55859812e61845884974.jpeg

Алексей, походу я слишком глуп для этого. Что я не так сделал?

Sonada, делаешь скриншоты кода, вместо копипаста

bot.on("message", (message) => < console.log(message.guild.roles); >);

сюда скопируй че у тебя выведется

Sonada

Sonada @Sonada Автор вопроса

PS C:\Users\User\Desktop\MyBot> node index.js I am ready! C:\Users\User\Desktop\MyBot\index.js:114 description: ( role.name || 'такой роли не существует' ) ^ TypeError: Cannot read property 'name' of undefined at Client.hytale.on (C:\Users\User\Desktop\MyBot\index.js:114:29) at Client.emit (events.js:187:15) at MessageCreateHandler.handle (C:\Users\User\Desktop\MyBot\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34) at WebSocketPacketManager.handle (C:\Users\User\Desktop\MyBot\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:103:65) at WebSocketConnection.onPacket (C:\Users\User\Desktop\MyBot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35) at WebSocketConnection.onMessage (C:\Users\User\Desktop\MyBot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17) at WebSocket.onMessage (C:\Users\User\Desktop\MyBot\node_modules\ws\lib\event-target.js:120:16) at WebSocket.emit (events.js:182:13) at Receiver._receiver.onmessage (C:\Users\User\Desktop\MyBot\node_modules\ws\lib\websocket.js:137:47) at Receiver.dataMessage (C:\Users\User\Desktop\MyBot\node_modules\ws\lib\receiver.js:409:14) PS C:\Users\User\Desktop\MyBot>

Sonada

Sonada @Sonada Автор вопроса

5c55b3d62df6a113726178.jpeg

Алексей, Я просто хочу что-бы бот выдавал что-то типо этого.

Как сделать так, чтобы бот упомянул роль?

dimovich85

nTMbPA2.png

Заголовки полей в embed’ах Discord’а поддерживают не весь Markdown.

Вы можете поместить упоминание роли в значение поля ( .addField(«Field name», «» ).

Помните: Упоминания в embed’ах не работают. Даже если они будут кликабельны, они не будут никого призывать. Призывание упоминаниями работает только в теле сообщения (content)

Ответ написан более трёх лет назад
Mikle123456789 @Mikle123456789 Автор вопроса

Блин, жалко. Просто я хотел сделать магазин в боте. Пример:
Роль.
Цена.
С помощью .addField(«», «Цена»)
Может есть выход как нибудь?

fixator10

Mikle123456789, указывать название роли, например, вместо упоминания роли?
Mikle123456789 @Mikle123456789 Автор вопроса
Максим Невзоров, нет. Роль не красиво выглядит. И смайлики не те.
Ваш ответ на вопрос

Войдите, чтобы написать ответ

node.js

  • Node.js
  • +1 ещё

Как собрать проект чтобы в конце бандла были лицензии всех пакетов?

  • 2 подписчика
  • 17 часов назад
  • 106 просмотров

Как упомянуть роль в вебхуке в Discord

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

  1. Откройте настройки сервера, слева выберите раздел «Интеграции», затем перейдите к настройке «Вебхуки». Как упомянуть роль в Вебхуки Дискорд-01
  2. Создайте новый вебхук, что мы упомянем немного ниже, или выберите уже существующий для просмотра детальной информации. Как упомянуть роль в Вебхуки Дискорд-02
  3. У каждого приложения есть свой URL, при помощи которого осуществляется его интеграция на разные сайты. Как раз эту ссылку и нужно скопировать для дальнейшего использования. Как упомянуть роль в Вебхуки Дискорд-03

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

Шаг 2: Копирование ID роли

Роль в вебхуке не получится упомянуть просто по ее названию, как это осуществляется непосредственно в Discord при отправке сообщений. Для этого необходимо использовать специальный код со вставкой ID роли. Скопировать такой идентификатор можно только при включенном режиме разработчика в Дискорде, об активации которого читайте в статье ниже.

Как упомянуть роль в Вебхуки Дискорд-04

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

  1. Разверните меню сервера, нажав по его названию. Из появившегося списка выберите пункт «Настройки сервера». Как упомянуть роль в Вебхуки Дискорд-05
  2. Слева щелкните по категории «Роли». Как упомянуть роль в Вебхуки Дискорд-06
  3. Для простоты можете использовать поиск, введя в соответствующей строке название роли для копирования ID. Как упомянуть роль в Вебхуки Дискорд-07
  4. Теперь, когда режим разработчика включен, можно вызвать контекстное меню роли, кликнув по ее названию правой кнопкой мыши. Из него следует выбрать «Копировать ID роли». Числовой уникальный идентификатор сохранен в буфере обмена и может использоваться для самых разных целей. Как упомянуть роль в Вебхуки Дискорд-08

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

Шаг 3: Упоминание роли в вебхуке

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

  1. Поскольку сообщение будет тестовым, на сайте по настройке рассылки можно удалить все заранее заданные настройки, используя кнопку «Clear All» или путем ручного удаления всех заполненных полей. Как упомянуть роль в Вебхуки Дискорд-09
  2. В строку «Webhook URL» понадобится вставить ту самую ссылку на вебхук, которая была определена еще при помощи первой инструкции из нашего материала. Как упомянуть роль в Вебхуки Дискорд-010
  3. В поле заполнения сообщения, которое обычно называется как «Content», вставьте код, имеющий вид . Соответственно id-role понадобится заменить на идентификатор роли, что видно на следующем изображении. Как упомянуть роль в Вебхуки Дискорд-011
  4. Если используемый вам сайт поддерживает предпросмотр сообщения, то упоминание отобразится в формате @role. Это значит, что роль корректно упоминается, просто сам сайт не может отобразить ее текущее название, а на сервере все покажется корректно. Как упомянуть роль в Вебхуки Дискорд-012
  5. Нажмите кнопку для теста или самостоятельно отправьте сообщение от вебхука при помощи кнопки «Send». Как упомянуть роль в Вебхуки Дискорд-013
  6. Перейдите в чат, который настроен для принятия сообщений от интеграции, и посмотрите на появившееся уведомление. Указанная вами роль была успешно упомянута, а далее отображается введенное содержимое сообщения. Как упомянуть роль в Вебхуки Дискорд-014
  7. Точно таким же образом, отдельно или через запятую, можно упомянуть в рамках одного сообщения неограниченное количество ролей, если это понадобится. Как упомянуть роль в Вебхуки Дискорд-015
  8. В этом случае все тоже сработает корректно и вебхук выведет сообщение в таком виде, в котором оно и задумывалось. Как упомянуть роль в Вебхуки Дискорд-016
  9. Если сообщение вроде бы было послано, но в Discord не отображается, откройте настройку интеграции и проверьте заданный канал, куда приходят сообщения от бота. Убедитесь в том, что в нем нет никаких отдельных ограничений для вебхуков или всех пользователей. Как упомянуть роль в Вебхуки Дискорд-017

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *