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

如何用Python Telebot实现管理员Bot获取Telegram频道成员列表?

使用telebot获取Telegram频道所有成员的解决方案

首先明确:Telegram Bot API本身没有提供一次性获取频道所有成员的接口,因为频道成员规模可能极大,官方仅支持分页获取成员列表,且Bot必须拥有频道管理员权限并开启「查看成员」权限。

实现步骤

  1. 确认Bot权限
    确保你的Bot已被添加为频道管理员,并且在权限设置中勾选了「查看成员」选项。

  2. 获取成员总数(可选)
    先通过get_chat_members_count方法获取频道成员总数,方便后续分页逻辑:

    import telebot
    
    bot = telebot.TeleBot("你的Bot令牌")
    chat_id = "@你的频道用户名"  # 或频道的数字ID
    
    member_count = bot.get_chat_members_count(chat_id)
    print(f"频道总成员数:{member_count}")
    
  3. 分页循环获取所有成员
    telebot库未直接封装getChatMembers接口,但可以通过bot.api.request调用底层Telegram API,循环分页获取所有成员:

    def get_all_channel_members(chat_id):
        all_members = []
        offset = 0
        limit = 100  # 每次最多获取100个成员,API限制最大值为100
    
        while True:
            # 调用底层API获取分页成员
            response = bot.api.request(
                'getChatMembers',
                {'chat_id': chat_id, 'offset': offset, 'limit': limit}
            )
    
            members_page = response['result']
            if not members_page:
                break  # 无更多成员,终止循环
    
            all_members.extend(members_page)
            offset += limit
            # 可选:添加延时避免触发API限流
            # import time
            # time.sleep(1)
    
        return all_members
    
    # 调用方法并输出成员信息
    all_members = get_all_channel_members(chat_id)
    for member in all_members:
        user_info = member['user']
        print(
            f"用户ID: {user_info['id']}, "
            f"用户名: {user_info.get('username', '无')}, "
            f"昵称: {user_info.get('first_name', '')} {user_info.get('last_name', '')}"
        )
    

注意事项

  • API限流:Telegram对getChatMembers的调用频率有严格限制,成员数量较多时建议添加延时,避免Bot被暂时封禁。
  • 隐私限制:私有频道必须确保Bot是管理员才能获取成员;公开频道同样需要Bot具备管理员权限才能通过API拉取成员列表。
  • 库版本:确保使用最新版的pyTelegramBotAPI(可通过pip install --upgrade pyTelegramBotAPI更新),避免API调用兼容问题。

内容的提问来源于stack exchange,提问作者Dossier Telegram

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 06:47:24