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

157
Views
I cant get access to the client in my command file discord.js

My reaction role file:


module.exports = {
  name: "rr",
  desc: "make a reaction role --> <",
  async run(message, client) {
    const jsEmoji = "๐Ÿ";
    const pythonEmoji = "๐Ÿ";

    let embedMessage = await message.channel.send("react for a role");
    embedMessage.react(jsEmoji);
    embedMessage.react(pythonEmoji);

    client.on("messageReactionAdd", (user, reaction) => {
      console.log("he reacted");
    });
  },
};

my bot file:

const intents = new Discord.Intents(32767);

I initialized my client here

const client = new Discord.Client({ intents: intents });

const fs = require("fs");
const commandFolders = fs.readdirSync("./Commands");
client.commands = new Discord.Collection();

commandFolders.forEach((folder) => {
  const commandFiles = fs
    .readdirSync(`./Commands/${folder}`)
    .filter((file) => file.endsWith(".js"));
  commandFiles.forEach((file) => {
    const command = require(`./Commands/${folder}/${file}`);
    client.commands.set(command.name, command);
  });
});

client.on("messageCreate", (message) => {
  if (message.author.bot || !message.content.startsWith(config.prefix)) return;

  const [command, ...args] = message.content
    .substring(config.prefix.length)
    .split(/\s+/);

I tried getting access to the client here and passing it into the run function but that didnt work.

  client.commands.forEach((cmd) =>
    command === cmd.name
      ? client.commands.get(cmd.name).run(message, args, client)
      : null
  );
});

client.login(config.token);

My Error:

    client.on("messageReactionAdd", (user, reaction) => {
           ^
TypeError: client.on is not a function

Is there another way to get access to my client?

about 4 years ago ยท Juan Pablo Isaza
1 answers
Answer question

0

your arguments are wrong on command file.

You should use async run(client, message, args)

Here's a full code for you:

module.exports = {
  name: "rr",
  desc: "make a reaction role --> <",
  async run(client, message, args) {
    const jsEmoji = "๐Ÿ";
    const pythonEmoji = "๐Ÿ";

    let embedMessage = await message.channel.send("react for a role");
    embedMessage.react(jsEmoji);
    embedMessage.react(pythonEmoji);

    client.on("messageReactionAdd", (user, reaction) => {
      console.log("he reacted");
    });
  },
};
about 4 years ago ยท Juan Pablo Isaza Report
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!