2017-03-22 7 views
1

私は不和のサーバーにいて、ボットを持っています。このボットには次のコードがあります:このinfinteループを停止する構文を知らない

if(message.content == 'mass effect' || 'mass' || 'andromeda'){ 
    function mass() { 
     message.channel.send('Mass Effect Andromeda is a good game.'); 
    } 
    mass(); 
} 

ここで、ボットが言うステートメントは、明らかにifステートメントの要件の一部です。それで、「マス・エフェクト・アンドロメダは良いゲームです」と言えば、それは連続的にループします。それは動作しますが、残念なことにループは無限にループします。私はそれを修正する方法があまりにもわからないんだけど...

答えて

4

の式:message.contentは「質量効果」である場合、あるいは「質量」はtruthyある場合

message.content == 'mass effect' || 'mass' || 'andromeda' 

は(trueを返しますそれは)または 'アンドロメダ'は真実です(これはそれです)。つまり、いつも真実に戻るでしょう。

それはおそらく次のようになります。

message.content == 'mass effect' || message.content == 'mass' || message.content == 'andromeda' 
+0

おかげで、それは働きました!私はメッセージに追加することを考えました。内容は重複していました。 –

+1

代替案は ''( 'mass effect'、 'mass'、 'andromeda' ')indexOf(message.content)> -1) ' –

+0

@Gonzaloです。 OPのコードを修正する方法を示します。私の好みは '/ ^(質量効果|質量|アンドロメダ)$ /。test(message.content)'です。 – RobG

関連する問題