私はこの問題を3時間のうちに解決するために取り組んできましたが、この部分を投げ捨てようとしていますが、それを修正する。Discord.js/Node botコマンドが期待通りに動作していない
免責事項 - 私はノードを使い慣れていません。私はまだ自分自身にjsを教えています。このボットは私の最初の主要な作業プロジェクトです。
基本的に、私はこのボットに、言われたことに基づいて配列からのランダムな回答を返すようにします。
トップ4の配列は、ユーザーがボットの名前+と言うものです。 (Markos)
次の5つの配列は、ボットがランダムに選択する潜在的な応答です。配列あたり〜20の応答があるので、私は応答を含めません。
最初の4つの配列の単語のいずれも "Markos"で使用されていない場合は、MENTION
配列を使用する必要があります。
現在のところ、MENTION
アレイにアクセスしているだけなので、その理由はわかりません。洞察力は素晴らしいだろう。あなたが正しい方向に私を向けることができれば/私がやっていることが間違っている理由を説明すれば、私は非常に感謝しています。
let posGreet = ["hi", "hello", "hey", "yo", "greetings", "hallo", "Grüße"]
let posBye = ["bye", "goodbye", "later", "peace", "cya", "see you later", "tschüss", "auf wiedersehen", "bis später"]
let posThanks = ["thanks", "thank you", "vielen dank", "danke", "gracias"]
let posInsults = ["insults"]
let GREETINGS = ["too many to list"]
let THANKS = ["too many to list"]
let BYE = ["too many to list"]
let MENTION = ["too many to list"]
let INSULTS = ["too many to list"]
else if (message.content.toLowerCase().includes("markos")) {
if (message.content.toLowerCase().includes(posGreet)) {
message.reply(GREETINGS[Math.floor(Math.random() * GREETINGS.length)]);
} else if (message.content.toLowerCase().includes(posThanks)) {
message.reply(THANKS[Math.floor(Math.random() * THANKS.length)]);
} else if (message.content.toLowerCase().includes(posBye)) {
message.reply(BYE[Math.floor(Math.random() * BYE.length)]);
} else if (message.content.toLowerCase().includes(posInsults)) {
message.reply(INSULTS[Math.floor(Math.random() * INSULTS.length)]);
} else {
message.reply(MENTION[Math.floor(Math.random() * MENTION.length)]);
}
}