如何在 discord.js 上提及

Posted

技术标签:

【中文标题】如何在 discord.js 上提及【英文标题】:How mention on discord.js 【发布时间】:2022-01-21 04:45:27 【问题描述】:

请帮忙,如何在消息中提及用户?我在网上找不到答案。我的代码:

  const exampleeEmbedd = new MessageEmbed()
  .setColor('#53db56')
  .setTitle('  [????] Приветствуем нового путника!')
  .setDescription(' Приветствуем вас ' + /*MENTION*/ + '!\nДобро пожаловать на международный сервер режима Geopolitics. \nЗдесь вы можете присоеденится к существующему городу/государству, либо зарегистрировать свой город/государство.')
  .setURL('')
  .setAuthor('????Имперский Бот????', 'https://images-ext-2.discordapp.net/external/nWASMV-67mx7guRheeUpvyD_cb6X2NkxUMH4PtbweyA/%3Fsize%3D512/https/cdn.discordapp.com/avatars/916617120064884796/5028d4861b407575072686657b3c2e9a.png' )
  .setThumbnail(user.avatarURL())
  .addFields(
  )
  .setImage('')
  .setTimestamp()
  .setFooter('asdas', 'https://images-ext-2.discordapp.net/external/nWASMV-67mx7guRheeUpvyD_cb6X2NkxUMH4PtbweyA/%3Fsize%3D512/https/cdn.discordapp.com/avatars/916617120064884796/5028d4861b407575072686657b3c2e9a.png');
  mess.channel.send(  embeds: [exampleeEmbedd]  );

【问题讨论】:

【参考方案1】:

您需要使用$user 字符串或$user.tag,这样您的机器人才会提及用户。

确保您将let user = message.mentions.members.first() 置于嵌入上方

例子:

   const exampleeEmbed = new MessageEmbed()
  .setTitle('an embed')
  .setDescription(`Hello $user!`)
  mess.channel.send( embeds: exampleeEmbed );

还要确保将您的消息附上``

【讨论】:

我相信在 v13 中你必须添加 .toString(),即使它正在被字符串化【参考方案2】:

Discord.js 在解释为字符串时会自动为您转换提及。

"Foo" + user + "Bar" 转换为 Foo<@!1234567890>Bar

使用模板字符串:

`Foo$userBar`

如果您只有用户 ID,您可以手动执行此操作:

"Foo<@!" + userId + ">Bar"
// or
`Foo<@!$userId>Bar`

确保userId 是一个字符串。

【讨论】:

非常感谢!!!

以上是关于如何在 discord.js 上提及的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 如何提及消息作者?

我如何在 discord.js 中获得提及用户的用户名

如何提及使用 Chat Discord.JS 发送消息的用户?

如何从提及 discord.js 添加角色

(discord.js) 如何提及对机器人消息做出反应的用户?

Discord.js 如何使用机器人提及和设置前缀作为前缀