这个 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]?