Discord API: Как упомянуть роль в Embed?
Пишу в эмбеде <@id-роли>но выходит это @id-роли>
Отслеживать
задан 8 авг 2022 в 19:03
Dirfect Gigi Dirfect Gigi
3 3 3 бронзовых знака
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Как же я сам до этого не додумался.
Отслеживать
ответ дан 8 авг 2022 в 19:46
Dirfect Gigi Dirfect Gigi
3 3 3 бронзовых знака
- api
- discord
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.21.1314
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как сделать так что бы дискорд бот упомянул роль?


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

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

Sonada, в настройках у этой роли точно стоит «Позволить всем упомянать эту роль» ?
Sonada, можно попробовать и такой вариант
bot.guild.roles.find("name", "Название роли").name || '';

Sonada @Sonada Автор вопроса
Алексей, Да, в настройках стоит »Позволить всем @упомянуть эту роль»/ Не до конца понял что делать с bot.guild.roles.find(«name», «Название роли»).name || »;
Sonada, у тебя както странно, в первом комменте 1 ид, во втором, где роль удалена уже другой ид.
вобщем чтото вроде такого var role = message.guild.roles.get(«role_id»); , ну и потом role.name

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, делаешь скриншоты кода, вместо копипаста
bot.on("message", (message) => < console.log(message.guild.roles); >);
сюда скопируй че у тебя выведется

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 Автор вопроса

Алексей, Я просто хочу что-бы бот выдавал что-то типо этого.
Как делать упоминание каналов, ролей на сервере
Упоминания — специально разработанные слова, которые используются с целью упомянуть участников. Часто слово заменяется пингом. Для возможности упомянуть участника, рекомендуется вводить определенную комбинацию, к примеру, @Никнейм#0000, где «никнейм» — ник интересующего пользователя, 0000 – назначенный дискрим пользователя. При этом допускается возможность не заполнять соответствующие данные, а выбрать из имеющегося меню, которое автоматически отображается при вводе @.

Типы упоминаний в Дискорде
Перед тем, как упомянуть канал в Дискорде, пользователям рекомендуется придерживаться определенной последовательности действий. При этом не стоит забывать, что в программном обеспечении выделяется несколько типов. Каждый из них содержит свои особенности и нюансы.
Упоминания через ID
Пользователи вправке напрямую упомянуть интересующего пользователя, используя при этом роли и действуя через специально разработанный идентификатор. Рассматриваемое программное обеспечение Дискорд в автоматическом режиме инициирует замену @роль или @никнейм#тег на или , в том числе и в обратном порядке.
Простой
О том, как пользователям необходимо вводить классический вид, рассмотрено выше. Опция предусматривает классическое упоминание интересующего участника, если он в текущий момент находится в режиме онлайн. При не активном статусе либо невидимке, автоматически воспроизводится звуковое уведомление, а разработанном сервере, где был факт упоминания, отображается графическое изображение с цифрами, включая иконку официального программного обеспечения.

@everyone
Чтобы пользователи могли упомянуть всех интересующих пользователей, требуется прописать функцию @everyone. В таком случае в автоматическом режиме отображается соответствующее уведомление у выбранного сервера, причем и у тех, кто находится не в сети.
@here
Рассматриваемый тип уведомлений распространяется на тех пользователей, которые находятся в сети на момент активации. Последовательность действий не вызывает сложностей – алгоритм универсальный, как и в случае с @everyone.
Особые
В качестве особых упоминаний разработчики программного обеспечения Дискорд выделяют функцию с использованием уникального идентификационного номера интересующего участника. В таком случае разработчики указывают на то, что приложение автоматически осуществляет проведение процедуры замены ролей либо присвоенных никнеймов на ID. Аналогичным образом осуществляется процесс в обратном порядке.

Возможные трудности
Многочисленные отзывы пользователей указывают на отсутствие сложностей при использовании упоминаний в программном обеспечении Дискорд. При этом выделяют несколько доступных вариантов для моментального перехода к рассматриваемым упоминаниям. Пользователям рекомендуется ознакомиться для справки:
- благодаря нажатию на пустую поверхность диалогового окна упоминаний, пользователь моментально переносится на интересующий сервер, текстовое сообщество и непосредственно к упоминанию.
- Обратите внимание, участники могут «парить» возле графическое изображения иконки jump, однако положительного исхода это не приносит;
- при необходимости выполнить переход в интересующий текстовый канал и сообществу, но не упоминанию, пользователям требуется нажать на название сервера, которое расположено возле строки наименования упоминаний.
Обратите внимание, сложностей во время использования функции не наблюдаются. Технические сбои встречаются редко, о чем свидетельствуют отзывы пользователей.
Роли в Discord
Discord — это относительно недавно появившееся приложение, которое позволяет его пользователям общаться друг с другом через интернет посредством аудио и видеосвязи, а также текстовых сообщений. Помимо общения один на один, программа также позволяет создавать комнаты, в которых может присутствовать и общаться несколько участников. Администратор сервера обладает правом выдачи определенных разрешения для конкретных участников. Они именуются как роли в Дискорде. Стоит поподробнее рассмотреть их.
Роли в Дискорде
Как и во многих других программах подобного рода, в Discord имеется возможность присвоения определенных прав конкретным пользователям в рамках одной группы (сервера). Здесь же они называются ролями, которые определяют полномочия участников комнаты. По умолчанию, каждый посетитель сервера, кроме его создателя, получает минимальные права. Именно у администратора имеются соответствующие привилегии.
Как добавить роль в Discord
Неопытные пользователи очень часто сталкиваются с трудностями при распределении полномочий между участниками комнаты. В связи с этим стоит рассмотреть задачу, как дать роль в Дискорде. Для назначения конкретного участника сервера необходимо следовать следующему алгоритму действий:
- Зайти в свою учетную запись Discord.
- Открыть нужный сервер и перейти к его настройкам.

- В представленном списке найти раздел «Роли».
- Для добавления новой группы лиц необходимо нажать иконку плюса, а затем указать ее название.

- Вам останется лишь определиться с правами, которые вы хотите предоставить определенному пользователю.
С помощью вышеописанной инструкции также можно выполнить следующие манипуляции в Дискорде:
- Изменить имеющиеся роли для конкретного участника сервера.
- Дать определенному пользователю полные права администратора.
Полный набор прав управления сервером доступен лишь пользователям, обладающим правами администратора. Стоит отметить, что участники сервера, обладающие данными полномочиями, не смогут исключить из комнаты главного администратора, которым является создатель сервера.
Что касается удаления предоставленных прав, то удалить роли пользователей с помощью имеющихся опций в программе на данный момент невозможно. Если вы хотите лишить предоставленных прав пользователя, то вам потребуется исключить его с сервера и заново пригласить. Путем выполнения этой несложной процедуры вы лишите пользователя всех дополнительных привилегий.
Как распределить роли на одном канале
Функционал Дискорда позволяет распределять роли не только на всем сервере, но и в пределах одного канала. Если вы хотите распределить роли, которые будут действовать в пределах одного диалога, то вам нужно выполнить следующий ряд манипуляций.

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