公会数量显示为 activity

Displaying amount of guilds as activity

我有这个代码让它说 "Watching (amount of servers my bot is in) servers!"

const activities_list = [
  "with the &help command.", 
  "with the developers console",
  "with some code", 
  "with JavaScript",
  client.guilds.size + " servers!"
];

client.on('ready', () => {
  setInterval(() => {
    const index = Math.floor(Math.random() * (activities_list.length - 1) + 1);
    client.user.setActivity(activities_list[index]);
  }, 5000);
});

但是当我在 discord 上看到它时它给了我这个

“0 个服务器!”

我该如何解决这个问题?

我认为问题在于您在客户端准备好之前声明了字符串(当您键入带有变量的字符串时,它会与该值一起保存)。尝试在 setInterval 参数中声明它:

client.on("ready", () => {
  setInterval(() => {
    let activities = ["your_strings", `${client.guilds.size} servers!`],
      index = Math.floor(Math.random() * (activities_list.length - 1) + 1);
    client.user.setActivity(activities[index])
  }, 5000);
});