Skip to main content
Telegram 机器人大概是把大模型交到用户手里最快的方式:不用做网站,也不用做 App,打开聊天框直接输入就行。下面是从空文件夹到一个可用机器人的完整流程——它用你的 RuAPI 密钥,通过 Claude 或 GPT 来回复。代码不多,可以整段复制。 我们使用 RuAPI 的 OpenAI 兼容协议:只换 base_url,同一个 openai SDK 就能调用 Claude、GPT、Gemini 和 DeepSeek。
1

准备工作

  • RuAPI 密钥 —— sk-...。在控制台创建:「令牌」「创建令牌」。余额用 USDT 充值,见充值
  • Python 3.10+ —— 用 python --version 检查。
  • Telegram 机器人 token —— 下一步获取。
2

在 Telegram 里创建机器人

在 Telegram 中打开 @BotFather,发送 /newbot。BotFather 会询问机器人的名称和用户名(必须以 bot 结尾),然后回复一个 HTTP API token——形如 123456789:AAH... 的字符串。把它复制下来,后面要用。
机器人 token 相当于密码。不要把它写进代码、仓库或截图里。如果不小心泄露了, 给 BotFather 发 /revoke 重新生成。
3

安装依赖

python-telegram-bot 21+ 是一个异步的 Telegram 框架。openai 是我们要指向 RuAPI 的客户端。
4

编写机器人

创建文件 bot.py。这是一个可直接运行的最小机器人:每收到一条文本消息,就把内容发给模型,并用模型的回复作答。
bot.py
示例用的模型是 claude-opus-4-8。同一个密钥还能调用其他模型:gpt-5.4gemini-3.5-flashdeepseek-v4-pro 等等。准确的名称见主站**「定价」**页面。
5

运行

通过环境变量传入两个 token,然后运行脚本:
机器人会安静地启动并开始监听消息(run_polling 会轮询 Telegram)。在 Telegram 里按用户名找到机器人,随便发点什么,它就会通过大模型回复。按 Ctrl+C 停止。
6

进阶改进

最小版机器人没有记忆,每条消息都是从头作答。几个可以拓展的方向:
  • 对话历史。chat_id 保存消息历史(例如存进 context.chat_data),把整个列表传给 messages=[...],机器人就能记住之前的对话。
  • 系统提示词。 在首位加上 {"role": "system", "content": "你是一个友好的助手……"},用来设定语气和角色。
  • /start 命令。 加一个带欢迎语的 CommandHandler("start", ...),让机器人更友好。
  • 切换模型。 修改 model 字段即可切到 GPT 或 Gemini。
  • 高并发更省钱。 消息量大时,换成更实惠的模型——gemini-3.5-flashdeepseek-v4-pro。聊天场景下效果很好,余额消耗明显更低。
  • 流式回复。 长回答让用户干等很难受,改用流式输出逐段发回去,机器人会显得更灵敏。

出问题了怎么办

检查机器人 token 是否完整复制、有没有多余空格,以及脚本是否真在运行 (run_polling 应处于工作状态,终端窗口没关闭)。确认你发消息的正是在 BotFather 创建的那个机器人。报错会打印在终端里,去那里看。
问题出在 RuAPI 密钥上,而不是机器人 token。检查 RUAPI_KEY——它应以 sk- 开头。可以在控制台**「令牌」**页面查看密钥。
余额用完了。用 USDT 充值,见充值

下一步