I have created button roles using discord.py/pycord and they work pretty well but after some time the interaction gets failed it works well for some time but later it starts getting failed. How can it work forever and also surpass reboots
Code:
client.command()
async def genderrole(ctx: commands.Context):
embed= discord.Embed(
title= "Assign yourself Gender Roles by clicking on below given options",
description="<a:Arrow:944179619433676800> All the members are requested to click on below options in order to get gender roles",
color= discord.Colour.green()
)
button= Button(label= "Male", style= discord.ButtonStyle.green, emoji= "<a:male:945567841615241276>")
button1= Button(label= "Female", style= discord.ButtonStyle.green, emoji= "<a:female:945567715530272778>")
async def male(interaction: discord.Interaction):
role = ctx.guild.get_role(945566721861906465)
member = ctx.guild.get_member(interaction.user.id)
if role in interaction.user.roles:
await interaction.user.remove_roles(role)
await interaction.response.send_message(f"{role} role has been taken from you", ephemeral=True)
else:
await member.add_roles(role)
await interaction.response.send_message(f"{role} role has been given to you", ephemeral=True)
button.callback=male
async def female(interaction: discord.Interaction):
role = ctx.guild.get_role(945566773548298252)
member = ctx.guild.get_member(interaction.user.id)
if role in interaction.user.roles:
await interaction.user.remove_roles(role)
await interaction.response.send_message(f"{role} role has been taken from you", ephemeral=True)
else:
await member.add_roles(role)
await interaction.response.send_message(f"{role} role has been given to you", ephemeral=True)
button1.callback=female
view = View(button, button1)
await ctx.send(embed=embed, view=view)
Help would be appreciated