yutarou12

連携すると作成される役職と通常のロールを区別する際に使われます。

Role クラスの managed プロパティから取得できます。 返り値は bool 型です。

サンプルコード

以下は /role 役職名 というコマンドを打った時、 その役職が外部サービスと連携されているかを取得するコードです。

@client.event
async def on_message(message):

    # /role 役職名 というコマンドで反応する
    if message.content.startswith('/role'):
        role_name = message.content.replace('/role ', '')

        # 指定した役職を取得する
        role = discord.utils.get(message.guild.roles, name=role_name)

        # 取得した役職が連携されているか取得する
        role_managed = role.managed
        # 返り値は bool 型なので、
        # されている場合は「True」、されていない場合は「False」が返ってきます

        # チャンネルに送信
        await message.channel.send(f'**{role}**の外部サービスとの連携 : {role_managed}')

参考リンク

comments powered by Disqus