使用命令的时间限制

时间:2020-09-30 14:20:48

标签: java discord discord-jda

我正在使用JDA编写机器人。

我已经写了好几个命令,我想这样做,以便用户只能调用一次命令,然后他必须等待5秒钟才能再次使用它。 我尝试使用java.util.concurrent.TimeUnit库执行此操作。 但是问题在于,在这5秒钟之后,机器人开始响应我在未调用命令期间发送的消息。

而且有必要使他只回复一次,而忽略随后的同类消息。

如果需要源代码,请在注释中写。 在此先感谢您,祝您好运,没有错误。

1 个答案:

答案 0 :(得分:1)

您正在使其变得复杂,解决方案要简单得多。只要用户执行命令,只需存储时间戳即可。如果用户发送了另一个命令,请将当前时间戳与上一个时间戳进行比较,如果在5秒钟之内,则忽略该命令。您可以根据需要为每个用户,每个命令或同时存储这两个时间戳。