简体   繁体   English

Discord.js bot 编辑嵌入消息与反应

[英]Discord.js bot edit embed message with a reaction

I've been trying to make my bot through a command to react to an emoji to change the embed message, but I can't get the message to change because I get some errors that I don't understand:我一直在尝试通过命令使我的机器人对表情符号做出反应以更改嵌入消息,但我无法更改消息,因为我遇到了一些我不明白的错误:

在此处输入图像描述

TypeError: message.clearReactions is not a function

const { Command } = require('discord.js-commando');
const { MessageEmbed } = require('discord.js');

module.exports = class TestCommand extends Command {
  constructor(client) {
    super(client, {
      name: 'test',
      group: 'asd',
      memberName: 'test',
      description: 'hehe',
      throttling: {
        usages: 1,
        duration: 5
      }
    });
  }

async run(message, args) {
    const prefix = message.guild ? message.guild.commandPrefix : this.client.commandPrefix;
    const embed = new MessageEmbed()
          .setTitle('Messaged testing')
          .setColor("#5d62ff")
          .setDescription('Test embed')
          .setTimestamp();
          message.channel.send(embed)
          .then(message => {
            message.react('➡️');
          const filter = (reaction, user) => reaction.emoji.name === '➡️' && user.id === message.author.id;
          const collector = message.createReactionCollector(filter, {time:  1500 });   

          collector.on('collect', () => {
            message.clearReactions();

            const embed = new MessageEmbed()
        .setColor('#007FFF')
        .setDescription('Test #2');

        message.channel.edit(embed);
    });
  })
    .catch(err => console.error(err));
}
};

If you're using discord.js v12, you can no longer use message.clearReactions .如果您使用的是 discord.js v12,则不能再使用message.clearReactions You need to use message.reactions.removeAll() .您需要使用message.reactions.removeAll() You can check the docs for reference.您可以查看文档以供参考。

const collector = message.createReactionCollector(filter, {time:  1500 });   

collector.on('collect', () => {
  message.reactions.removeAll();
// ...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM