2017-02-05 7 views
0

私はdiscord.js/nodeでDiscordボットをコーディングしています(私はかなり新しいです)。 ifステートメントをtrueに戻し、ユーザーがコマンドなどを使用できるようにするために、特定の役割が必要な権限システムをセットアップしようとしました。あなたがたのうち、適切がで権限システムを設定する方法に知っている場合Discord.js APIの権限はありますか?

(明らかに)

if(message.author.roles.includes('role_id') { 
    COMMANDS 
    } 

しかし、それはちょうど私のコンソールにエラーを与える:私は(これはそれのほんの一部です)試してみました効率的な方法は、それは理解される!

+0

Discord.js '' message.author''オブジェクトはありませんメンバ '' roles''を含んでいません。参照してください:https://discord.js.org/#/docs/main/stable/class/User – Crowes

+0

もう一度ドキュメントを見て、 '.member'を試しました(これは' GuildMember'クラスの ' role'プロパティを '.author'の代わりに使用します)。それでもまだ動作しません。 – Meh

+0

ロールはコレクションのように思えるので、 '' .exists() ''メソッドを使う必要があります。私はそれがデフォルトでは配列だとは思わないが、それについて私を引用しないでください。 https://discord.js.org/#/docs/main/stable/class/Collection?scrollTo=exists – Crowes

答えて

0

[ROLE_ID]が文字列であるif(message.member.roles.has([role_id])) (それ以外の場合は常にfalseを返します)

0

ユーザーのhasRole方法があります:http://discordjs.readthedocs.io/en/8.2.0/docs_user.html

hasRoleも(役割)client.memberHasRoleの

ショートカット(メンバー、役割)

参照client.memberHasRole

このリンク先:http://discordjs.readthedocs.io/en/8.2.0/docs_client.html#memberhasrole-member-role

memberHasRole(メンバー、役割)

戻り、ユーザが役割

+0

これは権限だけですが、ユーザーが役割を持っているかどうかを探しています。 'hasPermission'でロールをチェックするために' if'文を使用する方法がない限り、 – Meh

+0

@UNOriginalName私の更新はどうですか? –

+0

それは動作しません、それはちょうどエラーで私のボットをクラッシュします。 ありがとうございます。 編集:権限/役割でそれを行う方法を考え出しました。 – Meh

0

を持っている場合は、このような何かをやってみましたか?

if (!message.member.roles.some(r=>["role_name"].includes(r.name))) 
    return; 

これにより、指定された役割を持たないすべてのユーザーが特定のコマンドを使用できなくなります。条件付きifを使用して、これを達成するために

関連する問題