我一直在尝试为Discord编写一个简单的机器人,我想添加一个deleteCommand行,它将删除用户给出的命令并返回我设置给机器人的答案 .
假设我有这个命令是ping-pong命令:
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!”,我无法删除命令 .
2 回答
我实际上想出了如何做到这一点 . 您只需要在任何其他代码之前运行代码(在收到消息之后立即):
这是我对master(admin)命令的操作:
您可以使用
message.delete()
删除引用的消息 . 如果将此项放在提供消息对象的消息事件中,则可以删除该消息 .(我的消息事件和我的所有命令都在我的主bot文件的单独文件中,所以你的事件函数可能看起来不同)
如果您将所有内容存储在一个文件中,您的命令可能如下所示:
另请注意,您不应该更改
1000
unless ,您知道自己在做什么 . 这是它将删除消息之前等待(ms)的时间 . 同样,建议你不要改变它,除非你们都知道自己在做什么,并知道会发生什么 .