From b730257821d110479d3cb950755812a2f82e4bb7 Mon Sep 17 00:00:00 2001 From: robotbabe Date: Thu, 22 Feb 2024 14:11:06 +0100 Subject: [PATCH 1/3] add has_any_role --- interactions/models/discord/user.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/interactions/models/discord/user.py b/interactions/models/discord/user.py index 2cd6857ea..b3efe3924 100644 --- a/interactions/models/discord/user.py +++ b/interactions/models/discord/user.py @@ -592,6 +592,15 @@ def has_role(self, *roles: Union[Snowflake_Type, Role]) -> bool: """ return all(to_snowflake(role) in self._role_ids for role in roles) + def has_any_role(self, roles: List[Union[Snowflake_Type, Role]]) -> bool: + """ + Checks if the user has any of the given roles. + + Args: + *roles: The Role(s) or role id(s) to check for + """ + return any((self.has_role(to_snowflake(role)) for role in roles)) + async def timeout( self, communication_disabled_until: Union["Timestamp", datetime, int, float, str, None], From b565ec6334f4caf26159409cb4c9085937ccb093 Mon Sep 17 00:00:00 2001 From: Katelyn Gigante Date: Sat, 30 Mar 2024 23:17:53 +1100 Subject: [PATCH 2/3] Add missing stub --- interactions/models/discord/user.pyi | 1 + 1 file changed, 1 insertion(+) diff --git a/interactions/models/discord/user.pyi b/interactions/models/discord/user.pyi index 9119afff3..208db8379 100644 --- a/interactions/models/discord/user.pyi +++ b/interactions/models/discord/user.pyi @@ -146,6 +146,7 @@ class Member(FakeUserMixin): async def remove_role(self, role: Union[Snowflake_Type, Role], reason: Absent[str] = ...) -> None: ... async def remove_roles(self, roles: Iterable[Union[Snowflake_Type, Role]], reason: Absent[str] = ...) -> None: ... def has_role(self, *roles: Union[Snowflake_Type, Role]) -> bool: ... + def has_any_role(self, roles: List[Union[Snowflake_Type, Role]]) -> bool: ... async def timeout( self, communication_disabled_until: Union["Timestamp", datetime, int, float, str, None], From 5940bf2cdbfd3b4bd038933daeb2ec1dbcc6b62d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 30 Mar 2024 12:21:01 +0000 Subject: [PATCH 3/3] ci: correct from checks. --- interactions/models/discord/user.py | 1 + 1 file changed, 1 insertion(+) diff --git a/interactions/models/discord/user.py b/interactions/models/discord/user.py index b3efe3924..bf9181d15 100644 --- a/interactions/models/discord/user.py +++ b/interactions/models/discord/user.py @@ -598,6 +598,7 @@ def has_any_role(self, roles: List[Union[Snowflake_Type, Role]]) -> bool: Args: *roles: The Role(s) or role id(s) to check for + """ return any((self.has_role(to_snowflake(role)) for role in roles))