import discord from libs.Roles import Roles class FrameworkButton(discord.ui.Button): def __init__(self, style=discord.ButtonStyle.green, label="Not Set", language_role=None): super().__init__() self.style = style self.label = label self.disabled: bool = False self.language_role = language_role async def callback(self, interaction: discord.Interaction): role = await Roles().get_guild_role(interaction.guild, self.label) language_role = await Roles().get_guild_role(interaction.guild, self.language_role) messages = [] if role in interaction.user.roles: await Roles().remove_role(interaction.guild, self.label, interaction.user) messages.append(f"You are no longer associated with the {self.label} framework group.") else: if language_role is not None and language_role not in interaction.user.roles: await Roles().add_role(interaction.guild, self.language_role, interaction.user) messages.append(f"You are now associated with the {self.language_role} language group.") await Roles().add_role(interaction.guild, self.label, interaction.user) messages.append(f"You are now associated with the {self.label} framework group.") await interaction.response.send_message("\n".join(messages), delete_after=5, ephemeral=True)