Discord отображает @удаленную роль, пока роль все еще доступна

#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