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.12.8.2394
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как сделать так, чтобы бот пингал (упоминал) определённую роль?
но он не упоминает роль, а просто пишет заданный текст без упоминания. Как можно упомянуть определённую роль на сервере с помощью бота?
- Вопрос задан более года назад
- 117 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 2

Получить объект роли по ID, у него будет свойство mention, как и у пользователя.
Как сделать так что бы дискорд бот упомянул роль?


Не работает. Выдает вот это
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 Автор вопроса

Алексей, Я просто хочу что-бы бот выдавал что-то типо этого.
Что значит пинговать и как уменьшить этот показатель в сервисе Дискорд

За современным сленгом невозможно уследить. Только кажется, что вы наконец освоили значения слов «чилить» и «кринж», как представители нового поколения вводят в свою речь новые словечки. Забавно, что даже сленг делится по сферам деятельности. Например, в компьютерном мире часто мелькает слово «пинговать», но при этом у него нет значения ни в одном словаре. Расскажем, что значит пинговать и как это связано с общением в Дискорде.
Что значат термины «пинг» и «пингануть» в Discord
Как и все примеры сленга, слово «пингануть» произошло от существующего английского термина «ping». Сам термин появился достаточно давно, в 1983 году и использовался в качестве названия встроенной утилиты для проверки целостности соединения и передаваемых пакетов. К слову, это утилита поддерживается и сегодня во всех трех популярных ОС (Windows, Linux, MacOS) и часто используется для проверки интернет-соединения.
Так вот, в современном понимании пинг – это задержка между отправкой и приемом интернет-пакетов. Этот параметр измеряется в миллисекундах. То есть высокий пинг приводит к задержке в чате. Причем, это определение касается не только Дискорда. Например, пинг в играх – это время, пока сигнал долетает до сервера. Например, если ping выдает 5000, значит, вашему компьютеру нужно 5 секунд на передачу сигнала (это, кстати, высокий пинг). Теперь о том, что такое «пингануть». Пользователи интернета часто любят заменять слово «провести» на окончание «-нуть». Например, сделать бэкап – бэкапнуть, провести апгрейд – апгрейднуть, нажать на «тап» (клавиша мыши) – тапнуть, запустить пинг — … правильно, пингануть. Хоть по правилам русского языка такие замены недопустимы, они популярны.
Также в Дискорде существует второе определение, согласно которому «пингануть» – это упомянуть пользователя (через конструкцию @nickname), чтобы у него появилось специальное уведомление. Но этот вариант не особо интересен, потому его мы не рассматриваем.
Как узнать свой пинг
- Откройте Дискорд.
- Перейдите в любой сервер, где есть голосовые каналы.
- Подключитесь к голосовому каналу.

В нижней части появится текст «Голосовая связь подключена», а слева значок сети (вертикальные палочки). Наведите на нее, чтобы отобразился текущая задержка (цифра и постфикс «ms»). Кликните по значку, чтобы получить подробную статистику и график. Готово. Кстати, относительное состояние пинга можно определить по цвету палочек. Зеленые – все нормально, желтые – есть помехи, красные – будут серьезные лаги, так как образовался высокий пинг.
Способы его уменьшения
Не всем в этом мире везет обладать интернетом с высокой скоростью передачи данных. Многие из нас вынуждены страдать из-за качества работы провайдеров. В таком случае есть два варианта:
- Изменить оператора сотовой связи. Для этого нужно поменять кабель интернета, идущий в дом, либо сменить тариф (редко помогает).
- Изменить настройки Windows.
Последний метод более реализуем, и позволяет значительно уменьшить задержку сети. Для решения проблемы поочередно выполните следующие действия:
- Увеличьте приоритет процесса. Для этого зажмите сочетание клавиш «Ctrl» + «Shift» + «Esc», а после кликните ПКМ по строке discord.exe и выберите «Высокий приоритет».

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

- Уменьшите качество передаваемой картинки.
- Проверьте компьютер на наличие вирусов, некоторые из них могут тратить трафик на передачу пользовательских данных.

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