首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Discord.js机器人状态

Discord.js机器人状态
EN

Stack Overflow用户
提问于 2021-12-01 01:28:31
回答 2查看 2.6K关注 0票数 0

不,我不是在问如何设置我的机器人的地位。我在问如何使我的机器人状态每5-7秒改变一次。我该怎么做呢?

代码语言:javascript
运行
复制
client.user.setActivity(`dsc.gg/ultraa | ?help | ${client.guilds.cache.size} servers`, { type: 'WATCHING' });

每隔几秒钟更改一次,就像“外面太冷了”和"420台服务器“,以及”帮助\ dsc.gg/ultraa“。我将如何使这些状态在彼此之间旋转?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-01 02:00:17

注意:此代码用于Discord.js V13.3.1

对于旋转状态,正如您所描述的,您可以通过在ready事件中放置一些代码来实现这一点,这些代码会在一段时间后更改状态。这将需要可以使用以下方法安装的util包:

  • npm:npm install util
  • 纱线:yarn install util

一旦安装了包,您将创建一个名为wait的函数。这是一种简单的方法,可以在不阻塞其余脚本的情况下等待。

代码语言:javascript
运行
复制
const wait = require('util').promisify(setTimeout);

这个功能将服务于我们的主要目的,使切换状态之间的延迟。然后,我们将使用setInterval在状态之间连续循环。

代码语言:javascript
运行
复制
<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)来编辑设置的时间量。另一部分设置机器人的状态。类型显示机器人正在做什么。它的有效值是在文档里找到的。您可以简单地复制和粘贴这两行,并在需要时添加更多的状态。

票数 1
EN

Stack Overflow用户

发布于 2022-07-26 10:39:25

代码语言:javascript
运行
复制
client.user.setPresence({ activities: [{ name: `Status`, type: `PLAYING` }] });

对于简单的状态

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70178089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档