【问题标题】:how can i make a bot status with member counter?如何使用会员计数器制作机器人状态?
【发布时间】:2021-10-31 21:21:18
【问题描述】:

我想为我的机器人设置会员计数器状态 代码是:

client.on('ready', () => {
    setInterval(() => {
      targetGuild = client.guilds.cache.get('I Pasted my Guild ID Here')
      if(targetGuild) {
          client.user.setPresence({ game: { name: targetGuild.memberCount + 'Members', type: 'WATCHING' }, status: 'online'  })
                .then(console.log)
                .catch(console.error);
      }
    }, 1000 * 60 * 5);

});

错误是:

client.user.setPresence(...).then is not a function

【问题讨论】:

  • 你使用的是什么 discord.js 版本?
  • 我使用的是 version.13

标签: javascript discord discord.js


【解决方案1】:

在 discord.js v13 中,setPresence 返回一个 ClientPresence,而不是 v12 中的 Promise,因此没有 .then() 方法。

【讨论】:

  • 你知道我该怎么做吗?
【解决方案2】:

如果你使用的是 djs v13,你需要使用:

client.user.setPresence({ 
activities: [{ name: `${targetGuild.memberCount} Members`, type: 'WATCHING' }], 
status: 'online'
})

而且也没有 .then() 方法,因为在 discord.js v13 中 setPresence 不返回 PromiseClientPresence

【讨论】:

  • 谢谢!有效。但还有一个问题。我有 14 个成员,但在我但在我的机器人状态中,它写了 5 个成员
  • 并且状态类型写的是“正在播放”而不是“正在观看”
  • @Pooyan 我修复了代码
  • 很抱歉打扰您,但它显示“消息未定义”。
  • @Pooyan 哎呀,把message.guild 改成targetGuild,我又坏了:
猜你喜欢
  • 1970-01-01
  • 2021-09-04
  • 2021-03-07
  • 1970-01-01
  • 2021-04-13
  • 2021-12-15
  • 2018-12-31
  • 2022-01-07
  • 2018-08-23
相关资源
最近更新 更多