add answer for user

This commit is contained in:
Andrey
2024-07-21 13:24:18 +03:00
parent 0704e6b3fe
commit 33fa84943d
9 changed files with 296 additions and 176 deletions

View File

@@ -11,14 +11,14 @@ from aiogram.types import FSInputFile
from helper_bot.filters.main import ChatTypeFilter
from helper_bot.keyboards import get_reply_keyboard, get_reply_keyboard_for_post
from helper_bot.keyboards.main import get_reply_keyboard_leave_chat
from helper_bot.keyboards.keyboards import get_reply_keyboard_leave_chat
from helper_bot.middlewares.album_middleware import AlbumMiddleware
from helper_bot.middlewares.blacklist_middleware import BlacklistMiddleware
from helper_bot.utils import messages
from helper_bot.utils.base_dependency_factory import BaseDependencyFactory
from helper_bot.utils.helper_func import get_first_name, get_text_message, send_text_message, send_photo_message, \
send_media_group_message_to_private_chat, prepare_media_group_from_middlewares, check_username_and_full_name, \
send_video_message, send_video_note_message, send_audio_message, send_voice_message
send_video_message, send_video_note_message, send_audio_message, send_voice_message, add_in_db_media
from logs.custom_logger import logger
private_router = Router()
@@ -173,7 +173,10 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
markup = get_reply_keyboard_for_post()
# Отправляем сообщение в приватный канал
await send_text_message(GROUP_FOR_POST, message, post_text, markup)
sent_message_id = await send_text_message(GROUP_FOR_POST, message, post_text, markup)
# Записываем в базу пост
BotDB.add_post_in_db(sent_message_id, message.text, message.from_user.id)
# Отправляем юзеру ответ, что сообщение отравлено и возвращаем его в меню
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
@@ -182,15 +185,19 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
await state.set_state("START")
elif message.content_type == 'photo' and message.media_group_id is None:
lower_caption = message.caption.lower()
if message.caption:
lower_caption = message.caption.lower()
# Получаем текст сообщения и преобразовываем его по правилам
post_caption = get_text_message(lower_caption, message.from_user.full_name,
message.from_user.username)
markup = get_reply_keyboard_for_post()
# Получаем текст сообщения и преобразовываем его по правилам
post_caption = get_text_message(lower_caption, message.from_user.full_name,
message.from_user.username)
# Отправляем фото и текст в приватный канал
await send_photo_message(GROUP_FOR_POST, message,
message.photo[-1].file_id, post_caption, markup)
sent_message = await send_photo_message(GROUP_FOR_POST, message,
message.photo[-1].file_id, post_caption, markup)
# Записываем в базу пост и контент
BotDB.add_post_in_db(sent_message.message_id, sent_message.caption, message.from_user.id)
await add_in_db_media(sent_message)
# Отправляем юзеру ответ и возвращаем его в меню
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
@@ -207,8 +214,16 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
# Получаем текст сообщения и преобразовываем его по правилам
# Отправляем видео и текст в приватный канал
await send_video_message(GROUP_FOR_POST, message,
message.video.file_id, post_caption, markup)
sent_message = await send_video_message(GROUP_FOR_POST, message,
message.video.file_id, post_caption, markup)
# Записываем в базу пост и контент
BotDB.add_post_in_db(sent_message.message_id, sent_message.caption, message.from_user.id)
await add_in_db_media(sent_message)
# Записываем в базу пост и контент
BotDB.add_post_in_db(sent_message.message_id, sent_message.caption, message.from_user.id)
await add_in_db_media(sent_message)
# Отправляем юзеру ответ и возвращаем его в меню
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
@@ -220,8 +235,12 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
markup = get_reply_keyboard_for_post()
# Отправляем видеокружок в приватный канал
await send_video_note_message(GROUP_FOR_POST, message,
message.video_note.file_id, markup)
sent_message = await send_video_note_message(GROUP_FOR_POST, message,
message.video_note.file_id, markup)
# Записываем в базу пост и контент
BotDB.add_post_in_db(sent_message.message_id, sent_message.caption, message.from_user.id)
await add_in_db_media(sent_message)
# Отправляем юзеру ответ и возвращаем его в меню
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
@@ -230,15 +249,20 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
await state.set_state("START")
elif message.content_type == 'audio' and message.media_group_id is None:
lower_caption = message.caption.lower()
if message.caption:
lower_caption = message.caption.lower()
# Получаем текст сообщения и преобразовываем его по правилам
post_caption = get_text_message(lower_caption, message.from_user.full_name,
message.from_user.username)
markup = get_reply_keyboard_for_post()
# Получаем текст сообщения и преобразовываем его по правилам
post_caption = get_text_message(lower_caption, message.from_user.full_name,
message.from_user.username)
# Отправляем видео и текст в приватный канал
await send_audio_message(GROUP_FOR_POST, message,
message.audio.file_id, post_caption, markup)
# Отправляем аудио и текст в приватный канал
sent_message = await send_audio_message(GROUP_FOR_POST, message,
message.audio.file_id, post_caption, markup)
# Записываем в базу пост и контент
BotDB.add_post_in_db(sent_message.message_id, sent_message.caption, message.from_user.id)
await add_in_db_media(sent_message)
# Отправляем юзеру ответ и возвращаем его в меню
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
@@ -249,9 +273,13 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
elif message.content_type == 'voice' and message.media_group_id is None:
markup = get_reply_keyboard_for_post()
# Отправляем видео и текст в приватный канал
await send_voice_message(GROUP_FOR_POST, message,
message.voice.file_id, markup)
# Отправляем войс и текст в приватный канал
sent_message = await send_voice_message(GROUP_FOR_POST, message,
message.voice.file_id, markup)
# Записываем в базу пост и контент
BotDB.add_post_in_db(sent_message.message_id, sent_message.caption, message.from_user.id)
await add_in_db_media(sent_message)
# Отправляем юзеру ответ и возвращаем его в меню
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)