Hanyaku
Hanyaku

Reputation: 13

Discord.js Join and Leave Events not working

i am trying to make a bot with some new tricks i figured out but the events arent working.

When someone Joins or Leaves, it doesn't event log it in the console.

index.js:

const config = require('./config.js');

const {Client} = require('discord.js');
const client = new Client();

const utils = require('./utils.js');

let prefix = config.prefix;

client.on('ready', () => {
    utils.ready(client);
    utils.registerEvents(client);
});

client.on("message", message => {
    utils.onMessage(client, message, prefix);
})

client.login(config.token);

utils.js:

const fs = require("fs");
const eventHandler = require('./eventHandler.js');

module.exports.ready = async (client) => {
    console.log("--------------------");
    console.log("Name: " + client.user.username);
    console.log("ID: " + client.user.id)
    console.log("--------------------");
    client.user.setActivity("Team INSTINCT BETA", {"type": "STREAMING", "url": "https://twitch.tv/hanyaku"});
}

module.exports.onMessage = async (client, message, prefix) => {
    let raw = message.content.slice(prefix.length).split(" ");
    let cmd = raw[0];
    let rawArgs = raw.join(" ");
    let args = rawArgs.slice(cmd.length).split(" ");

    if(message.content.startsWith(prefix))
    {
        fs.exists(`./commands/${cmd}.js`,function(exists){
            let cmdFile = require(`./commands/${cmd}.js`);
            cmdFile.run(client, message, args);
        });
    }
}

module.exports.registerEvents = async (client) => {
    eventHandler.register(client,'guildMemberAdd');
    eventHandler.register(client,'guildMemberRemove');
}

eventHandler.js:

module.exports.register = async (client, eventName) => {
    eval(`${eventName}(client);`);
}

function guildMemberAdd(client)
{
    client.on('guildMemberAdd', member => {
        let eventFile = require(`./commands/guildMemberAdd.js`);
        eventFile.run(client, member);
    });
    console.log("Event guildMemberAdd Registriert");
}

function guildMemberRemove(client)
{
    client.on('guildMemberRemove', member => {
        let eventFile = require(`./commands/guildMemberRemove.js`);
        eventFile.run(client, member);
    });
    console.log("Event guildMemberRemove Registriert");
}

guildMemberAdd.js:

const { Client, Collection, MessageEmbed, MessageAttachment } = require('discord.js');
const fs = require("fs");
const Canvas = require('canvas');

const fetch = require("node-fetch");

module.exports.run = async (client, member) => {
    console.log('Member Joined');
    let channel = client.channels.cache.get('776942211798532106');

    let { user } = member;

    var name = user.tag;

    let embed = new MessageEmbed()
    .setTitle('Welcome')
    .setDescription('Have a nice time, ' + name)
    channel.send(embed);

}

I guess the error is in the eventHandler.js or in the guildMember.js

I hope to get help. Greetings -Hanyaku

Upvotes: 1

Views: 9306

Answers (1)

vinesh_dodiya
vinesh_dodiya

Reputation: 150

I think you need to enable SERVER MEMBERS INTENT.

Go to discord dev portal and in bot section there will be SERVER MEMBERS INTENT option, enable it.

Upvotes: 2

Related Questions