I've made a Discord-Bot. And I've coded with the help of a tutorial a global command handler for it. On windows it works just fine but on my Raspberry Pi the bot starts up, logs in, etc. but if it should show me in the console if the commands have loaded properly it doesn't. The commands also don't work. Does anybody know a way to fix that problem?
Code:
const { Perms } = require("../Validation/Permission");
const { Client } = require("discord.js");
const { promisify } = require("util");
const { glob } = require("glob");
const PG = promisify(glob);
const Ascii = require("ascii-table");
/**
* @param {Client} client
*/
module.exports = async (client) => {
const Table = new Ascii("Commands Loaded");
CommandsArray = [];
(await PG(`${process.cwd()}/Commands/*/*.js`)).map(async (file) => {
const command = require(file);
if(!command.name)
return Table.addRow(file.split("/")[7], "⛔ FAILED", "Missing a name!")
if(command.type && !command.description)
return Table.addRow(command.name, "⛔ FAILED", "Missing a description!")
if(command.permission) {
if(Perms.includes(command.permission))
command.defaultPermission = false;
else
return Table.addRow(command.name, "⛔ FAILED", "Permission is invalid!")
}
client.commands.set(command.name, command);
CommandsArray.push(command);
await Table.addRow(command.name, "✔️ SUCCESSFUL")
});
console.log(Table.toString());
// PERMISSIONS CHECK //
client.on("ready", async () => {
client.guilds.cache.forEach((g) => {
g.commands.set(CommandsArray).then(async (command) => {
const Roles = (commandName) => {
const cmdPerms = CommandsArray.find(
(c) => c.name === commandName
).permission;
if (!cmdPerms) return null;
return g.roles.cache
.filter((r) => r.permissions.has(cmdPerms) && !r.managed)
.first(10);
};
const fullPermissions = command.reduce((accumulator, r) => {
const roles = Roles(r.name);
if (!roles) return accumulator;
const permissions = roles.reduce((a, r) => {
return [...a, { id: r.id, type: "ROLE", permission: true }];
}, []);
return [...accumulator, { id: r.id, permissions }];
}, []);
await g.commands.permissions.set({ fullPermissions });
});
});
});
}
For the code of the wohle bot here is my Github-Link