我想让我的 Discord 机器人按顺序更改状态。例如,我希望机器人的状态为“T”,然后是“Te”,然后是“Tes”,然后是“Test”,然后重复。
我已经按照我想要的方式制作了一个数组。这是我当前的代码:
const index = activities_list.sort()
var activitySet = activities_list[index]
client.user.setActivity(activitySet)
我使用的是 Node v12 和 discord.js v12。
答案 0 :(得分:1)
您可以跟踪当前索引并每 x
秒更新一次。为此,您可以使用 setInterval
。每 x
秒更新一次状态并检查这是否是最后一个索引。如果是,则将其重置为 0
,如果不是,则增加索引:
const activities = ['t', 'te', 'tes', 'test'];
client.on('ready', () => {
const updateDelay = 5; // in seconds
let currentIndex = 0;
setInterval(() => {
const activity = activities[currentIndex];
client.user.setActivity(activity);
// update currentIndex
// if it's the last one, get back to 0
currentIndex = currentIndex >= activities.length - 1
? 0
: currentIndex + 1;
}, updateDelay * 1000);
});