fix with html tags #4
@@ -1,3 +1,4 @@
|
|||||||
|
import html
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
from aiogram import Router, F
|
from aiogram import Router, F
|
||||||
@@ -33,53 +34,61 @@ BotDB = bdf.get_db()
|
|||||||
async def post_for_group(call: CallbackQuery, state: FSMContext):
|
async def post_for_group(call: CallbackQuery, state: FSMContext):
|
||||||
logger.info(
|
logger.info(
|
||||||
f'Получен callback-запрос с действием: {call.data} от пользователя {call.from_user.full_name} (ID сообщения: {call.message.message_id})')
|
f'Получен callback-запрос с действием: {call.data} от пользователя {call.from_user.full_name} (ID сообщения: {call.message.message_id})')
|
||||||
|
text_post = html.escape(str(call.message.text))
|
||||||
|
text_post_with_photo = html.escape(str(call.message.caption))
|
||||||
if call.message.content_type == 'text' and call.message.text != "^":
|
if call.message.content_type == 'text' and call.message.text != "^":
|
||||||
try:
|
try:
|
||||||
# Пересылаем сообщение в канал
|
# Пересылаем сообщение в канал
|
||||||
await send_text_message(MAIN_PUBLIC, call.message, call.message.text)
|
await send_text_message(MAIN_PUBLIC, call.message, text_post)
|
||||||
|
|
||||||
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
# Получаем из базы автора
|
||||||
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
||||||
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
|
||||||
|
|
||||||
# Очищаем предложку и удаляем оттуда пост
|
# Очищаем предложку и удаляем оттуда пост
|
||||||
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
|
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
|
||||||
logger.info(f'Текст сообщения опубликован в канале {MAIN_PUBLIC}.')
|
logger.info(f'Текст сообщения опубликован в канале {MAIN_PUBLIC}.')
|
||||||
await call.answer(text='Выложено!', show_alert=True, cache_time=3)
|
await call.answer(text='Выложено!', cache_time=3)
|
||||||
|
|
||||||
|
# Отвечаем пользователю
|
||||||
|
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
if e.message != 'Forbidden: bot was blocked by the user':
|
||||||
await call.bot.send_message(chat_id=IMPORTANT_LOGS,
|
await call.bot.send_message(chat_id=IMPORTANT_LOGS,
|
||||||
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
||||||
logger.error(f'Ошибка при публикации текста в канал {MAIN_PUBLIC}: {str(e)}')
|
logger.error(f'Ошибка при публикации текста в канал {MAIN_PUBLIC}: {str(e)}')
|
||||||
await call.answer(text='Что-то пошло не так!', show_alert=True, cache_time=3)
|
await call.answer(text='Что-то пошло не так!', show_alert=True, cache_time=3)
|
||||||
elif call.message.content_type == 'photo':
|
elif call.message.content_type == 'photo':
|
||||||
try:
|
try:
|
||||||
await send_photo_message(MAIN_PUBLIC, call.message, call.message.photo[-1].file_id, call.message.caption)
|
await send_photo_message(MAIN_PUBLIC, call.message, call.message.photo[-1].file_id, text_post_with_photo)
|
||||||
|
|
||||||
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
||||||
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
||||||
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
|
||||||
|
|
||||||
# Удаляем пост из предложки
|
# Удаляем пост из предложки
|
||||||
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
|
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
|
||||||
logger.info(f'Пост с фото опубликован в канале {MAIN_PUBLIC}.')
|
logger.info(f'Пост с фото опубликован в канале {MAIN_PUBLIC}.')
|
||||||
await call.answer(text='Выложено!', show_alert=True, cache_time=3)
|
await call.answer(text='Выложено!', cache_time=3)
|
||||||
|
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
if e.message != 'Forbidden: bot was blocked by the user':
|
||||||
await call.bot.send_message(chat_id=IMPORTANT_LOGS,
|
await call.bot.send_message(chat_id=IMPORTANT_LOGS,
|
||||||
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
||||||
logger.error(f'Ошибка при публикации фотографии в канал {MAIN_PUBLIC}: {str(e)}')
|
logger.error(f'Ошибка при публикации фотографии в канал {MAIN_PUBLIC}: {str(e)}')
|
||||||
await call.answer(text='Что-то пошло не так!', show_alert=True, cache_time=3)
|
await call.answer(text='Что-то пошло не так!', show_alert=True, cache_time=3)
|
||||||
elif call.message.content_type == 'video':
|
elif call.message.content_type == 'video':
|
||||||
try:
|
try:
|
||||||
await send_video_message(MAIN_PUBLIC, call.message, call.message.video.file_id, call.message.caption)
|
await send_video_message(MAIN_PUBLIC, call.message, call.message.video.file_id, text_post_with_photo)
|
||||||
|
|
||||||
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
||||||
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
||||||
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
|
||||||
|
|
||||||
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
|
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
|
||||||
logger.info(f'Пост с видео опубликован в канале {MAIN_PUBLIC}.')
|
logger.info(f'Пост с видео опубликован в канале {MAIN_PUBLIC}.')
|
||||||
await call.answer(text='Выложено!', show_alert=True, cache_time=3)
|
await call.answer(text='Выложено!', cache_time=3)
|
||||||
|
|
||||||
|
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
if e.message != 'Forbidden: bot was blocked by the user':
|
||||||
await call.bot.send_message(chat_id=IMPORTANT_LOGS,
|
await call.bot.send_message(chat_id=IMPORTANT_LOGS,
|
||||||
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
||||||
logger.error(f'Ошибка при публикации видео в канал {MAIN_PUBLIC}: {str(e)}')
|
logger.error(f'Ошибка при публикации видео в канал {MAIN_PUBLIC}: {str(e)}')
|
||||||
@@ -90,28 +99,30 @@ async def post_for_group(call: CallbackQuery, state: FSMContext):
|
|||||||
|
|
||||||
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
||||||
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
||||||
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
|
||||||
|
|
||||||
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
|
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
|
||||||
logger.info(f'Пост с кружком опубликован в канале {MAIN_PUBLIC}.')
|
logger.info(f'Пост с кружком опубликован в канале {MAIN_PUBLIC}.')
|
||||||
await call.answer(text='Выложено!', show_alert=True, cache_time=3)
|
await call.answer(text='Выложено!', cache_time=3)
|
||||||
|
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
if e.message != 'Forbidden: bot was blocked by the user':
|
||||||
await call.bot.send_message(chat_id=IMPORTANT_LOGS,
|
await call.bot.send_message(chat_id=IMPORTANT_LOGS,
|
||||||
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
||||||
logger.error(f'Ошибка при публикации кружка в канал {MAIN_PUBLIC}: {str(e)}')
|
logger.error(f'Ошибка при публикации кружка в канал {MAIN_PUBLIC}: {str(e)}')
|
||||||
await call.answer(text='Что-то пошло не так!', show_alert=True, cache_time=3)
|
await call.answer(text='Что-то пошло не так!', show_alert=True, cache_time=3)
|
||||||
elif call.message.content_type == 'audio':
|
elif call.message.content_type == 'audio':
|
||||||
try:
|
try:
|
||||||
await send_audio_message(MAIN_PUBLIC, call.message, call.message.audio.file_id, call.message.caption)
|
await send_audio_message(MAIN_PUBLIC, call.message, call.message.audio.file_id, text_post_with_photo)
|
||||||
|
|
||||||
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
||||||
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
||||||
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
|
||||||
|
|
||||||
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
|
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
|
||||||
logger.info(f'Пост с аудио опубликован в канале {MAIN_PUBLIC}.')
|
logger.info(f'Пост с аудио опубликован в канале {MAIN_PUBLIC}.')
|
||||||
await call.answer(text='Выложено!', show_alert=True, cache_time=3)
|
await call.answer(text='Выложено!', cache_time=3)
|
||||||
|
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
if e.message != 'Forbidden: bot was blocked by the user':
|
||||||
await call.bot.send_message(chat_id=IMPORTANT_LOGS,
|
await call.bot.send_message(chat_id=IMPORTANT_LOGS,
|
||||||
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
||||||
logger.error(f'Ошибка при публикации аудио в канал {MAIN_PUBLIC}: {str(e)}')
|
logger.error(f'Ошибка при публикации аудио в канал {MAIN_PUBLIC}: {str(e)}')
|
||||||
@@ -122,12 +133,13 @@ async def post_for_group(call: CallbackQuery, state: FSMContext):
|
|||||||
|
|
||||||
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
||||||
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
||||||
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
|
||||||
|
|
||||||
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
|
await call.bot.delete_message(chat_id=GROUP_FOR_POST, message_id=call.message.message_id)
|
||||||
logger.info(f'Пост с войсом опубликован в канале {MAIN_PUBLIC}.')
|
logger.info(f'Пост с войсом опубликован в канале {MAIN_PUBLIC}.')
|
||||||
await call.answer(text='Выложено!', show_alert=True, cache_time=3)
|
await call.answer(text='Выложено!', cache_time=3)
|
||||||
|
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
if e.message != 'Forbidden: bot was blocked by the user':
|
||||||
await call.bot.send_message(chat_id=IMPORTANT_LOGS,
|
await call.bot.send_message(chat_id=IMPORTANT_LOGS,
|
||||||
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
text=f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
||||||
logger.error(f'Ошибка при публикации войса в канал {MAIN_PUBLIC}: {str(e)}')
|
logger.error(f'Ошибка при публикации войса в канал {MAIN_PUBLIC}: {str(e)}')
|
||||||
@@ -135,7 +147,8 @@ async def post_for_group(call: CallbackQuery, state: FSMContext):
|
|||||||
elif call.message.text == "^":
|
elif call.message.text == "^":
|
||||||
# Получаем контент медиагруппы и текст для публикации
|
# Получаем контент медиагруппы и текст для публикации
|
||||||
post_content = BotDB.get_post_content_from_telegram_by_last_id(call.message.message_id)
|
post_content = BotDB.get_post_content_from_telegram_by_last_id(call.message.message_id)
|
||||||
post_text = BotDB.get_post_text_from_telegram_by_last_id(call.message.message_id)
|
pre_text = BotDB.get_post_text_from_telegram_by_last_id(call.message.message_id)
|
||||||
|
post_text = html.escape(str(pre_text))
|
||||||
|
|
||||||
# Готовим список для удаления
|
# Готовим список для удаления
|
||||||
post_ids = BotDB.get_post_ids_from_telegram_by_last_id(call.message.message_id)
|
post_ids = BotDB.get_post_ids_from_telegram_by_last_id(call.message.message_id)
|
||||||
@@ -148,11 +161,12 @@ async def post_for_group(call: CallbackQuery, state: FSMContext):
|
|||||||
|
|
||||||
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
||||||
author_id = BotDB.get_author_id_by_helper_message_id(call.message.message_id)
|
author_id = BotDB.get_author_id_by_helper_message_id(call.message.message_id)
|
||||||
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
|
||||||
|
|
||||||
# TODO: Удалить фотки с локалки после выкладки?
|
# TODO: Удалить фотки с локалки после выкладки?
|
||||||
await call.bot.delete_messages(chat_id=GROUP_FOR_POST, message_ids=message_ids)
|
await call.bot.delete_messages(chat_id=GROUP_FOR_POST, message_ids=message_ids)
|
||||||
await call.answer(text='Выложено!', show_alert=True, cache_time=3)
|
await call.answer(text='Выложено!', cache_time=3)
|
||||||
|
|
||||||
|
await send_text_message(author_id, call.message, 'Твой пост был выложен🥰')
|
||||||
|
|
||||||
|
|
||||||
@callback_router.callback_query(
|
@callback_router.callback_query(
|
||||||
@@ -169,11 +183,11 @@ async def decline_post_for_group(call: CallbackQuery, state: FSMContext):
|
|||||||
|
|
||||||
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
||||||
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
author_id = BotDB.get_author_id_by_message_id(call.message.message_id)
|
||||||
await send_text_message(author_id, call.message, 'Твой пост был отклонен😔')
|
|
||||||
|
|
||||||
logger.info(
|
logger.info(
|
||||||
f'Сообщение отклонено админом {call.from_user.full_name} (ID: {call.from_user.id}).')
|
f'Сообщение отклонено админом {call.from_user.full_name} (ID: {call.from_user.id}).')
|
||||||
await call.answer(text='Отклонено!', show_alert=True, cache_time=3)
|
await call.answer(text='Отклонено!', cache_time=3)
|
||||||
|
await send_text_message(author_id, call.message, 'Твой пост был отклонен😔')
|
||||||
if call.message.text == '^':
|
if call.message.text == '^':
|
||||||
post_ids = BotDB.get_post_ids_from_telegram_by_last_id(call.message.message_id)
|
post_ids = BotDB.get_post_ids_from_telegram_by_last_id(call.message.message_id)
|
||||||
message_ids = [row[0] for row in post_ids]
|
message_ids = [row[0] for row in post_ids]
|
||||||
@@ -183,10 +197,12 @@ async def decline_post_for_group(call: CallbackQuery, state: FSMContext):
|
|||||||
|
|
||||||
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
# Получаем из базы автора + отправляем сообщение + удаляем сообщение из предложки
|
||||||
author_id = BotDB.get_author_id_by_helper_message_id(call.message.message_id)
|
author_id = BotDB.get_author_id_by_helper_message_id(call.message.message_id)
|
||||||
await send_text_message(author_id, call.message, 'Твой пост был отклонен😔')
|
|
||||||
|
|
||||||
await call.answer(text='Удалено!', show_alert=True, cache_time=3)
|
await call.answer(text='Удалено!', cache_time=3)
|
||||||
|
|
||||||
|
await send_text_message(author_id, call.message, 'Твой пост был отклонен😔')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
if e.message != 'Forbidden: bot was blocked by the user':
|
||||||
await call.bot.send_message(IMPORTANT_LOGS,
|
await call.bot.send_message(IMPORTANT_LOGS,
|
||||||
f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
f"Произошла ошибка: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
||||||
logger.error(f'Ошибка при удалении сообщения в группе {GROUP_FOR_POST}: {str(e)}')
|
logger.error(f'Ошибка при удалении сообщения в группе {GROUP_FOR_POST}: {str(e)}')
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ async def handle_start_message(message: types.Message, state: FSMContext):
|
|||||||
await message.forward(chat_id=GROUP_FOR_LOGS)
|
await message.forward(chat_id=GROUP_FOR_LOGS)
|
||||||
full_name = message.from_user.full_name
|
full_name = message.from_user.full_name
|
||||||
username = message.from_user.username
|
username = message.from_user.username
|
||||||
first_name = message.from_user.first_name
|
first_name = get_first_name(message)
|
||||||
is_bot = message.from_user.is_bot
|
is_bot = message.from_user.is_bot
|
||||||
language_code = message.from_user.language_code
|
language_code = message.from_user.language_code
|
||||||
user_id = message.from_user.id
|
user_id = message.from_user.id
|
||||||
@@ -86,10 +86,9 @@ async def handle_start_message(message: types.Message, state: FSMContext):
|
|||||||
await message.bot.send_message(chat_id=IMPORTANT_LOGS,
|
await message.bot.send_message(chat_id=IMPORTANT_LOGS,
|
||||||
text=f"Произошла ошибка при получении стикеров: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
text=f"Произошла ошибка при получении стикеров: {str(e)}\n\nTraceback:\n{traceback.format_exc()}")
|
||||||
try:
|
try:
|
||||||
|
|
||||||
markup = get_reply_keyboard(BotDB, message.from_user.id)
|
markup = get_reply_keyboard(BotDB, message.from_user.id)
|
||||||
hello_message = messages.get_message(get_first_name(message), 'HELLO_MESSAGE')
|
hello_message = messages.get_message(get_first_name(message), 'HELLO_MESSAGE')
|
||||||
await message.answer(hello_message, reply_markup=markup)
|
await message.answer(hello_message, reply_markup=markup, parse_mode='HTML')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(
|
logger.error(
|
||||||
f"Произошла ошибка при отправке приветственного сообщения для пользователя {message.from_user.id} Имя: {message.from_user.full_name}. Ошибка: {str(e)}")
|
f"Произошла ошибка при отправке приветственного сообщения для пользователя {message.from_user.id} Имя: {message.from_user.full_name}. Ошибка: {str(e)}")
|
||||||
@@ -169,14 +168,19 @@ async def end_message(message: types.Message, state: FSMContext):
|
|||||||
async def suggest_router(message: types.Message, state: FSMContext, album: list = None):
|
async def suggest_router(message: types.Message, state: FSMContext, album: list = None):
|
||||||
logger.info(
|
logger.info(
|
||||||
f"Вызов функции suggest_router. Пользователь: {message.from_user.id} Имя автора сообщения: {message.from_user.full_name}")
|
f"Вызов функции suggest_router. Пользователь: {message.from_user.id} Имя автора сообщения: {message.from_user.full_name}")
|
||||||
|
first_name = get_first_name(message)
|
||||||
try:
|
try:
|
||||||
post_caption = ''
|
post_caption = ''
|
||||||
|
if message.media_group_id is not None:
|
||||||
|
await send_text_message(GROUP_FOR_LOGS, message,
|
||||||
|
f'Закинул медиагруппу, пользователь: имя - {first_name}, ник - {message.from_user.username}')
|
||||||
|
else:
|
||||||
|
await message.forward(chat_id=GROUP_FOR_LOGS)
|
||||||
if message.content_type == 'text':
|
if message.content_type == 'text':
|
||||||
lower_text = message.text.lower()
|
lower_text = message.text.lower()
|
||||||
# Получаем текст сообщения и преобразовываем его по правилам
|
# Получаем текст сообщения и преобразовываем его по правилам
|
||||||
post_text = get_text_message(lower_text, message.from_user.full_name,
|
post_text = get_text_message(lower_text, first_name,
|
||||||
message.from_user.username)
|
message.from_user.username)
|
||||||
|
|
||||||
# Получаем клавиатуру для поста
|
# Получаем клавиатуру для поста
|
||||||
markup = get_reply_keyboard_for_post()
|
markup = get_reply_keyboard_for_post()
|
||||||
|
|
||||||
@@ -188,7 +192,7 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
|
|||||||
|
|
||||||
# Отправляем юзеру ответ, что сообщение отравлено и возвращаем его в меню
|
# Отправляем юзеру ответ, что сообщение отравлено и возвращаем его в меню
|
||||||
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
||||||
success_send_message = messages.get_message(get_first_name(message), 'SUCCESS_SEND_MESSAGE')
|
success_send_message = messages.get_message(first_name, 'SUCCESS_SEND_MESSAGE')
|
||||||
await message.answer(success_send_message, reply_markup=markup_for_user)
|
await message.answer(success_send_message, reply_markup=markup_for_user)
|
||||||
await state.set_state("START")
|
await state.set_state("START")
|
||||||
|
|
||||||
@@ -196,7 +200,7 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
|
|||||||
if message.caption:
|
if message.caption:
|
||||||
lower_caption = message.caption.lower()
|
lower_caption = message.caption.lower()
|
||||||
# Получаем текст сообщения и преобразовываем его по правилам
|
# Получаем текст сообщения и преобразовываем его по правилам
|
||||||
post_caption = get_text_message(lower_caption, message.from_user.full_name,
|
post_caption = get_text_message(lower_caption, first_name,
|
||||||
message.from_user.username)
|
message.from_user.username)
|
||||||
markup = get_reply_keyboard_for_post()
|
markup = get_reply_keyboard_for_post()
|
||||||
|
|
||||||
@@ -209,14 +213,14 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
|
|||||||
|
|
||||||
# Отправляем юзеру ответ и возвращаем его в меню
|
# Отправляем юзеру ответ и возвращаем его в меню
|
||||||
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
||||||
success_send_message = messages.get_message(get_first_name(message), 'SUCCESS_SEND_MESSAGE')
|
success_send_message = messages.get_message(first_name, 'SUCCESS_SEND_MESSAGE')
|
||||||
await message.answer(success_send_message, reply_markup=markup_for_user)
|
await message.answer(success_send_message, reply_markup=markup_for_user)
|
||||||
await state.set_state("START")
|
await state.set_state("START")
|
||||||
|
|
||||||
elif message.content_type == 'video' and message.media_group_id is None:
|
elif message.content_type == 'video' and message.media_group_id is None:
|
||||||
if message.caption:
|
if message.caption:
|
||||||
lower_caption = message.caption.lower()
|
lower_caption = message.caption.lower()
|
||||||
post_caption = get_text_message(lower_caption, message.from_user.full_name,
|
post_caption = get_text_message(lower_caption, first_name,
|
||||||
message.from_user.username)
|
message.from_user.username)
|
||||||
markup = get_reply_keyboard_for_post()
|
markup = get_reply_keyboard_for_post()
|
||||||
# Получаем текст сообщения и преобразовываем его по правилам
|
# Получаем текст сообщения и преобразовываем его по правилам
|
||||||
@@ -235,7 +239,7 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
|
|||||||
|
|
||||||
# Отправляем юзеру ответ и возвращаем его в меню
|
# Отправляем юзеру ответ и возвращаем его в меню
|
||||||
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
||||||
success_send_message = messages.get_message(get_first_name(message), 'SUCCESS_SEND_MESSAGE')
|
success_send_message = messages.get_message(first_name, 'SUCCESS_SEND_MESSAGE')
|
||||||
await message.answer(success_send_message, reply_markup=markup_for_user)
|
await message.answer(success_send_message, reply_markup=markup_for_user)
|
||||||
await state.set_state("START")
|
await state.set_state("START")
|
||||||
|
|
||||||
@@ -252,7 +256,7 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
|
|||||||
|
|
||||||
# Отправляем юзеру ответ и возвращаем его в меню
|
# Отправляем юзеру ответ и возвращаем его в меню
|
||||||
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
||||||
success_send_message = messages.get_message(get_first_name(message), 'SUCCESS_SEND_MESSAGE')
|
success_send_message = messages.get_message(first_name, 'SUCCESS_SEND_MESSAGE')
|
||||||
await message.answer(success_send_message, reply_markup=markup_for_user)
|
await message.answer(success_send_message, reply_markup=markup_for_user)
|
||||||
await state.set_state("START")
|
await state.set_state("START")
|
||||||
|
|
||||||
@@ -260,7 +264,7 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
|
|||||||
if message.caption:
|
if message.caption:
|
||||||
lower_caption = message.caption.lower()
|
lower_caption = message.caption.lower()
|
||||||
# Получаем текст сообщения и преобразовываем его по правилам
|
# Получаем текст сообщения и преобразовываем его по правилам
|
||||||
post_caption = get_text_message(lower_caption, message.from_user.full_name,
|
post_caption = get_text_message(lower_caption, first_name,
|
||||||
message.from_user.username)
|
message.from_user.username)
|
||||||
markup = get_reply_keyboard_for_post()
|
markup = get_reply_keyboard_for_post()
|
||||||
|
|
||||||
@@ -274,7 +278,7 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
|
|||||||
|
|
||||||
# Отправляем юзеру ответ и возвращаем его в меню
|
# Отправляем юзеру ответ и возвращаем его в меню
|
||||||
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
||||||
success_send_message = messages.get_message(get_first_name(message), 'SUCCESS_SEND_MESSAGE')
|
success_send_message = messages.get_message(first_name, 'SUCCESS_SEND_MESSAGE')
|
||||||
await message.answer(success_send_message, reply_markup=markup_for_user)
|
await message.answer(success_send_message, reply_markup=markup_for_user)
|
||||||
await state.set_state("START")
|
await state.set_state("START")
|
||||||
|
|
||||||
@@ -291,7 +295,7 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
|
|||||||
|
|
||||||
# Отправляем юзеру ответ и возвращаем его в меню
|
# Отправляем юзеру ответ и возвращаем его в меню
|
||||||
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
||||||
success_send_message = messages.get_message(get_first_name(message), 'SUCCESS_SEND_MESSAGE')
|
success_send_message = messages.get_message(first_name, 'SUCCESS_SEND_MESSAGE')
|
||||||
await message.answer(success_send_message, reply_markup=markup_for_user)
|
await message.answer(success_send_message, reply_markup=markup_for_user)
|
||||||
await state.set_state("START")
|
await state.set_state("START")
|
||||||
|
|
||||||
@@ -301,7 +305,7 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
|
|||||||
# Получаем сообщение и проверяем есть ли подпись. Если подпись есть, то преобразуем ее через функцию
|
# Получаем сообщение и проверяем есть ли подпись. Если подпись есть, то преобразуем ее через функцию
|
||||||
if album[0].caption:
|
if album[0].caption:
|
||||||
lower_caption = album[0].caption.lower()
|
lower_caption = album[0].caption.lower()
|
||||||
post_caption = get_text_message(lower_caption, message.from_user.full_name,
|
post_caption = get_text_message(lower_caption, first_name,
|
||||||
message.from_user.username)
|
message.from_user.username)
|
||||||
|
|
||||||
# Иначе обрабатываем фото и получаем медиагруппу
|
# Иначе обрабатываем фото и получаем медиагруппу
|
||||||
@@ -321,7 +325,7 @@ async def suggest_router(message: types.Message, state: FSMContext, album: list
|
|||||||
|
|
||||||
# Получаем клавиатуру для пользователя, благодарим за пост, и возвращаем в дефолтное сообщение
|
# Получаем клавиатуру для пользователя, благодарим за пост, и возвращаем в дефолтное сообщение
|
||||||
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
markup_for_user = get_reply_keyboard(BotDB, message.from_user.id)
|
||||||
success_send_message = messages.get_message(get_first_name(message), 'SUCCESS_SEND_MESSAGE')
|
success_send_message = messages.get_message(first_name, 'SUCCESS_SEND_MESSAGE')
|
||||||
await message.answer(success_send_message, reply_markup=markup_for_user)
|
await message.answer(success_send_message, reply_markup=markup_for_user)
|
||||||
await state.set_state("START")
|
await state.set_state("START")
|
||||||
else:
|
else:
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,4 @@
|
|||||||
|
import html
|
||||||
import os
|
import os
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
@@ -13,7 +14,8 @@ BotDB = bdf.get_db()
|
|||||||
|
|
||||||
|
|
||||||
def get_first_name(message: types.Message) -> str:
|
def get_first_name(message: types.Message) -> str:
|
||||||
return message.from_user.first_name
|
first_name = html.escape(message.from_user.first_name)
|
||||||
|
return first_name
|
||||||
|
|
||||||
|
|
||||||
def get_text_message(post_text: str, first_name: str, username: str):
|
def get_text_message(post_text: str, first_name: str, username: str):
|
||||||
|
|||||||
Reference in New Issue
Block a user