添加自定义表情符号对邮件的反应

时间:2018-02-13 03:35:16

标签: node.js discord.js

我可以在代码中调整什么才能让我使用自定义表情符号来回应邮件?

我试过这个:

 let suggestions = message.guild.channels.find("name", "suggestions");
  if (message.channel === suggestions) {
    message.channel.send().then(newMessage => {
       newMessage.react('<:information :412438127148531723>')
   })
  }

但我收到错误:

  

emoji_id:Value&#34; 412438127148531723&gt;&#34;不是雪花。

3 个答案:

答案 0 :(得分:2)

编辑:我没有注意到您尝试通过.send()发送空消息,这样做会引发错误。查看@Blundering Philosopher的回答。

由于错误状态为emoji_id: Value "412438127148531723>" is not snowflake.,表示您尝试通过.react()传递的内容不是雪花:

 newMessage('<:information :412438127148531723>') //here

Emoji状态为idEmoji id类型为docs

因此,您需要将.react();的{​​{1}}传递到newMessage.react('<:information :412438127148531723>'),因此只需将此行替换为newMessage.react('412438127148531723'),即: let suggestions = message.guild.channels.find("name", "suggestions"); if (message.channel === suggestions) { message.channel.send('your message').then(newMessage => { newMessage.react('412438127148531723') }) }

所以你的代码看起来应该是这样的结果:

:root

另外,请记住,只有当机器人本身可以访问表情符号时,这才有效,即 - 共享具有这些表情符号的服务器;与Discord Nitro的工作方式相同。

答案 1 :(得分:1)

首先,您不能在括号中使用.send()而不使用任何字符串或StringResolvable。尝试发送这样的基本字符串:

message.channel.send('Test message!').then(...)

其次,正如@newbie提到的那样,你不应该将'<:information... :>'放在表情符号上,只需这样做:

// enter your emoji id inside the quotes
newMessage.react('...');

最后,您应该将.catch语句添加到任何返回承诺的Discord函数(如.send.react),如下所示:

message.channel.send(...).then(...)
    .catch(console.error);

// and later in your code...
newMessage.react(...)
    .catch(console.error);

所以要将所有代码放在一起,请执行以下操作:

let suggestions = message.guild.channels.find("name", "suggestions");
if (message.channel === suggestions) {
    // (send some text to channel)
    message.channel.send('Test message!').then(newMessage => {
        // (add your emoji id inside quotes -> probably '412438127148531723'
        newMessage.react('...')
        // (catch errors)
        .catch(console.error);
    })
    // (catch errors)
    .catch(console.error);
}

答案 2 :(得分:0)

因为这是当您在Google上搜索此问题时的唯一答复,所以即使它已经存在1年,我也会予以答复。

  

emoji_id:值“ 412438127148531723>”不是雪花。

只需最后删除>即可

newMessage.react('<:information :412438127148531723')

为我工作。希望有人对相同的问题进行搜索会有所帮助