我遇到了一个问题,我的机器人在丰富的嵌入中没有正确提及。它似乎根本无法标记用户。
一个提及最终看起来像......
<@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/hbgm1TX到https://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)