Role
MergeStrategy
¶
Bases: Enum
Stratégie pour la fusion de plusieurs objets.
Intersection = 1
class-attribute
instance-attribute
¶
On garde l'intersection. ex: [a, b, c] & [b, c, d] => [b, c]
.
Union = 2
class-attribute
instance-attribute
¶
On garde l'union. ex: [a, b, c] | [b, c, d] => [a, b, c, d]
.
Clear = 3
class-attribute
instance-attribute
¶
On ne garde rien. ex: [a, b, c] | [b, c, d] => []
RoleService(bot)
¶
Service de gestion des rôles du serveur.
get_duplicates(*, case_sensitive=True)
¶
Cherche et retourne tous les rôles qui sont dupliqués.
Returns:
Type | Description |
---|---|
list[list[Role]]
|
La liste des listes de duplication. |
list[list[Role]]
|
Chaque élément de la liste est une liste dont tous les |
list[list[Role]]
|
éléments sont des rôles dupliqués. |
Source code in etuutt_bot/services/role.py
get_duplicate(role, *, case_sensitive=True)
¶
Cherche et retourne tous les rôles qui ont le même nom que le rôle donné.
Returns:
Type | Description |
---|---|
list[Role]
|
La liste des rôles dupliqués. |
list[Role]
|
Le rôle passé en paramètre est inclus dedans. |
Source code in etuutt_bot/services/role.py
combined_perms(roles, *, merge_strategy)
staticmethod
¶
Calcule et renvoie le jeu de permissions correspondant à la stratégie donnée. Args: roles: les rôles dont on veut combiner les permissions merge_strategy: la stratégie de combinaison des permissions
Returns:
Type | Description |
---|---|
Permissions
|
Le jeu de permission obtenu par la combinaison des permissions de tous les rôles |
Source code in etuutt_bot/services/role.py
merge(roles, *, merge_perms_strategy)
async
¶
Fusionne les rôles donnés, avec leurs permissions et leurs membres, en un seul.
Le rôle gardé est celui de la liste avec le plus de membres. Tous les membres de tous les rôles de la liste reçoivent le rôle gardé. Tous les autres rôles sont supprimés.
Warning
Cette fonction peut nécessiter beaucoup d'appels à l'API Discord (un pour chaque membre qui n'a pas déjà le rôle conservé, plus un pour chaque rôle supprimé, plus un pour éditer les permissions du rôle gardé). Utilisez-la avec parcimonie
Parameters:
Name | Type | Description | Default |
---|---|---|---|
roles |
list[Role]
|
la liste des rôles à fusionner |
required |
merge_perms_strategy |
MergeStrategy
|
la stratégie de fusion des permissions à utiliser |
required |
Returns:
Type | Description |
---|---|
Role
|
Le rôle résultant de la fusion. |