Исправление 'A transaction is already begun on this Session'

This commit is contained in:
2025-08-05 12:39:47 +03:00
parent 3f8a240771
commit ccd853d237
2 changed files with 22 additions and 22 deletions

View File

@@ -543,7 +543,7 @@ class MainBot(AnyBots):
if link_in_wl is None: if link_in_wl is None:
await log.send(f"{msg.author.mention}({msg.author.id}) отправил в чат {msg.channel.mention} сомнительную ссылку, которой нет в вайлисте:```{msg.content}```") await log.send(f"{msg.author.mention}({msg.author.id}) отправил в чат {msg.channel.mention} сомнительную ссылку, которой нет в вайлисте:```{msg.content}```")
mess = await msg.reply(embed=self.ErrEmbed(description=f'Этой ссылки нет в белом списке. Чтобы её туда добавили, свяжитесь с разработчиком или модераторами.', colour=0xff9900)) mess = await msg.reply(embed=self.ErrEmbed(description=f'Этой ссылки нет в белом списке, но заявка на добавление уже отправлена. Если это срочно, свяжитесь с разработчиком или модераторами.', colour=0xff9900))
await msg.delete() await msg.delete()
await asyncio.sleep(20) await asyncio.sleep(20)
await mess.delete() await mess.delete()

View File

@@ -689,6 +689,7 @@ class ModerModule(commands.Cog):
@commands.slash_command(description="Позволяет добавить домен в белый список", name="добавить_ссылку", administrator=True) @commands.slash_command(description="Позволяет добавить домен в белый список", name="добавить_ссылку", administrator=True)
async def add_domain(self, ctx: disnake.AppCmdInter, link: str = commands.Param(description="Укажите ссылку или домен", name="ссылка")): async def add_domain(self, ctx: disnake.AppCmdInter, link: str = commands.Param(description="Укажите ссылку или домен", name="ссылка")):
async with self.DataBaseManager.session() as session: async with self.DataBaseManager.session() as session:
async with session.begin():
if not (await self.DataBaseManager.model_classes['staff_users'].is_admin_or_moder_by_id(ctx.author.id, self.DataBaseManager, session)): if not (await self.DataBaseManager.model_classes['staff_users'].is_admin_or_moder_by_id(ctx.author.id, self.DataBaseManager, session)):
await ctx.send(embed = self.client.ErrEmbed(description = f'У вас недостаточно полномочий, чтобы добавлять ссылку в белый лист. Обратитесь к любому модератору или разработчику.')) await ctx.send(embed = self.client.ErrEmbed(description = f'У вас недостаточно полномочий, чтобы добавлять ссылку в белый лист. Обратитесь к любому модератору или разработчику.'))
return 1 return 1
@@ -714,7 +715,6 @@ class ModerModule(commands.Cog):
await ctx.send(embed = self.client.ErrEmbed(description = f'Этот домен уже есть в белом листе!')) await ctx.send(embed = self.client.ErrEmbed(description = f'Этот домен уже есть в белом листе!'))
return 1 return 1
async with session.begin():
domain = аllowed_domains_model(domain = new_link, initiator_id = ctx.author.id) domain = аllowed_domains_model(domain = new_link, initiator_id = ctx.author.id)
session.add(domain) session.add(domain)