Discord机器人每30秒jda

时间:2020-09-02 17:28:12

标签: java discord-jda

我想每30秒为两个不同的消息设置机器人刷新/更改状态(活动)

jda.getPresence().setActivity(Activity.playing("message1"));
jda.getPresence().setActivity(Activity.playing("message2"));

1 个答案:

答案 0 :(得分:0)

只需创建一个Timer并使其每30秒运行一次即可:

//Outside of any method
String[] messages={"message 1","message 2"};
int currentIndex=0;
//Run this once
new Timer().schedule(new TimerTask(){
  public void run(){
    jda.getPresence().setActivity(Activity.playing(messages[currentIndex]));
    currentIndex=(currentIndex+1)%messages.length;
  }},0,30000);

一个数组包含所有消息。

这每30秒执行一次状态更新程序代码,并且不等待开始之前。

它设置当前消息的优先级。

然后,它增加当前消息索引,如果到达数组的长度,则将其设置为0。

有关详细信息,请参见the docs for Timer#schedule