#javascript #node.js #discord #discord.js
Вопрос:
У меня возникла эта проблема, когда бот discord, с которым я пишу discord.js показывает роль как @deleted-role
, сама роль все еще доступна, но бот говорит, что роль удалена. Я попытался протестировать его с другой ролью то же самое, вот изображения и код:
if (message.content.includes("test"))
return message.channel.send("<@amp;" 855179067388461076 "> why is that ");
Результат
Роль
Не могли бы вы, ребята, помочь мне с этим?
Комментарии:
1. если вы введете
<@amp;855179067388461076>
в свой дискорд, это сработает?
Ответ №1:
Проблема в том, что вы используете целое число ( 855179067388461076
) в качестве снежинки. Это должна быть веревочка. Так как это число больше 53 бит ( MAX_SAFE_INTEGER
) JavaScript с трудом интерпретирует его. Он может безопасно представлять только целые числа между -(2 53 — 1) и 2 53 — 1.
Максимальное безопасное целое число | 9007199254740992 |
Ваше целое число | 855179067388461076 |
Ваше целое число становится | 855179067388461000 |
И нет никакой роли с идентификатором 855179067388461000
. Чтобы решить эту проблему, убедитесь, что вы используете строки только в качестве снежинок:
message.channel.send("<@amp;" "855179067388461076" "> why is that")
// OR
const roleId = "855179067388461076"
message.channel.send("<@amp;" roleId "> why is that")
console.log('<@amp;' 855179067388461076 '> why is that ')
// => <@amp;855179067388461000> why is that