启动时如何显示不一致的bot服务器计数?

时间:2020-08-19 10:56:38

标签: discord.js

我目前正在开发一款Discord机器人,我想知道是否有人知道如何在终端上运行该机器人时显示该机器人所在的服务器数量。任何帮助将不胜感激。这是启动消息代码(还包括状态代码):

client.once('ready', () => {
    console.log('Bot is online.')
    client.user.setStatus('available')
    client.user.setPresence({
        activity: {
            name: 'use code "!help" for commands',
            type: 'PLAYING',
            url: ''
        }
    })

}

2 个答案:

答案 0 :(得分:2)

您可以使用client.guilds.cache.size来返回您的机器人所在的行会数量。


示例:

console.log(`Bot is online and running in ${client.guilds.cache.size} servers!`)

答案 1 :(得分:0)

您可以使用client.guilds.cache.size,它会返回机器人所在的行会的数量让我们假设,您将为{然后将其作为您机器人的活动。

const

但是您需要将const servers = client.guilds.cache.size console.log(`Bot is now online and serving in ${servers} servers`) 放入await中,并使您的功能成为异步功能,以便Bot能够返回并显示它。

const

不执行此操作,您的机器人会将其显示为const servers = await client.guilds.cache.size

这里是一个例子。

0 servers

这将显示“正在11台服务器中播放!”在机器人的状态。 并且如脚本中所述,client.on('ready', async () => { //This will get the amount of servers and then return it. const servers = await client.guilds.cache.size console.log(`Bot is now online and serving in ${servers} servers`) //Note : setActivity and setPresence is the same.i recommend using setActivity //This will display "Playing in <servers> servers!" client.user.setActivity(`in ${servers} servers!`, { type: 'PLAYING', }) }) setActivity是同一件事,但我 建议使用setPresence,因为它来自 discord.js

对于那些新手。 只要将功能设置为异步功能

setActivity就可以完成所有您想做的事情