【问题标题】:make specific commands guild discord.js制作特定命令 guild discord.js
【发布时间】:2020-09-11 14:43:07
【问题描述】:

我想让这个欢迎命令在我的特定服务器上工作,我在同一个机器人上有 2 个服务器。如果我邀请成员到服务器 2,该命令将出错,因为我只是将 id 设置为服务器 1。如何使命令正常工作在我的服务器 1 上?

const rules = '737279140784242708' // rules and info
const leave = '743838756875796502' //leave message
bot.on('guildMemberAdd', (member) => {
    if (member.guild.id = '580588806571294720') {

        const message = `Hello <@${member.id}>, welcome to **${member.guild.name}**!,Jangan lupa check ${member.guild.channels.cache.get(rules)} yaa`

        const channel = member.guild.channels.cache.get(channelId)
        channel.send(message)
    }
})

bot.on('guildMemberRemove', (member) => {
    if (member.guild.id = '580588806571294720') {

        const message = `<@${member.id}>, telah pergi`

        const channel = member.guild.channels.cache.get(leave)
        channel.send(message)
    }
})

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    使用if 语句检查加入的公会是否是服务器 1,而不是服务器 2。

    if (member.guild.id === the_id_of_server_1) {
        //Do all the messaging stuff
    }
    

    这样,如果事件在服务器 1 中被调用,它只会尝试执行所有这些操作,并且不会抛出任何错误。

    【讨论】:

    • TypeError: 无法读取未定义的“发送”属性,我只是编辑我的代码,请检查是否正确,谢谢
    • 您的比较是错误的,您只使用了 1 等号,而它应该是 3(这在您的 IDE 中也应该出错)。这就是if 什么都不做的原因,它试图从没有它的 server2 获取该通道,因此它返回 null,从而导致该错误。
    猜你喜欢
    • 1970-01-01
    • 2020-07-05
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    • 2019-07-03
    • 2018-10-15
    相关资源
    最近更新 更多