如何使机器人对自己的信息做出反应?

时间:2018-07-06 22:19:40

标签: javascript bots discord discord.js

因此,我试图让bot对自己的消息做出反应,以获取不和谐服务器的民意调查功能,并且我想知道如何使bot对消息进行响应? (当前,它会将响应添加到执行.suggestion命令的人员。)

client.on('message', message => {
  if (message.content.startsWith('.suggestion')) {

        const channel = message.guild.channels.find('name', 'polls');
        const args = message.content.slice(12).trim().split(/ +/g);
        let suggestion = args.slice(0).join(" ");
        if (!channel) return;

        let embed = new Discord.RichEmbed()
        .setColor("#55FFFF")
        .setDescription('▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▬▬▬▬▬▬▬▬▬**«    Vexil Player Suggestion    »**▬▬▬▬▬▬▬▬▬▬\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n**Suggested By »** ' + message.author + '\n\n**Suggestion »** ' + suggestion + '\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▬▬▬▬▬▬▬▬▬▬▬▬**«**     @everyone     **»**▬▬▬▬▬▬▬▬▬▬▬▬\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬')
        .setFooter('Vexil', client.user.avatarURL)

    channel.send(embed);
    message.react("")
    message.react("");

  }
});

非常感谢您的帮助和时间。 <3

3 个答案:

答案 0 :(得分:2)

使用.then()

发送邮件后,您可以直接做出反应
channel.send(embed).then(sentEmbed => {
    sentEmbed.react("")
    sentEmbed.react("")
})

答案 1 :(得分:0)

基于How Find Emojis By Name In Discord.js和一些个人测试

$ gawk 'BEGIN{split("10 2 bob alf",a);
    PROCINFO["sorted_in"]="@ind_str_asc"; for (i in a) print i, a[i]}'
1 10
2 2
3 bob
4 alf

$ gawk 'BEGIN{split("10 2 bob alf",a);
    PROCINFO["sorted_in"]="@val_str_asc"; for (i in a) print i, a[i]}'
1 10
2 2
4 alf
3 bob

$ gawk 'BEGIN{split("10 2 bob alf",a);
    PROCINFO["sorted_in"]="@val_num_asc"; for (i in a) print i, a[i]}'
4 alf
3 bob
2 2
1 10

将发送您的消息并与channel.send(embed).then(function(message) { message.react(message.guild.emojis.find('name', "emojiName")) }); 进行响应(尽可能具体)

答案 2 :(得分:-1)

很简单!

channel.send(embedName).then(sentMessage => {
  let emoji = message.guild.find(`name`, "emojiName");
  sentMessage.react(emoji);
});