【问题标题】:I'm trying to make an if statement with "message.guild.ID" and it doesn't work我正在尝试使用“message.guild.ID”创建一个 if 语句,但它不起作用
【发布时间】:2021-05-27 04:43:46
【问题描述】:

我已经尝试了所有方法但无法使其正常工作,这意味着只能在某个不和谐服务器中发送消息,但是当我在不同的服务器中尝试该命令时,它仍然会在该服务器中发送消息。 此外,我对 JS 和 Discord.js非常是新手,所以如果我犯了明显的错误,请不要烤我。

module.exports = {
    name: 'contact',
    description: `Contacts the mods`,
    execute(client, message, args, Discord){
        var server = client.guilds.cache.get(`${message.guildID}`);
        if ( (message.guild.ID) = `<MyServerID>`){
            if (!args[0]){
                message.channel.send(`What would you like to contact the mods about?`)
            }else{
                const contact = (message.content.replace(`$contact`, ``));
                    client.channels.cache.get('<ChannelId>').send(`**from **<@${message.author.id}>: ${contact}`);
            }
        }else{
            return;
        }    
    }
}

我做错了什么?

【问题讨论】:

  • 不熟悉discord,但是你在第6行有一个错字——赋值运算符=应该是严格相等运算符===if 语句中的赋值运算符将始终计算为 true,如果分配的值是真实的。
  • 你用的是message.guildIDmessage.guild.ID是哪一个?#
  • 我正在使用 message.guild.ID
  • JavaScript 区分大小写。它是 message.guild.id ,而 message.guildID 不是 Message 的属性或方法。

标签: javascript discord discord.js bots


【解决方案1】:

我不熟悉 discord 的 api,但我认为变量“server”有些奇怪。你在函数的第一行声明它,但你不使用它。

如果我理解正确,它包含 message.guildID,也许你应该把它放在你的 if 语句中:

-> 写:if (server === &lt;MyServerID&gt;)

-> 而不是:if ( (message.guild.ID) === &lt;MyServerID&gt;)

不要忘记 if 语句中的“===”;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-03
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    相关资源
    最近更新 更多