Код выдаёт вместо 1 сразу 5 тикетов. Как решить?
if selected_option == "1":
c.execute(f"SELECT id_member FROM users WHERE id_member = {inter.author.id}")
if c.fetchone() is not None:
await inter.response.send_message("Вы уже создали тикет!", ephemeral=True)
return
else:
overwrites = {
guild.default_role: disnake.PermissionOverwrite(view_channel=False, read_messages=False),
master_role: disnake.PermissionOverwrite(read_messages=True, send_messages=True),
admin_role: disnake.PermissionOverwrite(read_messages=True, send_messages=True),
support_role: disnake.PermissionOverwrite(read_messages=True, send_messages=True),
inter.author: disnake.PermissionOverwrite(read_messages=True, send_messages=True),
guild.me: disnake.PermissionOverwrite(read_messages=True) # Разрешение на чтение для бота
}
view = disnake.ui.View()
view.add_item(disnake.ui.Button(emoji="", label='Закрыть', style=disnake.ButtonStyle.grey))
view.add_item(disnake.ui.Button(emoji="", label='Принять тикет', style=disnake.ButtonStyle.blurple))
ticket_channel = await category.create_text_channel(name=f'ticket-{inter.author.name}', overwrites=overwrites)
c.execute(f"INSERT INTO users VALUES ({inter.author.id}, {ticket_channel.id})")
conn.commit()
embed = disnake.Embed(description=f"**Тикет был создан пользователем {inter.author.mention}. Ожидайте ответа!**")
embed.add_field(name="Причина создание тикета:", value=f"`Тех.поддержка`", inline=False)
embed.set_thumbnail(url=inter.author.avatar.url)
await ticket_channel.send(f"{inter.author.mention} {support_role.mention} {master_role.mention} {admin_role.mention}", embed=embed, view=view)
view2 = disnake.ui.View()
view2.add_item(disnake.ui.Button(label='Открыть тикет', url=f'https://discord.com/channels/{guild.id}/{ticket_channel.id}', style=disnake.ButtonStyle.link))
embed2 = disnake.Embed(title="Создание тикета", description=f"**Вы успешно создали тикет!\nЧто бы перейти в канал с тикетом, нажмите на кнопку ниже.**", color=0x4d4d4d)
await inter.response.defer(ephemeral=True)
await inter.send(embed=embed2, view=view2, ephemeral=True)
log_channel = inter.guild.get_channel(1067864446183153842)
log_embed = disnake.Embed(title="Открытие тикета", description=f"**Пользователь {inter.author.mention} создал тикет {ticket_channel.mention}**", color=0x4d4d4d)
log_embed.add_field(name="Создатель тикета:", value=f"{inter.author.mention}", inline=True)
log_embed.add_field(name="Причина создания тикета:", value=f"`Тех.поддержка`", inline=False)
log_embed.add_field(name="Время создание:", value=f"{disnake.utils.format_dt(time, style='f')}", inline=False)
log_embed.set_thumbnail(url=inter.author.avatar.url)
log_embed.set_footer(text="Ticket was logged at " + str(datetime.datetime.now()))
await log_channel.send(embed=log_embed)