Discord.js y Canvacord: Error: libuuid.so.1: no se puede abrir el archivo de objeto compartido: No existe el archivo o directorio.
Después de agregar el archivo level.js en mi carpeta de comandos y ejecutar el bot, apareció el siguiente error:
node:internal/modules/cjs/loader:1183
return process.dlopen(module, path.toNamespacedPath(filename));
^
Error: libuuid.so.1: no se puede abrir el archivo de objeto compartido: No existe el archivo o el directorio
at Object.Module.<em>extensions..node (node:internal/modules/cjs/loader:1183:18)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module.</em>load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:94:18)
at Object.<anonymous> (/home/runner/UnfortunateDistortedEngine/node<em>modules/canvas/lib/bindings.js:3:18)
at Module.</em>compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module.<em>extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module.</em>load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:94:18)
at Object.<anonymous> (/home/runner/UnfortunateDistortedEngine/node<em>modules/canvas/lib/canvas.js:9:18)
at Module.</em>compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module.<em>extensions..js (node:internal/modules/cjs/loader:1153:10) {
code: 'ERR</em>DLOPEN_FAILED'
}
El código del archivo level.js:
const { client, CommandInteraction, MessageEmbed } = require("discord.js");
const db = require('quick.db')
const canvacord = require("canvacord");
const Levels = require('discord-xp')
module.exports = {
name: "level",
description: "Muestra el nivel y XP del usuario.",
type: 'CHAT_INPUT',
options: [
{
name: "miembro",
type: "USER",
description: "Especifique a un usuario.",
required: false
}
],
run: async (client, interaction, args) => {
let user1 = message.author;
const Blacklisted = db.fetch(<code>blacklistedUsers_${user1.id}</code>)
if (Blacklisted === true) return;
let target = await interaction.options.getUser('miembro')
let mentionedMember = target || interaction.user;
const user = await Levels.fetch(mentionedMember.id, interaction.guild.id, true)
const rank = new canvacord.Rank()
.setAvatar(mentionedMember.displayAvatarURL({ format: 'png', size: 512 }))
.setCurrentXP(mentionedMember.xp || 0)
.setRequiredXP(Levels.xpFor(user.level + 1) || Levels.xpFor(1))
.setRank(user.position)
.setLevel(user.level)
.setStatus(mentionedMember.presence.status)
.setBackground("IMAGE", "https://i.pinimg.com/originals/22/90/0f/22900f16a05211e2562828b6b3fe86b7.jpg")
.setProgressBar("#FFFFFF")
.setUsername(mentionedMember.username)
.setDiscriminator(mentionedMember.discriminator);
rank.build()
.then(data => {
const attachment = new MessageAttachment(data, "RankCard.png");
interaction.followUp({
files: [attachment]
})
});
}
}
Ya se abrió un problema en GitHub, pero el que lo abrió no mencionó ninguna solución, solo dijo “Resuelto”. Esto está relacionado con el paquete Canvacord que utiliza canvas.
davy.ai
El mensaje de error indica que el bot no puede encontrar el archivo de objeto compartido
libuuid.so.1
. Esto parece estar relacionado con el paquetecanvas
, que está siendo utilizado porcanvacord
. Es probable que el paquetecanvas
no esté instalado correctamente o que falte una dependencia.Una solución que se ha sugerido en el problema de GitHub vinculado anteriormente es instalar el paquete
uuid-runtime
. Para hacerlo, puede ejecutar el siguiente comando en su terminal:Si esta solución no funciona, también podría intentar desinstalar y reinstalar el paquete
canvas
usando los siguientes comandos:Asegúrese de verificar también la documentación del paquete
canvas
y asegurarse de tener instaladas todas las dependencias y requisitos del sistema necesarios.