refactor MediaGroup. Add database
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -4,6 +4,8 @@ import sys
|
||||
|
||||
from database.db import BotDB
|
||||
|
||||
current_dir = os.getcwd()
|
||||
|
||||
|
||||
class BaseDependencyFactory:
|
||||
def __init__(self):
|
||||
@@ -12,7 +14,7 @@ class BaseDependencyFactory:
|
||||
self.config = configparser.ConfigParser()
|
||||
self.config.read(config_path)
|
||||
self.settings = {}
|
||||
self.database = BotDB('database/tg-bot-database')
|
||||
self.database = BotDB(current_dir, 'database/tg-bot-database')
|
||||
|
||||
for section in self.config.sections():
|
||||
self.settings[section] = {}
|
||||
|
||||
@@ -85,28 +85,26 @@ async def prepare_media_group_from_middlewares(album, post_caption: str = ''):
|
||||
return media_group # Возвращаем MediaGroup
|
||||
|
||||
|
||||
async def add_in_db_media(sent_message, post_caption: str = ''):
|
||||
async def add_in_db_media(sent_message):
|
||||
"""
|
||||
Идентификатор медиа-группы
|
||||
|
||||
Args:
|
||||
sent_message: sent_message объект из Telegram API.
|
||||
post_caption: Текст подписи к первому фото.
|
||||
sent_message: sent_message объект из Telegram API
|
||||
|
||||
Returns:
|
||||
Список InputMediaPhoto.
|
||||
"""
|
||||
media_group_message_id = sent_message[0].message_id # Получаем идентификатор медиа-группы
|
||||
media_group_message_id = sent_message[-1].message_id # Получаем идентификатор медиа-группы
|
||||
for i, message in enumerate(sent_message):
|
||||
file_id = message.photo[-1].file_id
|
||||
file_path = await download_photo(message, file_id=file_id)
|
||||
if i == 0:
|
||||
BotDB.add_post_from_telegram_in_db(media_group_message_id, message.message_id, 0, file_path, post_caption)
|
||||
BotDB.add_post_content_in_db(media_group_message_id, message.message_id, file_path)
|
||||
elif i == len(sent_message) - 1:
|
||||
BotDB.add_post_from_telegram_in_db(media_group_message_id, message.message_id, 1, file_path, post_caption)
|
||||
BotDB.add_post_content_in_db(media_group_message_id, message.message_id, file_path)
|
||||
else:
|
||||
BotDB.add_post_from_telegram_in_db(media_group_message_id, message.message_id, 0, file_path, post_caption)
|
||||
return media_group_message_id
|
||||
BotDB.add_post_content_in_db(media_group_message_id, message.message_id, file_path)
|
||||
|
||||
|
||||
async def send_media_group_message_to_private_chat(chat_id: int, message: types.Message,
|
||||
@@ -115,7 +113,8 @@ async def send_media_group_message_to_private_chat(chat_id: int, message: types.
|
||||
chat_id=chat_id,
|
||||
media=media_group,
|
||||
)
|
||||
await add_in_db_media(sent_message, post_caption=sent_message[-1].caption)
|
||||
BotDB.add_post_in_db(sent_message[-1].message_id, sent_message[-1].caption, message.from_user.id)
|
||||
await add_in_db_media(sent_message)
|
||||
message_id = sent_message[-1].message_id
|
||||
return message_id
|
||||
|
||||
|
||||
Reference in New Issue
Block a user