def bot_has_any_role(*items):
def predicate(ctx):<EOL><INDENT>ch = ctx.channel<EOL>if not isinstance(ch, discord.abc.GuildChannel):<EOL><INDENT>raise NoPrivateMessage()<EOL><DEDENT>me = ch.guild.me<EOL>getter = functools.partial(discord.utils.get, me.roles)<EOL>if any(getter(id=item) is not None if isinstance(item, int) else getter(name=item) is not None for item in items):<EOL><INDENT>return True<EOL><DEDENT>raise BotMissingAnyRole(items)<EOL><DEDENT>return check(predicate)<EOL>
Similar to :func:`.has_any_role` except checks if the bot itself has
    any of the roles listed.

    This check raises one of two special exceptions, :exc:`.BotMissingAnyRole` if the bot
    is missing all roles, or :exc:`.NoPrivateMessage` if it is used in a private message.
    Both inherit from :exc:`.CheckFailure`.

    .. versionchanged:: 1.1.0

        Raise :exc:`.BotMissingAnyRole` or :exc:`.NoPrivateMessage`
        instead of generic checkfailure