eval en mi bot usando 'await' pero como await es válido en funciones asíncronas, hice el siguiente comando aeval .undefined para todo lo que evalúo. const { Base } = require("../../../lib/base"); const { inspect } = require("util"); module.exports = new Base({ name: "aeval", description: "Owner only command to evaluate an asynchronous javascript code", async execute({ client, message, args }) { let script = args.join(" "); let evaled; let hrDiff; try { const hrTime = process.hrtime(); evaled = await eval(`(async() => {${script}})()`); hrDiff = process.hrtime(hrTime); evaled = inspect(evaled); await message.reply( `Executed in \`${hrDiff[1] / 1000000}\` ms.\n\`\`\`js\n${inspect( evaled )}\n\`\`\`` ); } catch (error) { console.log(error); message.reply(`Error Occurred:\n\`\`\`js\n${error}\n\`\`\``); } }, });Puedes intentarlo así:
evaled = await eval('async () => code')() Esto mueve la función fuera de la eval para que pueda llamarla con éxito en un contexto asíncrono.
Tenga en cuenta que usar eval es una mala idea y permite un control ilimitado sobre su servidor, incluida la limpieza de la base de datos o la eliminación del bot. Tenga mucho cuidado y considere usar otras opciones para hacer la administración del servidor que necesita.