You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pyrogram中get_inline_bot_results函数offset参数含义及用法咨询

Pyrogram中get_inline_bot_results的offset参数解析

问题描述

无法理解Pyrogram框架中get_inline_bot_results函数的offset参数作用是什么,以及它接受哪些类型的值?尝试使用整数但没有效果,相关代码如下:

from pyrogram import Client, filters
import time


app = Client(
    "my_account",
    api_id=api_id, api_hash=api_hash,
)


async def main():
    async with app:
        bot_results = await app.get_inline_bot_results(
            "some_bot_name",
            query="some_query",
            offset="???"
        )


app.run(main())

解答

offset参数的作用

offset是用来实现分页获取内联机器人结果的标记。当内联机器人返回的结果数量较多时,不会一次性返回所有内容,只会返回第一页数据,同时在返回的结果对象中提供next_offset值。将这个next_offset作为下一次调用get_inline_bot_results的offset参数,就能获取后续分页的结果。

offset接受的值类型

它不支持整数,仅接受字符串类型的值。这个字符串值是由目标内联机器人生成并返回的,并非自定义的整数。首次调用时可以省略offset参数(或传入空字符串),获取第一页结果后,从返回的bot_results对象中提取next_offset字段,该字段就是下一页调用所需的offset值。

修正后的示例代码

from pyrogram import Client

app = Client(
    "my_account",
    api_id=api_id, api_hash=api_hash,
)

async def main():
    async with app:
        # 首次调用,无需传入offset
        bot_results = await app.get_inline_bot_results(
            "some_bot_name",
            query="some_query"
        )
        
        # 判断是否存在下一页结果
        if bot_results.next_offset:
            # 使用返回的next_offset获取下一页
            next_page_results = await app.get_inline_bot_results(
                "some_bot_name",
                query="some_query",
                offset=bot_results.next_offset
            )
            # 处理下一页数据
            print(next_page_results.results)

app.run(main())

内容的提问来源于stack exchange,提问作者Артём Липаткин

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:01:02