Я хочу пометить пользователей в списке лидеров, но вместо этого он помечает их идентификатор - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь создать таблицу лидеров для своего бота-разногласия, и пока он работает, но всякий раз, когда я хочу пометить игроков в коде, он просто отправляет что-то вроде этого <@ 90258560912791> вместо: @ wex

Вот мой код:

if (message.content.startsWith(`${prefix}btop`)) {
  if (message.member.roles.cache.find(r => r.name === "Walls")) {
    var description = ""
    let all = `SELECT userid , points FROM bufferpoints ORDER BY points DESC LIMIT 10;`
    db.all(all, (err, row) => {
      if (err) throw err;
      const topembed = new Discord.MessageEmbed()
        .setColor('#FF760B')
        .setTitle(message.guild.name + "'s TOP Buffercheckers!")
        .setTimestamp()
      let i = 0;
      row.forEach(function(row) {
        i++;
        if (row.points === 0) {
          return;
        }
        description += ` ${i}. <@${row.userid}>` + `** - ${row.points}**\n`
      })

      topembed.setDescription(description)
      message.channel.send(topembed)
    })
  }
}

И это то, что я получаю прямо сейчас, если кто-то удивится

1]

Спасибо за ваше помощь!

1 Ответ

0 голосов
/ 29 апреля 2020

Мне удалось решить проблему. Когда я сохранил ID пользователя, я использовал message.author.id. Я изменил его на message.author.toString(). Бот сохраняет данные как <@ 125512>, а затем отмечает пользователя в списке лидеров.

...