class ComSupportOptions(discord.ui.View): def __init__(self): super().__init__(timeout=None) # timeout of the view must be set to None @discord.ui.button(label="Claim", style=discord.ButtonStyle.green, emoji="📌") async def claim_button_callback(self, button, interaction): try: chat = interaction.guild.get_role(1088673228182003812) helper = interaction.guild.get_role(1088673223996096542) guy = db.find_one({ "channel_id": interaction.channel.id })['claim_id'] made = db.find_one({ "channel_id": interaction.channel.id })['user_id'] #if interaction.user.id == made: # return #interaction.response.send_message() if guy == None: e0 = discord.Embed(description=f"The support staff member assisting you today is {interaction.user.mention}", color=0xffa800) db.update_one({"channel_id": interaction.channel.id }, {"$set": { f"claim_id": interaction.user.id}}) overwrite2 = interaction.channel.overwrites_for(interaction.user) overwrite2.send_messages = True overwrite2.send_tts_messages = False await interaction.channel.set_permissions(interaction.user, overwrite=overwrite2) overwrite3 = interaction.channel.overwrites_for(chat) overwrite3.send_messages = False overwrite3.send_tts_messages = False await interaction.channel.set_permissions(chat, overwrite=overwrite3) overwrite4 = interaction.channel.overwrites_for(helper) overwrite4.send_messages = False overwrite4.send_tts_messages = False await interaction.channel.set_permissions(helper, overwrite=overwrite4) channel2 = interaction.guild.get_channel(1089154971490070528) emm = discord.Embed(description=f"{interaction.user.mention} has just claimed a ticket!", color=0xEDC4D9) emm.set_author(name=interaction.user, icon_url=interaction.user.avatar.url) emm.set_footer(text=f"Staff: {interaction.user} • {interaction.user.id}") await channel2.send(embed=emm) channel = interaction.guild.get_channel(interaction.channel.id) await channel.send(embed=e0) await interaction.defer()