Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

198
Views
Discord.js Command-Handler doesn't work on Raspberry pi

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

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!