es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

process.env.token no funciona al iniciar el bot de Discord.

Estoy tratando de hacer que mi bot de Discord permanezca en línea las 24 horas del día usando Heroku y Github, pero cada vez que intento ejecutar mi código, obtengo este error.

2022-01-01T03:56:43.950025+00:00 app[Worker.1]: /app/node_modules/discord.js/src/rest/APIRequest.js:33
2022-01-01T03:56:43.950043+00:00 app[Worker.1]:     agent ??= new https.Agent({ ...this.client.options.http.agent, keepAlive: true });
2022-01-01T03:56:43.950043+00:00 app[Worker.1]:           ^^^
2022-01-01T03:56:43.950044+00:00 app[Worker.1]: 
2022-01-01T03:56:43.950044+00:00 app[Worker.1]: SyntaxError: Token inesperado ''''

Hay dos lugares donde coloqué mi token y uso process.env.token en esos lugares.
El primero es mi archivo index.js.

(async () => {
    for (file of functions) {
        require(`./src/functions/${file}`)(client);
    }
    client.handleEvents(eventFiles, ".src/events");
    client.handleCommands(commandFolders, "./src/commands");
    client.login(process.env.token);
})();

El segundo es mi archivo handlecommands.js.

module.exports = (client) => {
    client.handleCommands = async (commandFolders, path) => {
        client.commandArray = [];
        for (folder of commandFolders) {
            const commandFiles = fs.readdirSync(`${path}/${folder}`).filter(file => file.endsWith('.js'));

¿Cómo puedo solucionar esto?
(Nota rápida, no tengo un archivo .env, pero sí tengo un Procfile que le dice a Heroku qué hacer)

Worker: node index.js

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica un error de sintaxis con el uso del operador de “nullish coalescing” ??= en el archivo APIRequest.js del módulo discord.js. Esto no está relacionado con el uso de process.env.token en tu propio código.

    Para solucionar este problema, puedes intentar actualizar discord.js a una versión que admita el operador de “nullish coalescing”. Puedes hacer esto especificando la última versión en tu archivo package.json y ejecutando npm install para actualizar el paquete.

    Alternativamente, puedes modificar manualmente el archivo APIRequest.js para eliminar o reemplazar el código problemático. Sin embargo, esto no se recomienda, ya que puede introducir otros problemas y causar conflictos con futuras actualizaciones de discord.js.

    Además, asegúrate de que tu aplicación de Heroku esté configurada correctamente para usar tu variable de entorno ENV para el token. Puedes hacer esto configurando las “config vars” en el panel de control de Heroku o utilizando la CLI de Heroku.

Comments are closed.