some fix
This commit is contained in:
Binary file not shown.
@@ -27,17 +27,14 @@ def get_text_message(post_text: str, first_name: str, username: str):
|
||||
Returns:
|
||||
Кортеж из двух элементов:
|
||||
- Сформированный текст сообщения.
|
||||
- Флаг, указывающий, является ли пост анонимным (True - анонимный, False - не анонимный).
|
||||
- Флаг, указывающий, является ли пост анонимным (True - анонимный, False - не анонимный)
|
||||
"""
|
||||
if "неанон" in post_text or "не анон" in post_text:
|
||||
is_anonymous = False
|
||||
return f'Пост из ТГ:\n{post_text}\n\nАвтор поста: {first_name} @{username}', is_anonymous
|
||||
return f'Пост из ТГ:\n{post_text}\n\nАвтор поста: {first_name} @{username}'
|
||||
elif "анон" in post_text:
|
||||
is_anonymous = True
|
||||
return f'Пост из ТГ:\n{post_text}\n\nПост опубликован анонимно', is_anonymous
|
||||
return f'Пост из ТГ:\n{post_text}\n\nПост опубликован анонимно'
|
||||
else:
|
||||
is_anonymous = False
|
||||
return f'Пост из ТГ:\n{post_text}\n\nАвтор поста: {first_name} @{username}', is_anonymous
|
||||
return f'Пост из ТГ:\n{post_text}\n\nАвтор поста: {first_name} @{username}'
|
||||
|
||||
|
||||
async def download_photo(message: types.Message, file_id: str):
|
||||
@@ -46,11 +43,11 @@ async def download_photo(message: types.Message, file_id: str):
|
||||
|
||||
Args:
|
||||
message: сообщение
|
||||
file_id: File ID фотографии.
|
||||
filename: Имя файла, под которым будет сохранено фото.
|
||||
file_id: File ID фотографии
|
||||
filename: Имя файла, под которым будет сохранено фото
|
||||
|
||||
Returns:
|
||||
Путь к сохраненному файлу, если файл был скачан успешно, иначе None.
|
||||
Путь к сохраненному файлу, если файл был скачан успешно, иначе None
|
||||
"""
|
||||
try:
|
||||
file = await message.bot.get_file(file_id)
|
||||
@@ -62,29 +59,30 @@ async def download_photo(message: types.Message, file_id: str):
|
||||
return None
|
||||
|
||||
|
||||
async def process_photo_album(album, post_caption: str = ''):
|
||||
async def prepare_media_group_from_middlewares(album, post_caption: str = ''):
|
||||
"""
|
||||
Создает список InputMediaPhoto для альбома.
|
||||
Создает MediaGroup.
|
||||
|
||||
Args:
|
||||
album: Album объект из Telegram API.
|
||||
post_caption: Текст подписи к первому фото.
|
||||
|
||||
Returns:
|
||||
Список InputMediaPhoto.
|
||||
Список InputMediaPhoto (MediaGroup).
|
||||
"""
|
||||
photo_media = []
|
||||
#Циклом проходимся по собранному миддлварью объекту album
|
||||
media_group = []
|
||||
# Циклом проходимся по собранному миддлварью объекту album
|
||||
|
||||
for i, message in enumerate(album):
|
||||
file_id = message.photo[-1].file_id
|
||||
file_path = await download_photo(message, file_id=file_id)
|
||||
|
||||
# Если это последняя фото в массиве, то добавляем подпись. Остальные фото просто преобразуем в InputMediaPhoto
|
||||
# и формируем объект MediaGroup
|
||||
if i == len(album) - 1:
|
||||
photo_media.append(InputMediaPhoto(media=message.photo[-1].file_id, caption=post_caption))
|
||||
media_group.append(InputMediaPhoto(media=file_id, caption=post_caption))
|
||||
else:
|
||||
photo_media.append(InputMediaPhoto(media=message.photo[-1].file_id))
|
||||
return photo_media # Возвращаем идентификатор медиа-группы
|
||||
media_group.append(InputMediaPhoto(media=file_id))
|
||||
return media_group # Возвращаем MediaGroup
|
||||
|
||||
|
||||
async def add_in_db_media(sent_message, post_caption: str = ''):
|
||||
@@ -111,7 +109,8 @@ async def add_in_db_media(sent_message, post_caption: str = ''):
|
||||
return media_group_message_id
|
||||
|
||||
|
||||
async def send_media_group_message(chat_id: int, message: types.Message, media_group: list[InputMediaPhoto]):
|
||||
async def send_media_group_message_to_private_chat(chat_id: int, message: types.Message,
|
||||
media_group: list[InputMediaPhoto]):
|
||||
sent_message = await message.bot.send_media_group(
|
||||
chat_id=chat_id,
|
||||
media=media_group,
|
||||
@@ -121,7 +120,7 @@ async def send_media_group_message(chat_id: int, message: types.Message, media_g
|
||||
return message_id
|
||||
|
||||
|
||||
async def send_media_group_with_caption(bot, chat_id: int, post_content: list[tuple[str]], post_text: str):
|
||||
async def send_media_group_to_channel(bot, chat_id: int, post_content: list[tuple[str]], post_text: str):
|
||||
"""
|
||||
Отправляет медиа-группу с подписью к последнему файлу.
|
||||
|
||||
@@ -165,7 +164,8 @@ async def send_text_message(chat_id, message: types.Message, post_text: str, mar
|
||||
return message_id
|
||||
|
||||
|
||||
async def send_photo_message(chat_id, message: types.Message, photo: str, post_text: str, markup: types.ReplyKeyboardMarkup = None):
|
||||
async def send_photo_message(chat_id, message: types.Message, photo: str, post_text: str,
|
||||
markup: types.ReplyKeyboardMarkup = None):
|
||||
if markup is None:
|
||||
await message.bot.send_photo(
|
||||
chat_id=chat_id,
|
||||
@@ -271,4 +271,4 @@ def unban_notifier(self):
|
||||
message += f"ID: {user_id}, Имя: {user_name}\n"
|
||||
|
||||
# Отправка сообщения в канал
|
||||
self.bot.send_message(self.GROUP_FOR_MESSAGE, message)
|
||||
self.bot.send_message(self.GROUP_FOR_MESSAGE, message)
|
||||
|
||||
Reference in New Issue
Block a user