【问题标题】:Discord.js deleteCommandDiscord.js 删除命令
【发布时间】:2017-07-31 04:44:39
【问题描述】:

我一直在尝试为 Discord 编写一个简单的机器人,我想添加一个 deleteCommand 行,它将删除用户给出的命令并返回我为机器人设置的答案。

假设我有这个命令是乒乓命令:

exports.run = function(Aika, message, args) {
    message.channel.sendMessage('pong! :P\'${Date.now() - message.createdTimestamp} ms\'');
};

exports.conf = {
  enabled: true,
  guildOnly: false,
  aliases: [],
  permLevel: 0
};

exports.help = {
  name: 'ping',
  description: 'Responds with "pong" and gives current ms rate.',
  usage: 'ping'
};

我在 Discord 聊天中发送“!ping”,我希望删除这个“!ping”,然后机器人回答“pong!”,我无法让它删除命令。

【问题讨论】:

    标签: javascript bots ping discord


    【解决方案1】:

    我实际上想出了如何做到这一点。您只需要在任何其他代码之前运行代码(在收到消息后立即):

    message.delete(1000);
    

    这是我拥有的主(管理员)命令的实际操作:

    client.on('message', message => {
      if ((message.author.id === '200659103318540288') && (message.content === '~m help', '~m', '~mhelp')) {
        message.delete(1000);
        message.reply('I have sent you a list of master commands.')
        message.author.sendMessage("Here is the list of master commands.")
        console.log('Successfully sent a list of master commands to ' + message.author.id + '.')
      }
    });
    
    //1000 is the timeout in ms. I recommend don't change it unless you know the effects.
    

    【讨论】:

      【解决方案2】:

      您可以使用message.delete() 删除引用的消息。如果你把它放在你的消息事件中,它提供了一个消息对象,你可以删除这个消息。

      (我的消息事件和我的所有命令与我的主 bot 文件位于不同的文件中,因此您的事件函数可能看起来不同)

      module.exports = (client, message, args) => {
        message.delete(1000);
      
        // The rest of my command here
      }
      

      如果您将所有内容都存储在一个文件中,您的命令可能如下所示:

      client.on('message' (message) => {
        if (message.content == '$help') {
          message.delete(1000);
      
          // The rest of my command here
        }
      });
      

      另外请注意,您不应该更改1000除非您知道自己在做什么。这是它在删除消息之前将等待的时间(毫秒)。同样,建议您不要更改此设置,除非你们都知道自己在做什么,并且知道可能会发生什么。

      【讨论】:

        猜你喜欢
        • 2018-08-26
        • 1970-01-01
        • 1970-01-01
        • 2021-07-25
        • 2022-09-30
        • 2021-04-14
        • 2020-11-02
        • 2021-11-17
        • 2021-11-09
        相关资源
        最近更新 更多