【问题标题】:Discord.js | Making a message sniper command不和谐.js |发出消息狙击命令
【发布时间】:2020-11-23 06:23:27
【问题描述】:

我正在尝试让机器人记录/狙击一条消息,当有人说“zsnipe”时,我想知道如何让“zsnipe”成为一个命令,但它不起作用,我做错了什么吗?这是代码:


      bot.on('messageDelete', message => {
          
        const embed8 = new Discord.MessageEmbed() 
          .setAuthor(`${message.author.username}#${message.author.discriminator}`, message.author.avatarURL({dynamic : true}))
          .setDescription(message.content)

      if (message.content === 'zsnipe'){
        message.channel.send(embed8)
      }
      })

您的帮助将不胜感激!

【问题讨论】:

标签: javascript node.js discord discord.js


【解决方案1】:

这里有一些代码可以将最后删除的消息保存在频道中,并允许在有人说zsnipe 时检索它。

警告: 如果机器人重新启动,已删除的邮件将会丢失。

const deletedMessages = new Discord.Collection();

bot.on('message', async message => {
  if (message.author.bot) return;

  const args = message.content.trim().split(/\s+/g);
  const command = args.shift().toLowerCase();

  switch (command) {
    case 'zsnipe':
      const msg = deletedMessages.get(message.channel.id);
      if (!msg) return message.reply('could not find any deleted messages in this channel.');

      const embed = new Discord.MessageEmbed()
        .setAuthor(msg.author.tag, msg.author.avatarURL({ dynamic: true }))
        .setDescription(msg.content);

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

      break;
});

bot.on('messageDelete', message => {
  deletedMessages.set(message.channel.id, message);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    • 2021-01-30
    • 2021-02-27
    • 2018-12-15
    • 1970-01-01
    相关资源
    最近更新 更多