当前位置: 首页 > 知识库问答 >
问题:

输入线程的时间限制

颜实
2023-03-14

我正在使用Pircbot创建一个IRC bot,它可以响应某些请求(例如“!time”提供本地时间)。我正在构建的功能之一是一个giveaway系统,从当前在线的用户中随机抽取一个用户,给他们一个奖品。

我想通过强制中奖者在中奖后30分钟内键入“!接受”来领取奖品来增强系统。然而,我希望bot仍然运行,这意味着我不能冻结整个线程30分钟等待一个消息。

我想做的几种方法对我来说有点太古怪了。

>

  • 我可以将胜利者的名字存储在变量或.properties文件中,并经常注意“!accept”命令。如果winner(变量中的名称)发送了“!accept”,并且消息发送时间在30分钟以内,则确认winner。这样做的缺点是,如果在这30分钟内bot重新启动或暂时脱机,可能会导致很多连续性问题,特别是使用.properties文件。

    创建一个可运行线程,Hibernate30分钟,然后检查!accept命令的所有新消息。上面有辣椒酱,听起来特别刺耳。

    舞动我的问题。

  • 共有1个答案

    通飞尘
    2023-03-14

    标记你选择胜利者的时间,甚至可能有另一个线程或计时器事件在30分钟后被触发以重置它。

    如果输入的是“!accept”并且来自正确的用户,并且“标记”时间与现在的时间之差小于30分钟,则为快乐的用户

     类似资料:
    • 问题内容: 假设我有一个代码,要求用户提供一些输入,例如: 但是我想给用户60秒的时间限制,然后抛出一个异常(在这种情况下,我认为是)。我怎么做? 问题答案:

    • 问题内容: 在Java中指定的时间限制后,有没有办法杀死子线程?编辑:此特定线程也可能在最坏的情况下被阻止(线程用于等待文件修改并在发生此事件之前被阻止),所以我不确定中断()是否会成功? 问题答案: 利用来执行,签出你可以指定超时的方法。例如 当然在这里实施。

    • 问题内容: 我正在尝试创建一个限制用户输入的文本字段。我有这个代码: 它成功限制了输入。但是,当我尝试按键盘上的其他字符时,它将更改文本字段上的最后一个字符。有什么想法可以阻止吗?我知道其他人会说我应该使用Document(不记得了)来制作这种东西,但是我不能。我不知道如何在netbeans中做到这一点。请帮忙。 问题答案: 这是一种简单的方法:

    • 问题内容: 在我的代码中,我有一个UITextField,当用户点击时会打开一个UIDatePicker,以使用户能够轻松,高效地滚动至其出生日期。显然,我们不希望UIDatePicker像当前一样向上滚动到2015年。由于这是“出生日期”输入字段,因此我还需要能够将输入限制为16岁以上。我该怎么做呢? 问题答案: 您可以使用dateByAddingUnit并从当前日期减去16年来设置datePi

    • 问题内容: 我正在Android中编写一个活动,用户可以在其中修改SQL数据库。用户界面由一个EditText(用户在其中输入名称)和一个Seekbar(用户在其中输入用户的吸引力)组成。在下面有很多按钮:添加,编辑,查看,删除。 当用户单击“编辑”按钮时,将显示一个输入对话框,要求用户输入记录号。完成后,将加载该记录。 我遇到的问题是,将显示输入对话框,并且当用户输入记录号时,其余的编辑方法将继

    • 问题内容: 我在实践中阅读Java Concurrency,并且有点与线程限制概念混淆。这本书说 当一个对象被限制在一个线程中时,即使该限制对象本身不是一个线程,这种使用也是自动的线程安全的 那么,当一个对象被限制在一个线程中时,没有其他线程可以访问它吗?那就是局限于线程吗?如何将对象限制在线程中? 编辑: 但是,如果我仍然想与另一个线程共享对象怎么办?假设在线程A完成对象O后,线程B想要访问O。