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

如何通过Telegram Bot添加用户?求替代方案及客户端示例

Telegram Bot 添加用户的替代方案与客户端实现示例

可行的替代方案

  • 基于MTProto协议的客户端模拟:标准Telegram Bot API受权限限制,无法主动添加用户,但借助Telegram底层的MTProto协议,可模拟普通用户客户端的行为完成好友添加。这种方式需要使用个人账号的api_id和api_hash(而非Bot Token),操作时需注意避免触发反垃圾机制,频繁批量添加可能导致账号受限。
  • 引导用户主动互动:如果无需主动发起添加,可设计Bot引导用户发送消息、点击专属链接或触发对话,此时Bot能通过API获取用户ID,进而完成后续的群组邀请、消息推送等操作,这是符合官方规则的合法路径。
  • 利用群组/频道邀请机制:若目标是让用户加入特定群组或频道,可生成专属邀请链接,Bot将链接发送给目标联系人(需Bot能获取到联系人信息),引导对方主动点击加入,绕开主动添加好友的限制。

客户端实现示例(Python + Telethon)

Telethon是常用的MTProto协议Python库,以下是实现添加用户的示例代码:

安装依赖

pip install telethon

实现代码

from telethon import TelegramClient
from telethon.tl.functions.contacts import AddContactRequest
from telethon.tl.types import InputPhoneContact

# 替换为你的个人账号信息
api_id = 123456  # 从Telegram官方开发者平台获取
api_hash = "your_api_hash_here"
phone_number = "+1234567890"

# 初始化客户端会话
client = TelegramClient("add_contact_session", api_id, api_hash)

async def add_target_contact(target_phone, first_name, last_name):
    # 构造联系人对象
    input_contact = InputPhoneContact(
        client_id=0,
        phone=target_phone,
        first_name=first_name,
        last_name=last_name
    )
    # 发送添加好友请求
    result = await client(AddContactRequest(contacts=[input_contact]))
    print(f"添加请求结果: {result}")

async def main():
    # 登录客户端(首次需输入验证码)
    await client.start(phone_number)
    # 替换为目标用户的手机号和姓名
    await add_target_contact("+0987654321", "测试", "用户")
    await client.disconnect()

if __name__ == "__main__":
    import asyncio
    asyncio.run(main())

注意事项

  • 需先在Telegram官方开发者平台注册账号,获取api_id和api_hash
  • 首次运行会要求输入验证码,验证后生成会话文件,后续运行无需重复验证
  • 避免批量频繁操作,防止触发Telegram的账号限制机制

内容的提问来源于stack exchange,提问作者J.Fore

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 16:01:00