Как поставить timeout на кнопку в discord.py
У меня есть код:
@bot.command()
async def invite_clan(ctx, member):
cursor.execute("SELECT name FROM teams WHERE player1 = ?", [ctx.author.id])
if cursor.fetchone():
for clandates in cursor.execute("SELECT player2,player3,player4,player5 FROM teams WHERE player1 = ?", [ctx.author.id]):
if clandates[0] == "None":
cursor.execute("UPDATE teams SET player2 = ? WHERE player1 = ?", (ctx.message.mentions[0].id, ctx.author.id))
cursor.execute("UPDATE teams SET invitedPlayer = ? WHERE player1 = ?", (ctx.message.mentions[0].id, ctx.author.id))
sqlite_connection.commit()
view = RequestToClanButton()
message = await ctx.reply(content=f"{ctx.author.mention} отправил запрос в клан игроку <@{ctx.message.mentions[0].id}>", view=view)
и так же имеется обратный вызов на кнопку:
class RequestToClanButton(discord.ui.View):
def __init__(self):
super().__init__(timeout=20)
@discord.ui.button(label="Принять", style=discord.ButtonStyle.green)
async def accept(self, interaction: discord.Interaction, button: discord.ui.Button):
for clanLeader in cursor.execute("SELECT player1 FROM teams WHERE player2 = ?", [interaction.user.id]):
for clandates in cursor.execute("SELECT player2,player3,player4,player5,invitedPlayer FROM teams WHERE player1 = ?", [clanLeader[0]]):
if f"{interaction.user.id}" == f"{clandates[4]}":
await interaction.response.edit_message(content=f"{interaction.user.mention} принял приглашение в клан от <@{clanLeader[0]}>",view=None)
Мне необходимо поставить timeout размером в 20 секунд, что-бы если по истичению этого времени никто не нажмет на кнопку, то сообщение отредактируется