嵌入内容中的提及内容以字符串形式出现

时间:2019-07-19 08:12:45

标签: discord.js

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

提及最终看起来像...

  

<@601756839956447232>

应该 ping用户并使其看起来像...

  

@StackOverflow


  • 我已尝试在消息中进行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);

我的主要目的是在嵌入消息中标记用户而不标记用户。 我的主要重点是将https://imgur.com/a/hbgm1TX更改为https://imgur.com/a/lB1Moh9,但ping实际上不会ping嵌入中的任何人。

1 个答案:

答案 0 :(得分:1)

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

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

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

  • 作者
  • 脚步

由于页脚无法翻译提及内容,因此显示为您看到的字符串。同样,不会在嵌入内容中向用户提供关于其提及的通知。最后,TextChannel.sendEmbed()方法已被弃用,并将在Discord.js的未来版本中删除。使用TextChannel.send()

此代码将使用作者的标签,而不是尝试在页脚中解析提及内容,并在消息中提及它们,以便对其进行ping操作...

var path = {
        full: {
            curviness: 1.25,
            autoRotate: false,
            values: [
                {x: -100, y: 200, width: 48, height: 48}
            ]
        },
        mobile: {
            curviness: 1.25,
            autoRotate: false,
            values: [
                {x: 50, y: 100, width: 30, height: 30}
            ]
        }
    };

    var timeline = new TimelineLite();

    function setUpAnimations() {
        if (window.matchMedia("(max-width: 1000px)").matches) {
            timeline.add(
                TweenLite.to('#my-element', 1, {
                    bezier: path.mobile,
                    ease: Power1.easeInOut
                })
            );
        } else {
            timeline.add(
                TweenLite.to('#my-element', 1, {
                    bezier: path.full,
                    ease: Power1.easeInOut
                })
            );
        }
    }

    setUpAnimations();

    var scene = new ScrollMagic.Scene({
        triggerElement: '.trigger-element',
        triggerHook: 0.05,
        duration: 320,
    })
        .setTween(timeline)
        .addIndicators({name: "animation"})
        .addTo(controller);