Discord.js 机器人状态
Discord.js Bot Status
不,我不是在问如何设置我的机器人的状态。我在问如何让我的机器人的状态每 5-7 秒更改一次到另一个状态。我该怎么做:
client.user.setActivity(`dsc.gg/ultraa | ?help | ${client.guilds.cache.size} servers`, { type: 'WATCHING' });
每隔几秒更改为“外面很冷”、“420 台服务器”和“?help | dsc.gg/ultraa”。我如何让这些状态在彼此之间轮换?
注:此代码适用于Discord.js V13.3.1
如您所描述的那样,对于旋转状态,您可以通过在 ready
事件中放置一些代码来在一段时间后更改状态。这将需要 util
包,可以使用以下方式安装:
- npm:
npm install util
- 纱线:
yarn 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)
。 wait 函数将阻止状态过早更新自身。您可以通过将秒转换为毫秒(5 秒变为 5000)来编辑设置的时间量。另一部分设置机器人的状态。该类型显示了机器人正在做什么。其有效值为 found in the docs。您可以简单地复制并粘贴这两行并根据需要添加更多状态。
不,我不是在问如何设置我的机器人的状态。我在问如何让我的机器人的状态每 5-7 秒更改一次到另一个状态。我该怎么做:
client.user.setActivity(`dsc.gg/ultraa | ?help | ${client.guilds.cache.size} servers`, { type: 'WATCHING' });
每隔几秒更改为“外面很冷”、“420 台服务器”和“?help | dsc.gg/ultraa”。我如何让这些状态在彼此之间轮换?
注:此代码适用于Discord.js V13.3.1
如您所描述的那样,对于旋转状态,您可以通过在 ready
事件中放置一些代码来在一段时间后更改状态。这将需要 util
包,可以使用以下方式安装:
- npm:
npm install util
- 纱线:
yarn 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)
。 wait 函数将阻止状态过早更新自身。您可以通过将秒转换为毫秒(5 秒变为 5000)来编辑设置的时间量。另一部分设置机器人的状态。该类型显示了机器人正在做什么。其有效值为 found in the docs。您可以简单地复制并粘贴这两行并根据需要添加更多状态。