add mediaGroup func

This commit is contained in:
KatykhinAA
2024-07-17 00:15:15 +03:00
parent 88889fe87c
commit a3b53d26e2
9 changed files with 183 additions and 39 deletions

View File

@@ -8,7 +8,7 @@ from helper_bot.keyboards.main import create_keyboard_with_pagination, get_reply
create_keyboard_for_ban_reason
from helper_bot.utils.base_dependency_factory import BaseDependencyFactory
from helper_bot.utils.helper_func import send_text_message, send_photo_message, get_banned_users_list, \
get_banned_users_buttons, delete_user_blacklist, get_help_message_id, send_media_group_message
get_banned_users_buttons, delete_user_blacklist, get_help_message_id, send_media_group_with_caption
from logs.custom_logger import logger
callback_router = Router()
@@ -31,8 +31,8 @@ BotDB = bdf.get_db()
)
async def post_for_group(call: CallbackQuery, state: FSMContext):
logger.info(
f'Получен callback-запрос с данными: {call.data} от пользователя {call.from_user.full_name} (ID: {call.from_user.id})')
if call.data == 'publish' and call.message.content_type == 'text' and call.message.text != "^":
f'Получен callback-запрос с действием: {call.data} от пользователя {call.from_user.full_name} (ID сообщения: {call.message.message_id})')
if call.message.content_type == 'text' and call.message.text != "^":
try:
await send_text_message(MAIN_PUBLIC, call.message, call.message.text)
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
@@ -43,7 +43,7 @@ async def post_for_group(call: CallbackQuery, state: FSMContext):
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
logger.error(f'Ошибка при публикации текста в канал {MAIN_PUBLIC}: {str(e)}')
await call.answer(text='Что-то пошло не так!', show_alert=True, cache_time=3)
elif call.data == 'publish' and call.message.content_type == 'photo':
elif call.message.content_type == 'photo':
try:
await send_photo_message(MAIN_PUBLIC, call.message, call.message.photo[-1].file_id, call.message.caption)
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
@@ -54,18 +54,18 @@ async def post_for_group(call: CallbackQuery, state: FSMContext):
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
logger.error(f'Ошибка при публикации фотографии в канал {MAIN_PUBLIC}: {str(e)}')
await call.answer(text='Что-то пошло не так!', show_alert=True, cache_time=3)
elif call.data == 'publish' and call.message.text == "^":
print('Попали куда надо')
elif call.message.text == "^":
user_data = await state.get_data()
print(f'В CALLBACK ГЕТ ДАТА: {user_data}')
media_group_message_id = get_help_message_id(call.message.message_id, user_data)
print(f'ПОЛУЧАЮ МЕССАГ ГРУПП АЙДИ ИЗ ГЕТ ДАТЫ: {media_group_message_id}')
print(f'ИДЕНТИФИКАТОР СООБЩЕНИЯ У КОТОРОГО ЖМУ КОЛЛБЭК: {call.message.message_id}')
await call.bot.copy_message(chat_id=MAIN_PUBLIC, from_chat_id=GROUP_FOR_POST, message_id=media_group_message_id, reply_markup=None)
await call.bot.delete_message(chat_id=MAIN_PUBLIC, message_id=media_group_message_id)
# Получил идентификатор последнего предложенного сообщения из кэша
help_message = get_help_message_id(call.message.message_id, user_data)
media_group_id = help_message-1
post_content = BotDB.get_post_content_from_telegram_by_last_id(media_group_id)
post_text = BotDB.get_post_text_from_telegram_by_last_id(media_group_id)
await send_media_group_with_caption(bot=call.bot, chat_id=MAIN_PUBLIC, post_content=post_content, post_text=post_text)
await call.answer(text='Выложено!', show_alert=True, cache_time=3)
@callback_router.callback_query(
F.data == "decline"
)