这个 discord.js 命令如何违反 if 语句?

Posted

技术标签:

【中文标题】这个 discord.js 命令如何违反 if 语句?【英文标题】:How does this discord.js command violates if statement? 【发布时间】:2020-09-26 19:23:25 【问题描述】:

我的一个命令负责检查一个人的任务日期,然后将其与今天的日期进行比较。此命令应该在用户分配的日期到期时起作用,例如月差小于等于 0,天差小于 2。而且发出命令的人应该有 KICK_MEMBERS 权限。

然而,console.log() 的值(显示月(monthn)和天(daysn)的差异)是准确的,不知何故,代码违反了 if 语句并通过了它。结果,它输出一个message.reply('issue') 而不是需要的message.channel.send(`Я только что оповестил $useralert.username!`);

这是代码。提前致谢!

else if (cmd == `$prefixaalert`) 
            var i;
            var d = new Date;
            var month = d.getMonth() + 1;
            var day = d.getDate();
            const s = await Tags.count();
            if (message.member.hasPermission('KICK_MEMBERS')) 
                for(i=1;i<=s;i++) 
                    const tag = await Tags.findOne( where:  key: i  );
                    if (tag) 
                        var date = tag.get('description');
                        let useralert = (tag.get("usernameid")).toString();
                        let useralertID = useralert.replace(/[<@>]/g, '');
                        let user = bot.users.cache.get('useralertID');
                        let deadday = parseInt(date.slice(0,2));
                        let deadmonth = parseInt(date.slice(3,5));
                        let dayn = deadday - day;
                        let monthn = deadmonth - month;
                        console.log(dayn.toString() + ' ' + monthn.toString() + ' ' + useralertID);
                        if(((dayn <= 2) && (monthn =0))|| (monthn < 0)) 
                            // user.send('Works!');
                            return message.channel.send(`Я только что оповестил $useralert.username!`);
                    
                
            
        
        return message.reply(' issue ');
    

【问题讨论】:

monthn =0 错误;应该是monthn == 0 【参考方案1】:

这个说法部分错误

 if (((dayn <= 2) && (monthn =0))|| (monthn < 0))

因为monthn=0 不是比较而是分配。

试试这个方法:

if(((dayn <= 2) && (monthn == 0))|| (monthn < 0))

【讨论】:

以上是关于这个 discord.js 命令如何违反 if 语句?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 discord.js 中删除 [object Promise]?

Discord.js 机器人的 Mass Role Assigner 命令

Discord.js重启命令[关闭]

Discord JS自我昵称命令

Discord.js 排行榜命令

如何在 Discord.js 中做出随机响应