丰富嵌入中的提及显示为它们的字符串

Som*_*son 7 discord.js

我遇到了一个问题,我的机器人在丰富的嵌入中没有正确提及。它似乎根本无法标记用户。

一个提及最终看起来像......

<@601756839956447232>

应该ping 用户,看起来像......

@堆栈溢出


  • 我试过author.toString()在我的消息中做。
  • 我试过使用<@${author.id}>.
  • 我试过使用@${author.tag}.
  • 我试过使用${author}.

所有这些尝试都产生了相同的结果。


这是我正在使用的代码...

var serv = message.guild
var author = message.author

var myInfo = new discord.RichEmbed()
    .setAuthor(`${serv.name}'s roles`,`${message.guild.iconURL}`)
    .addField(`Roles`, serv.roles.map(r => `${r}`).join(' | '),true)
    .setColor(0xffd000)
    .setFooter('Server Roles.')
    .setFooter(`Requested by @${author.tag}`,`${author.avatarURL}`)

message.channel.sendEmbed(myInfo);
Run Code Online (Sandbox Code Playgroud)

我的主要目标是在嵌入消息中标记用户而不标记用户。 我的主要重点是让https://imgur.com/a/hbgm1TXhttps://imgur.com/a/lB1Moh9但 ping 实际上并没有 ping 位于嵌入中的任何人。

slo*_*ful 12

RichEmbed (v11) 和MessageEmbed (v12) 的这些基于文本的属性支持提及...

  • 作者
  • 标题
  • 字段名称
  • 页脚

这些甚至不支持任何降价...

  • 作者
  • 页脚

因为页脚无法解析提及,所以它显示为您看到的字符串。此外,用户不会收到在嵌入的任何部分提及的通知。最后,该TextChannel#sendEmbed()方法已被弃用,并已在 Discord.js v12 中移除;使用TextChannel#send().

此代码将使用作者的标签,而不是尝试解析页脚中的提及。如果你想使用用户的提及而不ping他们,你可以把它放在上面没有列出的嵌入的任何部分。否则,他们的提及必须是消息内容的一部分。

var myInfo = new discord.RichEmbed() // v11 only
  .setColor(...)
  .setAuthor(...)
  .addField(...)
  .setFooter(`Requested by ${message.author.tag}.`, message.author.displayAvatarURL);

message.channel.send(myInfo)
  .catch(console.error);
Run Code Online (Sandbox Code Playgroud)