Как боту группировать и пересылать фото?
Мне нужно, чтобы при пересылке комментария бот группировал фото и присылал мне с именем пользователя и комментом, а он шлёт каждое фото отдельно:
from telegram.ext import ApplicationBuilder, CommandHandler, MessageHandler, filters, ContextTypes
TOKEN =
YOUR_CHAT_ID =
EXCKUB_USER_IDS =
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text('Бот запущен!')
async def forward_and_delete_comment(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
# Получаем инфу о пользователе
user = update.message.from_user
user_info = f"Пользователь: {user.first_name} {user.last_name} (@{user.username})"
# Проверка наличия пользователя в списке исключений
if user.id in EXCKUB_USER_IDS:
return
# Провека фоткрафии в сообщении
if update.message.photo:
# Если фотографии присутствуют, формируем список объектов InputMediaPhoto с одной фотографией
media = [InputMediaPhoto(media=update.message.photo[-1].file_id, caption=f"{user_info}\n\n{update.message.caption}")]
# Пересылаем фотографию с текстом комментария и информацией о пользователе
await context.bot.send_media_group(chat_id=YOUR_CHAT_ID, media=media)
else:
# Если фотографии нет, просто пересылаем текст сообщения с информацией о пользователе
await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"{user_info}\n\n{update.message.text}")
# Удаляем комментарий
await context.bot.delete_message(chat_id=update.message.chat_id, message_id=update.message.message_id)
def main() -> None:
app = ApplicationBuilder().token(TOKEN).build()
# Обработка текстовых сообщений и сообщений с фотографиями, а также команды /start
app.add_handler(MessageHandler(filters.TEXT | filters.PHOTO, forward_and_delete_comment))
app.add_handler(CommandHandler('start', start))
app.run_polling()
if __name__ == '__main__':
main()
А при использовании InputMediaPhoto
с несколькими фото, а не с одной как в коде на данный момент, если пользователь прислал, например 3 фотографии, он пришлёт 3 сообщения с этими фотографиями по 4 сгруппированных копии (пример выше) вместо того, чтобы сгруппировать эти 3 фотографии в одном сообщении вместе с комментарием и именем пользователя.
Подскажите пожалуйста что можно сделать?