telebot (pyTelegramBotAPI) answer_inline_query offset некорректно работает на ios

Написал небольшого бота телеграмм, который умеет предоставлять информацию из csv файла пользователю. Язык - python Библиотека - pyTelegramBotAPI

Для отображение информации использую bot.answer_inline_query.

На Windows ПК и на Android Телефоне отображение информации происходит корректно, а именно порциями. Т.е. пользователю предоставляется 1 порция данных, когда долистал 2 и т.д. пока данные не кончились. Столкнулся с неприятной проблемой: На ios отображается только первая порция данных и все. next_offset приходят от телеграмма и бот отправляет ответы, но сами ответы в ios не видно.

Вот кусок кода, в котором происходит отображение результата клиенту

def forming_results_array (query,type,is_info):
try:
            offset = int(query.offset) if query.offset else 0
            chat_id = query.from_user.id
            csv_puth = config_bot.dir_base
            if csv_puth == 0:
                bot.send_message (chat_id, "К сожалению каталог пуст")
                return
            f_obj = open(csv_puth, encoding='Windows-1251')
            reader = csv.DictReader(f_obj, delimiter=';')
            i = 0
            number_line = 0
            results_array = []
            for line in reader:
                number_line = number_line + 1
                if str (line["category"]) == str (query.query[10:len (query.query)]) and i < 11 and number_line > int(offset) and str (line["status"]) == "1":
                    i = i + 1
                    if is_info ==1:
                        info = str (line["info"])
                    else:
                        info = ""
                    markup = keyboard.keyboard_P()
                    results_array.append (types.InlineQueryResultArticle(
                    id=i, title=line["name"],
                    description = "Описание",
                    reply_markup = markup,
                    thumb_url = line["link_prewies"],
                    thumb_width=100, thumb_height=100,
                    input_message_content=types.InputTextMessageContent(message_text = "Какой то текст",disable_web_page_preview = False)
                                                                        )
                                                                        )
                if i >= 11:
                    break
            f_obj.close()
            if len (results_array) < 11:
                results_array.append (types.InlineQueryResultArticle(
                    id=-999, title="Вернуться к " + config_bot.catalog,
                    thumb_url = config_bot.prewie_catalog,
                    thumb_width=100, thumb_height=100,
                    input_message_content=types.InputTextMessageContent(message_text = config_bot.catalog)
                                                                        )
                                          )
                results_array.append (types.InlineQueryResultArticle(
                    id=-998, title=config_bot.general_menu,
                    thumb_url = config_bot.prewie_general_menu,
                    thumb_width=100, thumb_height=100,
                    input_message_content=types.InputTextMessageContent(message_text = config_bot.general_menu)
                                                                        )
                                          )
                m_next_offset = ""
            else:
                m_next_offset = str(number_line)
            return results_array, m_next_offset
except:
    print ("Ooops")
def model_list_view (query,type):
    try:
        results_array,m_next_offset = forming_results_array (query,type,1)
        print (str (datetime.datetime.now()) + "  Offset"+str (m_next_offset))           
bot.answer_inline_query(query.id,results_array,next_offset=m_next_offset,cache_time=config_bot.cache_time_catalog)
    except:
        print ("Oooops")

print (str (datetime.datetime.now()) + " Offset"+str (m_next_offset)) - Отладочный print. Результаты на скрине введите сюда описание изображения

Прошу подсказать в каком направлении можно покопать. Как видно из кода я не являюсь опытным разработчиком, скорее энтузиастом. Причины проблемы самостоятельно найти не смог.


Ответы (0 шт):