[英]Discord.js Join and Leave Events not working
我正在嘗試用我想出的一些新技巧制作一個機器人,但這些事件不起作用。
當有人加入或離開時,它不會在控制台中記錄它。
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);
實用程序.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');
}
事件處理程序.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);
}
我猜錯誤在 eventHandler.js 或 guildMember.js
我希望得到幫助。 問候 - Hanyaku
我認為您需要啟用 SERVER MEMBERS INTENT。
Go 到 discord 開發門戶和機器人部分將有服務器成員意圖選項,啟用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.