

＊＊は暴言のため隠してます。  
特定のメッセージが入った文を検知したら返信するコードを教えてください。

[code]

    client.on("messageCreate", (msg) => {
        if (message.content.match === "＊＊") {
            msg.reply("暴言、誹謗中傷などはおやめください");
        }
    });
    
[/code]


CC BY-SA 4.0
2022-03-30T11:37:02.240
88103
2023-11-23T15:07:55.967
2022-03-31T03:15:27.403
3060
52030
question
javascript node.js discord
Discord.js v13 で特定のメッセージ検知


私自身は node.js (JavaScript) や discord.js について詳しくないのであまり自信はありませんが、  
質問のコードは比較 (`===`) とパターンマッチ (`match`) の記述がごっちゃになっているように見えます。

指定したキーワードを **含む** 場合に反応したいなら、以下のような記述になると思います。

[discord.jsで多機能bot作り -
Qiita](https://qiita.com/hakureireimu111/items/1a840104bb29375e5011)

>
[code]

>     client.on('message',message=>{
>       if (message.content.match(/この言葉が含まれている書くと/)) {
>         message.channel.send('ここのなかのメッセージを送る');
>       }
>     });
>  
[/code]

`===` を使うと、指定したキーワードとメッセージの内容が (完全に) 一致した場合に反応する形になります。

>
[code]

>     client.on('message', message=> {
>         if (message.content ==='この言葉を入力すると') {
>             message.channel.send ('この言葉で反応する');
>        }
>     });
>  
[/code]


CC BY-SA 4.0
2022-03-31T03:23:55.703
88117
2022-03-31T03:23:55.703
3060
88103
answer