Задать вопрос
  • Как в Aiogram отправить MediaGroup на канал, зная его id?

    mmmenko
    @mmmenko Автор вопроса
    Начнём..
    Решилось корректировкой блока с отправкой media_group и удалением дублированных слэшей в media.attach_photo

    Итоговый вариант:

    from aiogram import Bot, Dispatcher, executor, types
    from aiogram.types import MediaGroup
    from os import listdir
    
    #id канала
    CHAT_ID = '-100000000000'
    
    #Папка, откуда бот берёт картинки на отправку
    DIR_PUSH_PIC = 'push_pic/' 
    
    #Получение списка картинок в папке
    push_pics = os.listdir(DIR_PUSH_PIC)
    
    #Запись имён картинок в переменные
    pic1 =(push_pics[0])
    pic2 =(push_pics[1])
    
    @dp.message_handler(commands=['media'])
    async def send_welcome(message: types.Message):
        await message.reply("Отправляю группу фото на канал")
    
        # Создание медиа группу
        media = MediaGroup()
    
        # Добавление фото в группу
        media.attach_photo(types.InputFile(f'{DIR_PUSH_PIC}{pic1}', 'rb'))
        media.attach_photo(types.InputFile(f'{DIR_PUSH_PIC}{pic2}', 'rb'))
    
        #Отправка медиа группы на канал
        await bot.send_media_group(chat_id=f'{CHAT_ID}' media=media) 
    
    if __name__ == '__main__':
        executor.start_polling(dp, skip_updates=True)
    Ответ написан