javascript - Discord bot 不在成员加入时发送消息?

标签 javascript discord discord.js

我正在尝试在成员加入时向公告 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/

相关文章:

javascript - 我可以修改作为参数传递的数组吗?

php - 如何使用 JS 客户端更新时间

javascript - 为什么 discord.js 不让我做 guild.members.fetch()?

python - 我如何在 Python 中嵌入的 Discord 中换行?

javascript - 处理错误

javascript - 我如何在网站上制作 discord.js 机器人统计信息?

javascript - 当文本输入到 Textarea 时,如何在 div 中显示文本

javascript - react-router 在子组件中获取 this.props.location

python - 如何让机器人休眠并停止响应命令(或 on_messages)

javascript - .joinedAt 属性总是在discord.js 中返回未定义