Please describe the problem you are having in as much detail as possible:
So I have a bot that is in 30+ servers and when i try to set my bot's status to dnd with client.user.setStatus('dnd') it doesn't work. It doesn't show an error and the .then function runs but the status of the bot doesn't change the dnd and remains online.
Include a reproducible code sample here, if possible:
It wasn't really code, it was an eval command so here's the eval command.
ME: ?eval client.user.setStatus('dnd').catch((err)=>{message.channel.send(err)}).then(()=>{message.channel.send('done')})
BOT: [object Promise]
BOT: done
Further details:
Relevant client options:
I tested and it seems that setStatus does not have an immediate effect, but the new status is applied when setActivity is run.
I can not reproduce this on v12.3.1, status is set immediately if given appropriate time in between changes. My guess is that you're changing presence/status/activity (the latter two subsets of presence) much too quickly and the presence updates we send are ignored by discord because you are on cooldown.
Most helpful comment
I can not reproduce this on v12.3.1, status is set immediately if given appropriate time in between changes. My guess is that you're changing presence/status/activity (the latter two subsets of presence) much too quickly and the presence updates we send are ignored by discord because you are on cooldown.