不,我不是在问如何设置我的机器人的地位。我在问如何使我的机器人状态每5-7秒改变一次。我该怎么做呢?
client.user.setActivity(`dsc.gg/ultraa | ?help | ${client.guilds.cache.size} servers`, { type: 'WATCHING' });每隔几秒钟更改一次,就像“外面太冷了”和"420台服务器“,以及”帮助\ dsc.gg/ultraa“。我将如何使这些状态在彼此之间旋转?
发布于 2021-12-01 02:00:17
注意:此代码用于Discord.js V13.3.1
对于旋转状态,正如您所描述的,您可以通过在ready事件中放置一些代码来实现这一点,这些代码会在一段时间后更改状态。这将需要可以使用以下方法安装的util包:
npm install utilyarn install util一旦安装了包,您将创建一个名为wait的函数。这是一种简单的方法,可以在不阻塞其余脚本的情况下等待。
const wait = require('util').promisify(setTimeout);这个功能将服务于我们的主要目的,使切换状态之间的延迟。然后,我们将使用setInterval在状态之间连续循环。
<Client>.on('ready', async () => {
// ...
setInterval(async () => {
client.user.setPresence({ activities: [{ name: `Status1`, type: `PLAYING` }] });
await wait(5000); // Wait 5 seconds
client.user.setPresence({ activities: [{ name: `Status2`, type: `PLAYING` }] });
await wait(5000); // Wait 5 seconds
});
});正如你所看到的,有两行重复自己。即:<Client>.user.setPresence(...)和await wait(5000)。等待函数将阻止状态过早更新。您可以通过将秒转换为毫秒(5秒变为5000)来编辑设置的时间量。另一部分设置机器人的状态。类型显示机器人正在做什么。它的有效值是在文档里找到的。您可以简单地复制和粘贴这两行,并在需要时添加更多的状态。
发布于 2022-07-26 10:39:25
client.user.setPresence({ activities: [{ name: `Status`, type: `PLAYING` }] });对于简单的状态
https://stackoverflow.com/questions/70178089
复制相似问题