mediaGroup start work
This commit is contained in:
@@ -1,50 +1,50 @@
|
||||
from aiogram import Router, types
|
||||
from aiogram.fsm.context import FSMContext
|
||||
|
||||
from helper_bot.filters.main import ChatTypeFilter
|
||||
from helper_bot.keyboards.main import get_reply_keyboard_leave_chat
|
||||
from helper_bot.utils.base_dependency_factory import BaseDependencyFactory
|
||||
from helper_bot.utils.helper_func import send_text_message
|
||||
from logs.custom_logger import logger
|
||||
|
||||
group_router = Router()
|
||||
|
||||
|
||||
bdf = BaseDependencyFactory()
|
||||
GROUP_FOR_POST = bdf.settings['Telegram']['group_for_posts']
|
||||
GROUP_FOR_MESSAGE = bdf.settings['Telegram']['group_for_message']
|
||||
MAIN_PUBLIC = bdf.settings['Telegram']['main_public']
|
||||
GROUP_FOR_LOGS = bdf.settings['Telegram']['group_for_logs']
|
||||
IMPORTANT_LOGS = bdf.settings['Telegram']['important_logs']
|
||||
PREVIEW_LINK = bdf.settings['Telegram']['preview_link']
|
||||
LOGS = bdf.settings['Settings']['logs']
|
||||
TEST = bdf.settings['Settings']['test']
|
||||
|
||||
BotDB = bdf.get_db()
|
||||
|
||||
|
||||
@group_router.message(
|
||||
ChatTypeFilter(chat_type=["group", "supergroup"]),
|
||||
)
|
||||
async def handle_message(message: types.Message, state: FSMContext):
|
||||
"""Функция ответа админа пользователю через закрытый чат"""
|
||||
logger.info(
|
||||
f'Получено сообщение в группе {message.chat.title} (ID: {message.chat.id}) от пользователя {message.from_user.full_name} (ID: {message.from_user.id}): "{message.text}"')
|
||||
markup = get_reply_keyboard_leave_chat()
|
||||
message_id = 0
|
||||
try:
|
||||
message_id = message.reply_to_message.message_id
|
||||
except AttributeError as e:
|
||||
await message.answer('Блять, выдели сообщение!')
|
||||
logger.warning(
|
||||
f'В группе {message.chat.title} (ID: {message.chat.id}) админ не выделил сообщение для ответа. Ошибка {str(e)}')
|
||||
message_from_admin = message.text
|
||||
try:
|
||||
chat_id = BotDB.get_user_by_message_id(message_id)
|
||||
await send_text_message(chat_id, message, message_from_admin, markup)
|
||||
await state.set_state("CHAT")
|
||||
logger.info(f'Ответ админа "{message.text}" отправлен пользователю с ID: {chat_id} на сообщение {message_id}')
|
||||
except TypeError as e:
|
||||
await message.answer('Не могу найти кому ответить в базе, проебали сообщение.')
|
||||
logger.error(
|
||||
f'Ошибка при поиске пользователя в базе для ответа на сообщение: {message.text} в группе {message.chat.title} (ID сообщения: {message.message_id}) Ошибка: {str(e)}')
|
||||
from aiogram import Router, types
|
||||
from aiogram.fsm.context import FSMContext
|
||||
|
||||
from helper_bot.filters.main import ChatTypeFilter
|
||||
from helper_bot.keyboards.main import get_reply_keyboard_leave_chat
|
||||
from helper_bot.utils.base_dependency_factory import BaseDependencyFactory
|
||||
from helper_bot.utils.helper_func import send_text_message
|
||||
from logs.custom_logger import logger
|
||||
|
||||
group_router = Router()
|
||||
|
||||
|
||||
bdf = BaseDependencyFactory()
|
||||
GROUP_FOR_POST = bdf.settings['Telegram']['group_for_posts']
|
||||
GROUP_FOR_MESSAGE = bdf.settings['Telegram']['group_for_message']
|
||||
MAIN_PUBLIC = bdf.settings['Telegram']['main_public']
|
||||
GROUP_FOR_LOGS = bdf.settings['Telegram']['group_for_logs']
|
||||
IMPORTANT_LOGS = bdf.settings['Telegram']['important_logs']
|
||||
PREVIEW_LINK = bdf.settings['Telegram']['preview_link']
|
||||
LOGS = bdf.settings['Settings']['logs']
|
||||
TEST = bdf.settings['Settings']['test']
|
||||
|
||||
BotDB = bdf.get_db()
|
||||
|
||||
|
||||
@group_router.message(
|
||||
ChatTypeFilter(chat_type=["group", "supergroup"]),
|
||||
)
|
||||
async def handle_message(message: types.Message, state: FSMContext):
|
||||
"""Функция ответа админа пользователю через закрытый чат"""
|
||||
logger.info(
|
||||
f'Получено сообщение в группе {message.chat.title} (ID: {message.chat.id}) от пользователя {message.from_user.full_name} (ID: {message.from_user.id}): "{message.text}"')
|
||||
markup = get_reply_keyboard_leave_chat()
|
||||
message_id = 0
|
||||
try:
|
||||
message_id = message.reply_to_message.message_id
|
||||
except AttributeError as e:
|
||||
await message.answer('Блять, выдели сообщение!')
|
||||
logger.warning(
|
||||
f'В группе {message.chat.title} (ID: {message.chat.id}) админ не выделил сообщение для ответа. Ошибка {str(e)}')
|
||||
message_from_admin = message.text
|
||||
try:
|
||||
chat_id = BotDB.get_user_by_message_id(message_id)
|
||||
await send_text_message(chat_id, message, message_from_admin, markup)
|
||||
await state.set_state("CHAT")
|
||||
logger.info(f'Ответ админа "{message.text}" отправлен пользователю с ID: {chat_id} на сообщение {message_id}')
|
||||
except TypeError as e:
|
||||
await message.answer('Не могу найти кому ответить в базе, проебали сообщение.')
|
||||
logger.error(
|
||||
f'Ошибка при поиске пользователя в базе для ответа на сообщение: {message.text} в группе {message.chat.title} (ID сообщения: {message.message_id}) Ошибка: {str(e)}')
|
||||
|
||||
Reference in New Issue
Block a user