(已关闭)Discord bot 欢迎消息和留言不起作用

Posted

技术标签:

【中文标题】(已关闭)Discord bot 欢迎消息和留言不起作用【英文标题】:(Closed) Discord bot welcome message and leave message not working 【发布时间】:2021-06-07 21:50:39 【问题描述】:

这是我用我的不和谐机器人设置的欢迎信息和留言。它目前不工作。它没有发送任何错误。如果您能帮助我,将不胜感激。这是我无法修复的错误之一。这可能只是我犯的一个简单错误。

client.on('guildMemberAdd', member =>
    const welcomemessage = new Discord.MessageEmbed()
        .setColor("#0099ff")
        .setDescription(`Welcome <@$member.user.id> to the server! Please take the time to read <#758441509371641866> and <#758441426807423056>`);
    message.guild.member.cache.get(user.id).then(function()
        let userjoinchat = message.guild.channels.cache.find(x => x.name === "welcome");
        userjoinchat.send(welcomemessage);
    )
)
client.on('guildMemberRemove', member =>
    const byemessage = new Discord.MessageEmbed()
        .setColor("#0099ff")
        .setDescription(`Bye <@$member.user.id>, I hope you enjoyed your stay!`);
    message.guild.member.cache.get(user.id).then(function()
        let userleavechat = message.guild.channels.cache.find(x => x.name === "bye");
        userleavechat.send(byemessage);
    )
)

【问题讨论】:

看看this是否回答了你的问题 @WorthyAlpaca 我已经打开了,可能需要几个小时才能同步。 不,不应该。你需要重启机器人 我已经这样做了,但还是不行。 我刚刚注意到您的代码中有一些内容。您是否有机会收到关于未定义 message 的错误? 【参考方案1】:

在您的代码中,您尝试访问message 对象。问题是您正在使用的事件中没有消息。幸运的是,这是一个很容易解决的问题。您所要做的就是访问您有权访问的 member 对象。

我在这里更正了您的代码。我还删除了一些不需要的行并添加了额外的检查,这样如果找不到频道,您就不会收到错误。

client.on('guildMemberAdd', member => 
    console.log("someone joined");
    const welcomemessage = new Discord.MessageEmbed()
        .setColor("#0099ff")
        .setDescription(`Welcome $member to the server! Please take the time to read <#758441509371641866> and <#758441426807423056>`);
    
    let userjoinchat = member.guild.channels.cache.find(x => x.name === "welcome");
    if (!userjoinchat) return;
    userjoinchat.send(welcomemessage);
)
client.on('guildMemberRemove', member => 
    console.log("someone left");
    const byemessage = new Discord.MessageEmbed()
        .setColor("#0099ff")
        .setDescription(`Bye $member, I hope you enjoyed your stay!`);

    let userleavechat = member.guild.channels.cache.find(x => x.name === "bye");
    if (!userleavechat) return;
    userleavechat.send(byemessage);
)

我还在每个事件的开头添加了console.log(),这样您就可以确保当有人加入或离开时它们确实在发射。如果不是这种情况,请确保在您的机器人开发者设置中启用"privileged intents"。

【讨论】:

以上是关于(已关闭)Discord bot 欢迎消息和留言不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在 discord.js 和 bot.on('guildMemberAdd', async newMember => 中创建欢迎消息正在创建错误

Discord.js Bots // 尝试在主文件中添加多个机器人,设置状态,随机化欢迎消息,多个前缀

Discord Bot 无法发送消息

不和谐机器人欢迎消息不起作用.py

discord.js 欢迎留言

Discord 欢迎留言 DM