Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 1, 2021 12:05:08

xammlo
Зарегистрирован: 2021-11-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка "Media group must include 2-10 items"

Всем доброго времени суток!

При попытке отправить боту в телегу сообщение с фото или видео, выдает вот такую ошибку в консоле “Media group must include 2-10 items”.
И не отправляет их на модерацию в чат админов.
В чем может быть причина?

P.S. Вот код:

 @dp.message_handler(content_types=[ContentType.PHOTO], state=UserStates.all()[2])
async def advert_photo_input(message: types.Message):
print(message)
if 'photo' in adverts[message.from_user.id] and len(
adverts[message.from_user.id]['video'] + adverts[message.from_user.id]['photo']) < 10:
adverts[message.from_user.id]['photo'].append(message.photo[-1].file_id)
else:
adverts[message.from_user.id]['photo'] = [message.photo[-1].file_id]
print(adverts)

Прошу сильно не пинать, я начинающий!

Отредактировано FishHook (Ноя. 1, 2021 14:09:52)

Офлайн

#2 Ноя. 1, 2021 13:24:18

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1394
Репутация: +  124  -
Профиль   Отправить e-mail  

Ошибка "Media group must include 2-10 items"

код вставляйте в теги

 [code python]здесь код[/code]

Офлайн

#3 Ноя. 1, 2021 14:11:50

xammlo
Зарегистрирован: 2021-11-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка "Media group must include 2-10 items"

xam1816
код вставляйте в теги
Понял, исправлюсь

Офлайн

#4 Ноя. 1, 2021 14:12:20

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка "Media group must include 2-10 items"

я не знаю, что это за бот, но чисто логически, здесь список из одного элемента

 adverts[message.from_user.id]['photo'] = [message.photo[-1].file_id]
в то время как
“Media group must include 2-10 items”



Офлайн

#5 Ноя. 1, 2021 17:41:56

xammlo
Зарегистрирован: 2021-11-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка "Media group must include 2-10 items"


Вот полный код.
Кол-во текста, фото или видео никак не влияет, проверял в разных вариантах и количество менял.


  
@dp.message_handler(state=UserStates.ADVERT_TEXT)
async def advert_txt_input(message: types.Message):
    state = dp.current_state(user=message.from_user.id)
    await state.set_state(UserStates.all()[2])
    await message.answer(texts[7], reply_markup=keyboard_media)
    adverts[message.from_user.id] = {'text': message.text}
    print(adverts)
@dp.message_handler(content_types=[ContentType.PHOTO], state=UserStates.all()[2])
async def advert_photo_input(message: types.Message):
    print(message)
    if 'photo' in adverts[message.from_user.id] and len(
            adverts[message.from_user.id]['video'] + adverts[message.from_user.id]['photo']) < 10:
        adverts[message.from_user.id]['photo'].append(message.photo[ [code python]-1].file_id)
    else:
        adverts[message.from_user.id]['photo'] = [message.photo[-1].file_id]
    print(adverts)
@dp.message_handler(state=UserStates.all()[2], content_types=[ContentType.VIDEO])
async def advert_video_input(message: types.Message):
    print(message)
    if 'video' in adverts[message.from_user.id] and len(
            adverts[message.from_user.id]['video'] + adverts[message.from_user.id]['photo']) < 10:
        adverts[message.from_user.id]['video'].append(message.video.file_id)
    else:
        adverts[message.from_user.id]['video'] = [message.video.file_id]
    print(adverts)
@dp.message_handler(state=UserStates.all()[2])
async def advert_confirmation(message: types.Message):
    print(adverts[message.from_user.id])
    await message.answer(texts[8])
    print(adverts[message.from_user.id].keys)
    if ('photo' in adverts[message.from_user.id].keys()) or ('video' in adverts[message.from_user.id].keys()):
        media = types.MediaGroup()
        for id in adverts[message.from_user.id].get('photo', []):
            if len(media.media) == 0:
                media.attach_photo(id, adverts[message.from_user.id]['text'])
            else:
                media.attach_photo(id)
        for id in adverts[message.from_user.id].get('video', []):
            if len(media.media) == 0:
                media.attach_video(id, caption=adverts[message.from_user.id]['text'])
            else:
                media.attach_video(id)
        await bot.send_media_group(message.chat.id, media=media)
        adverts[message.from_user.id]['media'] = media
        await message.answer('ㅤ', reply_markup=confirmation_keyboard)
    else:
        await message.answer(adverts[message.from_user.id]['text'], reply_markup=confirmation_keyboard)
    state = dp.current_state(user=message.from_user.id)
    await state.set_state(UserStates.all()[4])
[/code] 

Офлайн

#6 Ноя. 2, 2021 22:45:18

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Ошибка "Media group must include 2-10 items"

xammlo
Вот полный код.
Можешь сначала начинать всё, а это всё можешь смело выбрасывать. Код уже дошёл до стадии говнокода, в котором ничего понять невозможно. И, как видишь, большие и информативные имена для переменных никак не помогают.
Из-за того, что это говнокод, ты и отладить его не можешь, потому что ошибка может быть где угодно. На то он и говнокод, чтобы в нём ошибки прятались, как мышки в лесу. Мышку грохнуть легко, только в лесу её хрен найдёшь.



Офлайн

#7 Ноя. 3, 2021 05:57:00

xammlo
Зарегистрирован: 2021-11-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка "Media group must include 2-10 items"

код писал не я(заказывал), вначале бот вроде работал, но потом перестал отправлять в админку.
исполнитель поправлял код 3 или 4 раза и потом вроде все заработало.
теперь приходится разбираться самому,навыков для написания с нуля нет к сожалению(
поэтому и прошу помощи в поиске ошибки.

Офлайн

#8 Ноя. 3, 2021 09:28:14

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1394
Репутация: +  124  -
Профиль   Отправить e-mail  

Ошибка "Media group must include 2-10 items"

xammlo
поэтому и прошу помощи в поиске ошибки.
Опишите что делает этот бот,т.е что отправляет пользователь и что должно приходить к вам в админку.

Офлайн

#9 Ноя. 3, 2021 09:44:26

xammlo
Зарегистрирован: 2021-11-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка "Media group must include 2-10 items"

xam1816
пользователь отправляет боту тескт+фото+видео по нажатию кнопки “отправить”, а бот в свою очередь отправляет в админку для проверки на нецензуру и.т.д
по факту ничего не происходит, только в консоль выкатывает вышеуказанную ошибку

Отредактировано xammlo (Ноя. 3, 2021 09:48:23)

Офлайн

#10 Ноя. 8, 2021 06:40:28

xammlo
Зарегистрирован: 2021-11-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка "Media group must include 2-10 items"

Есть у кого -нибудь мысли что подправить?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version