From 21752cd5446702d1b2c355b8c1c512b0abb0f2b1 Mon Sep 17 00:00:00 2001 From: Sergey Elpashev Date: Wed, 22 Nov 2023 20:16:35 +0300 Subject: [PATCH] User to admins messaging --- handlers/user_commands.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/handlers/user_commands.py b/handlers/user_commands.py index a00ce6f..28863ff 100644 --- a/handlers/user_commands.py +++ b/handlers/user_commands.py @@ -1,8 +1,8 @@ from typing import Any -from aiogram import Bot, Router, types, F -from sqlalchemy.orm import Session -from db.data import Admin, Image, Post, Admin, engine +from aiogram import Bot, F, Router, types + +from neuroapi import neuroapi class User_commands: @@ -15,17 +15,15 @@ class User_commands: @self.router.message(F.chat.type == 'private') async def forward_post(message: types.Message): - - with Session(engine) as session: - admins = session.query(Admin).all() - canReply = True - for a in admins: - await bot.send_message(a.user_id, f'Вам новое сообщение от пользователя {message.from_user.full_name}. ' + - (f'\nНик: @{message.from_user.username}' if message.from_user.username else f'ID: {message.from_user.id}')) - forwarded_message = await bot.forward_message(a.user_id, message.chat.id, message.message_id) - if forwarded_message.forward_from is None: - canReply = False - await message.reply('Ваше сообщение было отправлено администраторам'+('' if canReply else '\nНо они не смогут вам ответить из-за ваших настроек конфиденциальности.')) + admins = await neuroapi.admin.get() + canReply = True + for a in admins: + await bot.send_message(a['user_id'], f'Вам новое сообщение от пользователя {message.from_user.full_name}. ' + + (f'\nНик: @{message.from_user.username}' if message.from_user.username else f'ID: {message.from_user.id}')) + forwarded_message = await bot.forward_message(a['user_id'], message.chat.id, message.message_id) + if forwarded_message.forward_from is None: + canReply = False + await message.reply('Ваше сообщение было отправлено администраторам'+('' if canReply else '\nНо они не смогут вам ответить из-за ваших настроек конфиденциальности.')) def __call__(self, *args: Any, **kwds: Any) -> Router: return self.router