gpt4 book ai didi

javascript - client.guilds.cache.size 坏了吗?

转载 作者:行者123 更新时间:2023-12-04 08:26:43 25 4
gpt4 key购买 nike

我试图让我的不和谐机器人显示它在多少台服务器上作为它的状态,但是当我做 client.guilds.cache.size 时它只显示 0。这也发生在我的 friend 身上。
这是我的代码,如果它有任何用...

const fs = require('fs');
const Discord = require('discord.js');
const { prefix, token } = require('./myconfig10.json');
const client = new Discord.Client();
const cheerio = require('cheerio');
const request = require('request');
client.commands = new Discord.Collection();
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
const embedAuthor = ('This bot was made by <my discord name>')
const servers = client.guilds.cache.size


//Telling the bot where to look for the commands
for (const file of commandFiles) {
const command = require(`./commands/${file}`);
client.commands.set(command.name, command);
}

//Once the bot is up and running, display 'Ready' in the console
client.once('ready', () => {
console.log('Ready!');
client.user.setActivity(`on ${servers}`);
});

//Seeing if the message starts with the prefix
client.on('message', message => {
if (!message.content.startsWith(prefix) || message.author.bot) return;

//Telling the bot what arguments are
const args = message.content.slice(prefix.length).trim().split(/ +/)
const commandName = args.shift().toLowerCase();

//Checking to see if the command you sent is one of the commands in the commands folder
if (!client.commands.has(commandName)) return;
console.log(`Collected 1 Item, ${message}`)

const command = client.commands.get(commandName);

//Try to execute the command.
try {
command.execute(message, args);

//If there's an error, don't crash the bot.
} catch (error) {
console.error(error);

//Sends a message on discord telling you there was an error
message.reply('there was an error trying to execute that command!');

它说:
Its says 'Playing on 0' on my bot's status

最佳答案

问题是您正试图获取 guilds收藏前client准备好了。需要移动获取client.guilds.cache.size的代码进入您的 ready事件处理程序。

client.once('ready', () => {
console.log('Ready!');
client.user.setActivity(`on ${client.guilds.cache.size}`);
});
相关资源:
Why does client.guilds.cache.size only say "0" in my playing status even if it's in 2 servers?

关于javascript - client.guilds.cache.size 坏了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65221973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com