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

如何通过API在Telegram频道增删用户?能否用REST API执行相关操作?

Telegram频道API操作:用户增删与REST API可行性

一、频道用户的添加与删除操作

前置要求

  • 你必须是目标频道的管理员,且拥有「添加成员」「删除成员」的权限
  • 如果用Bot来操作,Bot必须被添加为频道管理员,且分配对应权限

1. 使用Telegram Bot API

Bot API是官方提供的最便捷的方式,所有操作都通过HTTP接口完成。

添加用户

调用addChatMember方法,参数说明:

  • chat_id: 频道标识,可用@频道用户名或数字ID
  • user_id: 目标用户的ID或用户名
  • forward_limit: 可选,控制是否转发频道历史给新用户,默认0(不转发)

Python示例(用python-telegram-bot库):

from telegram import Bot

bot = Bot(token="你的Bot令牌")
# 添加用户到频道
bot.add_chat_member(chat_id="@your_channel", user_id=123456789)

删除用户

用banChatMember方法——注意,这个方法默认是封禁用户,如果你只想移出不封禁,把until_date设为当前时间+1秒即可。

参数说明:

  • chat_id: 频道标识
  • user_id: 目标用户ID
  • until_date: 可选,封禁到期时间,设为当前时间+1秒就只会移出用户

Python示例:

import time
from telegram import Bot

bot = Bot(token="你的Bot令牌")
# 仅移出用户,不封禁
bot.ban_chat_member(
    chat_id="@your_channel",
    user_id=123456789,
    until_date=int(time.time()) + 1
)

2. 使用MTProto Core API

如果需要更底层的控制,比如批量操作,可以用MTProto API,推荐用现成的库(如Telethon、Pyrogram)来避免手动处理协议细节。

添加用户(Telethon示例)

from telethon import TelegramClient
from telethon.tl.functions.channels import InviteToChannelRequest

# 初始化客户端(需要提前获取API ID和Hash)
client = TelegramClient('session_file', api_id=你的API_ID, api_hash='你的API_HASH')
client.start()

async def add_channel_member():
    channel = await client.get_entity('@your_channel')
    await client(InviteToChannelRequest(channel=channel, users=['123456789']))

client.loop.run_until_complete(add_channel_member())

删除用户(Telethon示例)

from telethon import TelegramClient
from telethon.tl.functions.channels import KickFromChannelRequest

client = TelegramClient('session_file', api_id=你的API_ID, api_hash='你的API_HASH')
client.start()

async def remove_channel_member():
    channel = await client.get_entity('@your_channel')
    await client(KickFromChannelRequest(channel=channel, user_id=123456789))

client.loop.run_until_complete(remove_channel_member())

二、REST API完成频道操作的可行性

Telegram官方没有单独推出所谓的「REST API」,但Bot API本身就是HTTP-based的REST风格接口,完全可以通过标准REST请求来完成所有你需要的操作:

  • 发送消息:POST请求到https://api.telegram.org/bot<你的Bot令牌>/sendMessage,携带chat_id和text参数
  • 添加用户:POST请求到https://api.telegram.org/bot<你的Bot令牌>/addChatMember,携带chat_id和user_id参数
  • 删除用户:POST请求到https://api.telegram.org/bot<你的Bot令牌>/banChatMember,携带chat_id、user_id和until_date参数

这种方式是官方支持的,稳定且安全。至于第三方封装的REST服务,因为不受官方维护,存在数据泄露或服务中断的风险,不建议用于生产环境。

内容的提问来源于stack exchange,提问作者Sagar Gaikwad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:55:25