所以我想在线上传我的Discord机器人,但我想防止用户向其发送垃圾邮件。
因此,如果用户运行!help
机器人回答,但如果用户在延迟过期之前运行!help
,则延迟为5秒,机器人说:wait some time before using this command again
。
我也希望延迟仅适用于消息作者,而不影响其他用户。
我正在使用命令处理程序,是否可以制作类似module.exports.delay
的东西?
答案 0 :(得分:0)
为此,您可以使用以下时间戳记:
let msgTimestamp = [];
if(message.content === "?" + "help") {
if(typeof msgTimestamp[0] !== "undefined") {
if(msgTimestamp[0] + 5000 < Date.now()) {
message.channel.send("Here embed of command help.");
msgTimestamp = [];
} else {
message.channel.send("wait some time before using this command again.");
}
} else {
msgTimestamp.push(Date.now());
message.channel.send("Here embed of command help.");
}
}
在此代码中,您使用时间戳,检查消息的内容是否与您要使用的命令完全一致,如果用户已经发送了消息,则包含消息时间戳的变量已满,然后检查如果变量的typeof不是未定义的,那么您检查id,则用户发送消息的时间戳小于实际时间戳+您想要多少延迟!