Javascript Discord.js显示状态中的禁止数

Javascript Discord.js显示状态中的禁止数,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我有一个用于特定服务器的bot,我想将状态设置为服务器的禁止数量 我有以下代码,但无法禁用。大小: client.on(“ready”,()=>{ message.guild.fetchBans().then(禁止=>{ 设sizee=banked.size }) setInterval(函数(){ 让lol=['status 1','status 2','status 3','status 4','这个公会有${sizee}个被禁止的用户']; 设f=[‘听’、‘看’、‘听’、‘玩’、‘看’]

我有一个用于特定服务器的bot,我想将状态设置为服务器的禁止数量

我有以下代码,但无法禁用
。大小

client.on(“ready”,()=>{
message.guild.fetchBans().then(禁止=>{
设sizee=banked.size
})
setInterval(函数(){
让lol=['status 1','status 2','status 3','status 4','这个公会有${sizee}个被禁止的用户'];
设f=[‘听’、‘看’、‘听’、‘玩’、‘看’];
让status=lol[Math.floor(Math.random()*lol.length)];
client.user.setActivity(状态,{type:f[Math.floor(Math.random()*f.length)])
}, 15000) 
client.user.setPresence({status:'online'})
log(`Logged as${client.user.tag}!`);
});

就绪
事件中,您没有或没有收到
消息
对象,因此您无法从中获得帮会。你需要通过ID找到公会。
client.guilds.cache.get()
应该可以做到这一点

一旦你拥有了公会,你需要移动到回调中,这样它每次都会获取它。如果在外部获取,则在启动bot时仅获取一次,除非重新启动bot,否则不会更新

您可以使用异步函数等待结果,而不是使用
然后
s

如果你添加了你的公会ID,下面的例子就可以了。我也添加了一些注释:

client.on('ready',()=>{
//一旦机器人准备好,就去帮会
//确保你添加了公会id
const guild=client.guilds.cache.get('ADD guild ID HERE');
client.user.setPresence({status:'online'});
//每15秒运行一次updateStatus函数
//我们需要通过客户和公会
setInterval(updateStatus,15000,客户端,公会);
log(`Logged as${client.user.tag}!`);
});
//用于从数组中拾取随机元素的辅助函数
函数pickOne(arr){
返回arr[Math.floor(Math.random()*arr.length)];
}
//获取当前禁止数量的异步函数
//并更新状态
异步函数updateStatus(客户端、公会){
const bans=等待公会。fetchBans();
常量状态=[
“状态1”,
"地位2",,
"地位3",,
"地位4",,
`该公会有${bans.size}个被禁止的用户`,
];
常数活动=[
“倾听”,
"看",,
“倾听”,
“玩”,
"看",,
];
client.user.setActivity(pickOne(状态){
类型:pickOne(活动),
});
}
PS:一个改进是,当您希望在状态中显示禁令时,只获取禁令