discord.jsでbot、もしくはbotの役職にメンションされた場合の判定を取得する

discord.jsでbot、もしくはbotの役職にメンションされた場合の判定を取得するコード。

使い道的にはbotにメンションされた時だけじゃなくて役職でメンションされた場合でも反応させたい、

けど@everyoneなんかには反応させたくないって時用のコードですね。

 

なぜそんなことが必要かと言うと大概botには名前と同じ役職が付与されているので

メンションかけようかと思った時ついつい間違えて役職でメンションかけてしまうことがあるとかないとか

まぁあんまないと思いますが「そこまで対応しておきたい!」

って思ったとき用ですね。

 

つまりはこんな感じ

@botname #000 ⇀ true

@botname ⇀ true

@everyone ⇀ false

 

まずは、discordのbotにメンションがあった場合に取得するコードはこんな感じになります

 

次に役職にメンションあった場合はこんな感じ

 

 

まとめるとこうなります

 

 

あとは適当にif文なんかで処理を組ませれば完成です。

ちなみにこの上のコードは文章に「部屋ID」と含まれていたら部屋IDを教えてくれるコードの例です。

 

 

 

最後に余談ですが@everyoneなども含め反応させたい場合は

で取得できるので

 

としたら取得できます。

 

 

 

※コードは全てdiscord.js v12のものになります。

discord.js

こちらもおすすめ