Telegram bot, python Как переслать сообщение со всеми изображениями в нем
Помогите, пожалуйста. Знаю, что если в телеге отправить в одном сообщении несколько изображений, то каждое изображение будет считаться как отдельное сообщение (message.id). Методом forward_Message можно переслать только одно сообщение (message.id) и действительно руками в телеге если зажать на определенное изображение из сообщения, то перешлется только оно. Но если пальцем зажать (или щелкнуть мышкой, если с десктопа) на сообщении с несколькими изображениями на поле с текстом и нажать "Переслать сообщение", то пересылается весь контент с текстом одним сообщением. Есть ли способ сделать тоже самое и в коде? Или кодом данное действие не предусмотрено?
Ответы (1 шт):
Используйте MediaGroup для отправки галереи.
Пример:
from aiogram import Bot, Dispatcher, executor, filters, types
API_TOKEN = ''
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
@dp.message_handler(filters.CommandStart())
async def send_welcome(message: types.Message):
await types.ChatActions.upload_photo()
media = types.MediaGroup()
media.attach_photo(types.InputFile('photo1.png'), 'Фото 1')
media.attach_photo(types.InputFile('photo2.png'), 'Фото 2')
media.attach_photo(types.InputFile('photo3.png'), 'Фото 3')
media.attach_photo(types.InputFile('photo4.png'), 'Фото 4')
await message.reply_media_group(media=media)
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)