为啥它说错误的消息?

Posted

技术标签:

【中文标题】为啥它说错误的消息?【英文标题】:Why does it say the wrong Message?为什么它说错误的消息? 【发布时间】:2020-08-04 16:11:11 【问题描述】:
else if (message.content.startsWith(prefix + 'test2')) //you can change command name here - not recommended but you can :)

    message.reply('**Just a Test2**');
        fs.truncate('../ConsoleClient/Console/output.txt', 0, function());
            setTimeout(function () 
                var out = fs.readFileSync('../ConsoleClient/RaidAlerts/messages.txt', 'utf-8').toString();
                var out3 = "test2";
                if(out == "stone")
                
                    out3 = "Walls are fine";
                
                else if(out == "air")
                
                    out3 = "**WEEWOO** We´re being raided **WEEWOO**";
                
                else if(out == "other")
                
                    out3 = "Someone changed the block. Check ASAP";
                
                const outembed = new Discord.RichEmbed()
                .setColor(0xe580ff)
                .setTimestamp()
                .setTitle('Walls')
                .addField('Status', "```" + out3 + out + "```")
                .setURL("https://de.namemc.com/profile/Memag")
                message.channel.sendEmbed(outembed)
                fs.truncate('../ConsoleClient/Console/output.txt', 0, function());
            , 1000);

为什么它说“墙是细石其他”或“墙是细石空气”或“墙是细石”而不是“墙是好的”,“WEEWOO我们正在被突袭WEWOO ”和“有人更改了区块。尽快检查”?

【问题讨论】:

out 的值显然是 "other""stoneair""stonestone"'Status', "```" + out3 + out + "```" 连接 out3out 不要在该表达式中包含out?我不知道您要达到什么目的,也不知道为什么要这样编写代码,但这很可能是问题所在。 @Pointy 问题是如果out 是其中之一,那么消息应该以“test2”或“有人更改了块。尽快检查”开头,但它以“墙很好”,尽管out 显然不是stone @JosephSible-ReinstateMonica 应该从“test2”开始 — 究竟如何? out3 变量初始化为“test2”,但后来被覆盖。 @Pointy 因为“stonestone”和“stoneair”不等于“stone”、“air”或“other”。如果它是“其他”,那么它仍然应该以“有人更改了块。尽快检查”而不是“墙很好”开头。 【参考方案1】:

试试

.addField('Status', "```" + out3 + "```")

并发布“/ConsoleClient/RaidAlerts/messages.txt”的内容

【讨论】:

messages.txt 实际上是“空的”,它只是在“石头”“空气”和“其他”之间变化

以上是关于为啥它说错误的消息?的主要内容,如果未能解决你的问题,请参考以下文章

为啥即使没有错误,表单也会出现错误消息?

为啥在 MFC 中收到错误消息而不是计时器消息?

为啥我会收到错误消息?

为啥会出现此资源找不到错误消息?

为啥反应钩子使用状态显示错误消息

为啥没有将详细的错误消息传递给 HttpClient?