首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得所有注册到BotFather的机器人的列表?

如何获得所有注册到BotFather的机器人的列表?
EN

Stack Overflow用户
提问于 2020-06-05 14:04:20
回答 1查看 215关注 0票数 1

我的任务是获取所有用户机器人的列表,通过API在电报客户端进行授权。我在文档中查找了特定的方法,但没有找到。有人能告诉我这是怎么做的吗?这是可能的吗?

EN

回答 1

Stack Overflow用户

发布于 2020-06-05 19:16:49

不幸的是,我不认为有一个直接的API可以解决这个问题。但是可以考虑自动化与BotFather的交互,以编程方式收集列表。

以下是Telethon中的示例脚本

代码语言:javascript
复制
from telethon import TelegramClient, events

API_ID = ...
API_HASH = "..."

client = TelegramClient('session', api_id=API_ID, api_hash=API_HASH)

bots_list = []

@client.on(events.MessageEdited(chats="botfather"))
@client.on(events.NewMessage(chats="botfather"))
async def message_handler(event):
    if 'Choose a bot from the list below:' in event.message.message:
        last_page = True
        for row in event.buttons:
            for button in row:
                if button.text == '»':
                    last_page = False
                    await button.click()
                elif button.text != '«':
                    bots_list.append(button.text)

        if last_page:
            print(bots_list)
            await client.disconnect()
            exit(0)

async def main():
    await client.send_message('botfather', '/mybots')

with client:
    client.loop.run_until_complete(main())
    client.run_until_disconnected()

一个简单的运行将会打印所有的bot:

代码语言:javascript
复制
['@xxxxxBot', '@xxxxxBot', … ]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62209102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档