Estoy tratando de enviar el número de memberCount de mi bot de discordia a mi archivo home.js , pero no puedo encontrar una manera de enviar el número de memberCount en vivo desde la función de flecha asíncrona a una variable para mostrarlo en mi home.js expediente.
El error que obtengo:
TypeError: no se puede leer la propiedad 'memberCount' de undefined en discord.js
El código:
const express = require("express"); const bodyParser = require("body-parser"); const { Client, Guild, Intents } = require('discord.js'); const client = new Client({ intents: [Intents.FLAGS.GUILDS] }); const tracks = require(__dirname + '/tracks.js') require("dotenv").config(); const app = express(); // members check up const guild = client.guilds.cache.get('797158503247511592'); const memberCount = guild.memberCount; const members = memberCount.toLocaleString(); console.log(members) app.set('view engine', 'ejs'); app.use(bodyParser.urlencoded({ extended: true })); app.use(express.static("public")); app.get("/", function(req, res){ res.render("home"); }); app.listen(3000, function(){ console.log("Server started on port 3000."); }); client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`); console.log(`${client.guild}`) }); client.on('interactionCreate', async interaction => { if (!interaction.isCommand()) return; if (interaction.commandName === 'ping') { await interaction.reply('Pong!'); } }); client.login(process.env.TOKEN);Esto se debe a que intenta obtener el gremio antes de que el cliente haya iniciado sesión ... Espero que esto ayude
const express = require("express"); const bodyParser = require("body-parser"); const { Client, Guild, Intents } = require('discord.js'); const client = new Client({ intents: [Intents.FLAGS.GUILDS] }); const tracks = require(__dirname + '/tracks.js') require("dotenv").config(); const app = express(); app.set('view engine', 'ejs'); app.use(bodyParser.urlencoded({ extended: true })); app.use(express.static("public")); app.get("/", function(req, res){ res.render("home"); }); app.listen(3000, function(){ console.log("Server started on port 3000."); }); let membercount = 0 client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`); membercount = client.guilds.cache.get('797158503247511592').memberCount }); client.on('interactionCreate', async interaction => { if (!interaction.isCommand()) return; if (interaction.commandName === 'ping') { await interaction.reply('Pong!'); } }); client.login(process.env.TOKEN); console.log(membercount)