Finally fixed media groups

This commit is contained in:
2024-02-13 23:08:29 +03:00
parent 02bd67e34a
commit d181e5ac33
9 changed files with 57 additions and 28 deletions

View File

@@ -1,6 +1,7 @@
from typing import List
from aiogram import types
import neuroapi.types as neuroTypes
from handlers.filters.new_post import NewPostFilter, NewSoloPostFilter
from neuroapi import neuroapi
@@ -9,13 +10,17 @@ from .handler import MessageHandlerABC
class NewPostCommand(MessageHandlerABC):
filter = NewPostFilter()
async def _command(self, message: types.Message):
created = await neuroapi.image.add(str(message.from_user.id), message.photo[-1].file_id, message.has_media_spoiler, message.message_id, message.caption if message.caption else '', message.media_group_id, message.caption_entities, message)
if created: await message.answer('Пост успешно добавлен!')
async def _command(self, message: types.Message, album: List[types.Message]):
sorted_album = sorted(album, key=lambda x: x.message_id)
if (not sorted_album[0].caption.startswith('/newpost ') if sorted_album[0].caption else True):
return
for mes in sorted_album:
await neuroapi.image.add(str(message.from_user.id), mes.photo[-1].file_id, mes.has_media_spoiler, mes.message_id, mes.caption if mes.caption else '', mes.media_group_id, mes.caption_entities, mes)
await message.answer(f'Пост успешно добавлен!')
class NewPostSoloCommand(MessageHandlerABC):
filter = NewSoloPostFilter()
async def _command(self, message: types.Message):
#FIXME: Починить добавление постов с одной картинкой, выводит ошибку на /info
await neuroapi.image.add(str(message.from_user.id), message.photo[-1].file_id, message.has_media_spoiler, message.message_id, message.caption, None, message.caption_entities)
await neuroapi.image.add(str(message.from_user.id), message.photo[-1].file_id, message.has_media_spoiler, message.message_id, message.caption, None, message.caption_entities, message)
await message.answer('Пост успешно добавлен!')

View File

@@ -14,7 +14,6 @@ class PostCommand(MessageHandlerABC):
settings = neuroTypes.BotSettings.get_instance()
try:
post = await neuroapi.post.get_post_to_post()
print(post)
if (post):
images = MediaGroupBuilder(
caption=post.text + '\n\nПредложка: @neur0w0men_reply_bot', caption_entities=post.message_entities)