我想每30秒为两个不同的消息设置机器人刷新/更改状态(活动)
jda.getPresence().setActivity(Activity.playing("message1"));
jda.getPresence().setActivity(Activity.playing("message2"));
答案 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。