コピペで簡単!Discord.jsで特定の役職のメッセージにのみにbotを反応させる方法
Discord.jsで特定の役職のメッセージにのみにbotを反応させる方法をご紹介します。
使いどころとしては役職で挙動を変えたい場合や特定の役職からの指示のみ聞く様にしたりできます。
応用はしやすいです。
まず、メッセージしたアカウントの役職を取得するために
1 |
対象.guild.roles.cache |
を参照します。
さくっと作るとこんな感じ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
const discord = require('discord.js'); const client = new discord.Client(); const token = 'トークン'; client.on('message', message => { if (!message.author.bot) { //ボットかどうか判定しているだけ //許可する役職名 var exRoles = ['管理者', 'Admin/窓主']; if (message.guild.roles.cache.some(r => exRoles.includes(r.name))) { //判定 /* ここに処理を記述 */ } } }); client.login(token); |
少し解説をすると
「exRoles」に反応させたい役職名を入れるだけです。
後は「/* ここに処理を記述 */」の箇所に自分の好きな処理を記述しましょー
※コードは全てdiscord.js v12のものになります。
discord.js