我正在尝试在成员加入时向消息发布渠道发送消息。如果我不使用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的登录方法是异步的,这意味着当您定义该常量时,该漫游器尚未登录。如果漫游器未登录,则找不到任何频道。保留本地定义的常量,或者使其为全局let并在客户端对象发出ready事件时进行分配。

关于javascript - Discord机器人没有在加入的成员上发送消息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51758730/

10-13 05:38