Задать вопрос

Почему Telegram возвращает media: messageMediaUnsupported для одного из сообщений с опросами?

Хочу спарсить несколько опросов в открытой группе. Использую JS клиент gram.js v.2.26.21
Четыре сообщения в группе, почти подряд, содержат каждое по опросу с 10 вариантами ответов, можно выбирать несколько.

В оф. десктопном клиенте я скачал в JSON историю сообщений этой группы, где нашёл id сообщений с poll'ами.

Написал нехитрый парсер, который берёт сообщение по id через channels.getMessages; в объекте сообщения Message в поле media находится messageMediaPoll, откуда беру текст вопроса и тексты вариантов ответа. Ещё один запрос к messages.getPollResults возвращает детали голосования всех проголосовавших.

Всё бы хорошо, но в одном из 4 сообщений в поле media вместо опроса лежит messageMediaUnsupported

Сервер Телеграм почему-то решил, что версия клиента, с которой мой NodeJS скрипт коннектится, устарела и не поддерживает опрос? И только на одном сообщении?

Как быть, что я делаю не так?

Мало нашлось похожих проблем. Вот один issue, с чем-то похожим, там вылечилось обновлением schema. Меня сбивает с толку то, что только у 1 из 4 сообщений такой эффект.

Причём, метод messages.getPollResults из этого же сообщения нормально получает все голоса. Проблема только с общими данными опроса.
  • Вопрос задан
  • 31 просмотр
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • GB (GeekBrains)
    Интернет-маркетолог
    12 месяцев
    Далее
  • Яндекс Практикум
    SMM-продвижение в Телеграме
    1 месяц
    Далее
  • Skillbox
    Профессия Интернет-маркетолог
    12 месяцев
    Далее
Решения вопроса 1
sergiks
@sergiks Автор вопроса
♬♬
Похоже, этот баг именно gramJS.
Poll с 10 вариантами ответа – messageMediaPoll.
Poll с 11 вариантами ответа – messageMediaUnsupported.

Причем, Telethon на Python нормально получает оба этих опроса, а gramJS ломается.

Тикет отправил им.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы