我正在尝试在成员加入时向公告 channel 发送消息。如果我不使用 welcomeChannel
作为 const 并在函数内部定义它,这会起作用,但我不想那样做。
const Discord = require('discord.js');
const bot = new Discord.Client();
bot.login('*****************************************');
const welcomeChannel = bot.channels.get("name", "annoucements") // also tried .find here
bot.on('guildMemberAdd', member => {
if (welcomeChannel) {
welcomeChannel.send(member + ', welcome to the server.');
}
});
最佳答案
discord.js 的登录方法是异步的,这意味着当您定义该常量时,机器人尚未登录。如果机器人没有登录,它就找不到任何 channel 。要么保留本地定义的常量,要么将其设为全局 let
并在客户端对象发出就绪事件时分配它。
关于javascript - Discord bot 不在成员加入时发送消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51758730/