Prevent repeated rules acceptance role changes
This commit is contained in:
@@ -87,6 +87,16 @@ async def handle_rules_accept(interaction: discord.Interaction) -> None:
|
|||||||
presentation_ch = presentation_ch if isinstance(presentation_ch, TextChannel) else None
|
presentation_ch = presentation_ch if isinstance(presentation_ch, TextChannel) else None
|
||||||
success_text = _rules_ack_button_success_text(validated_role, presentation_ch)
|
success_text = _rules_ack_button_success_text(validated_role, presentation_ch)
|
||||||
|
|
||||||
|
# Le retrait du rôle d'arrivée est la marque persistante de l'acceptation.
|
||||||
|
# Le rôle validé peut ensuite être remplacé par le système de présentation ;
|
||||||
|
# dans ce cas, un nouveau clic ne doit surtout pas rejouer l'attribution.
|
||||||
|
if arrival_role and arrival_role not in member.roles:
|
||||||
|
await interaction.response.send_message(
|
||||||
|
"Tu as déjà accepté le règlement. Tes rôles ne seront pas modifiés.",
|
||||||
|
ephemeral=True,
|
||||||
|
)
|
||||||
|
return
|
||||||
|
|
||||||
if validated_role in member.roles:
|
if validated_role in member.roles:
|
||||||
await interaction.response.send_message(success_text, ephemeral=True)
|
await interaction.response.send_message(success_text, ephemeral=True)
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user