Discord.js 机器人随机出现和状态在机器人启动时不显示也不改变

Discord.js bot random presence and status not showing nor changing when the bot starts

我一直在尝试使用每 15 分钟更改一次的 Discord.js v13 来制作随机机器人 presence/status。我的代码面临的问题是,当我第一次启动机器人时,自定义状态和存在不显示,我必须等待 15 分钟才能显示并开始更改。

代码如下:

client.on("ready", async () => {
    let servers = await client.guilds.cache.size
    let servercount = await client.guilds.cache.reduce((a,b) => a+b.memberCount, 0 )
    const statusArray = [
    {
        type: 'WATCHING',
        content: `${servers} servers`,
        status: 'online'
    },
    {
        type: 'PLAYING',
        content: `with my ${servercount} friends`,
        status: 'online'
    }
    ];
    async function pickPresence() {
        const option = Math.floor(Math.random() * statusArray.length);
        try {
            await client.user.setPresence({
                activities: [
                {
                    name: statusArray[option].content,
                    type: statusArray[option].type,
                    url: statusArray[option].url
                },
            ],
            status: statusArray[option].status
            }); 
        } catch (error) {
            console.error(error);
        }
    }
    setInterval(pickPresence, 1000*60*15);
});

关于为什么当我启动机器人时它不能立即工作有什么想法吗?

setInterval 实际上是在第一次执行函数中的代码之前等待指定的延迟(15 分钟)。因此,您需要做的就是在 setInterval.

之前的行中添加 pickPresence()
pickPresence();
setInterval(pickPresence, 1000*60*15);