AI 编程实战:用 Claude Code 从零开发 Telegram Bot——把大模型装进“手机遥控的 24/7 后台 Agent“(Channels 插件 + 自定义 Bot 双路线)
2026/9/13 23:12:52 网站建设 项目流程

引子:一个"口袋里"的 AI 工作台

想象一个场景:你在地铁上,给某个 Telegram bot 发一句"帮我盯一下服务器,内存超 80% 就告警",然后收起手机;回家打开电脑,一个 Claude Code 会话已经把日志整理好、写好了排查脚本等你验收。

这不是科幻——OpenClaw 早就证明了"后台 agent + 手机遥控"的形状[2];2026 年 9 月,Claude Code Channels 把这条路径变成了官方能力:Telegram 官方插件、持久记忆、/loop 定时任务、云端 Routine[1][2]。本文走两条路把它落地:路线 A(官方插件,开箱即用)与路线 B(用 Claude Code 从零开发自定义 Bot,代码完整可跑)。


一、为什么 IM Bot 是 AI 编程的新热门载体

1.1 从 OpenClaw 到官方 Channels

OpenClaw 证明了形状:一个在后台持续工作的 agent,通过 IM 随时接收指令。而 Claude Code 栈在 2026 年 9 月把这套东西全部官方化[1][2]:

1.2 IM Bot 的场景价值

场景

价值

服务器巡检

手机收告警,agent 自动跑脚本

定时日报

/loop 定时生成,VPS 关机也能跑(cloud Routines)

任务遥控

上下班路上给 Claude Code 派活

团队助手

群内共享 bot,统一入口

核心洞察:IM 是"低门槛入口 + 高可用通知"的最佳组合——agent 不需要 UI,它需要的是随时能叫醒它的通道[2]。


二、路线 A:Claude Code Channels 官方插件

2.1 第一步:BotFather 建 bot

打开 Telegram 找 @BotFather,/newbot,起名、拿 token——token 就是你的 bot 的钥匙,要像密码一样保管,绝不提交仓库[1][3]。

2.2 三步配置

# 在 Claude Code 会话内: # ① 安装官方 Telegram 插件 /plugin install telegram@claude-plugins-official # ② 配置 token(也可用环境变量 TELEGRAM_BOT_TOKEN) /telegram:configure 7123456789:AAH1bGciOiJSUzI1NiIsInR5cCI6Ikp... # 你的真实 token # ③ 完成:手机给 bot 发消息 = 远程给 Claude Code 下指令

2.3 能做什么

  • 给 Claude Code 派活(写代码、读文件、跑命令)

  • 配合/loop做定时任务;skills/ 目录持久记忆;cloud Routines 让 VPS 关机后仍触发[2]

路线 A 一句话零代码,三步,能力完整——适合个人自动化。


三、路线 B:用 Claude Code 从零开发自定义 Bot

以下对话流程为用 Claude Code 开发的示意(产物即telegram_agent_demo.py,已通过本地语法验证)。

3.1 开发对话实录(AI 编程的工作方式)

你:帮我用 python-telegram-bot 写一个 Telegram bot, 命令:/start /help /ask <问题> /status, 其中 /ask 调用 DeepSeek 兼容 API。代码要能直接跑。 Claude Code: ① 检查环境 → 确认 python-telegram-bot 版本 ② 生成 telegram_agent_demo.py(应用框架 + LLM 接入) ③ 给出运行说明(设置 BOT_TOKEN 环境变量)

3.2 完整代码:telegram_agent_demo.py

import os import requests from telegram import Update from telegram.ext import Application, CommandHandler, ContextTypes TOKEN = os.getenv("BOT_TOKEN", "") # @BotFather 获取 LLM_URL = os.getenv("LLM_URL", "https://api.deepseek.com/v1/chat/completions") LLM_KEY = os.getenv("LLM_KEY", "") LLM_MODEL = os.getenv("LLM_MODEL", "deepseek-chat") def ask_llm(prompt: str) -> str: """OpenAI 兼容端点:换 base_url + model 即可接 GLM/Qwen 等""" if not LLM_KEY: return f"[模拟] 未配置 LLM_KEY,收到问题:{prompt[:30]}……" resp = requests.post( LLM_URL, headers={"Authorization": f"Bearer {LLM_KEY}"}, json={ "model": LLM_MODEL, "messages": [ {"role": "system", "content": "你是网络与通信技术助手,回答要简洁、有依据。"}, {"role": "user", "content": prompt}, ], "max_tokens": 512, }, timeout=60, ) resp.raise_for_status() return resp.json()["choices"][0]["message"]["content"] async def start(update: Update, ctx: ContextTypes.DEFAULT_TYPE) -> None: await update.message.reply_text( "👋 我是 AI 编程开发的 Telegram Agent。\n" "/ask <问题> — 问 LLM\n/status — 状态\n/help — 帮助") async def ask(update: Update, ctx: ContextTypes.DEFAULT_TYPE) -> None: q = " ".join(ctx.args) if not q: await update.message.reply_text("用法:/ask <你的问题>"); return await update.message.reply_text("🤔 思考中……") try: ans = ask_llm(q) except Exception as e: ans = f"❌ LLM 调用失败:{e}" await update.message.reply_text(ans) async def status(update: Update, ctx: ContextTypes.DEFAULT_TYPE) -> None: await update.message.reply_text(f"🟢 运行中\n模型:{LLM_MODEL}\n端点:{LLM_URL.split('/')[2]}") def main() -> None: assert TOKEN, "请设置 BOT_TOKEN" app = Application.builder().token(TOKEN).build() app.add_handler(CommandHandler("start", start)) app.add_handler(CommandHandler("help", start)) app.add_handler(CommandHandler("ask", ask)) app.add_handler(CommandHandler("status", status)) app.run_polling() if __name__ == "__main__": main()

3.3 运行与接入

# 安装依赖 pip install python-telegram-bot requests # 运行(token 来自 @BotFather) BOT_TOKEN=你的token python3 telegram_agent_demo.py

接其他模型:DeepSeek/GLM 都提供 OpenAI 兼容端点——只需改LLM_URL(base_url)与LLM_MODEL,一行都不用动主逻辑。这就是"OpenAI 兼容"协议的红利[1]。


四、双路线对比

维度

路线 A(官方 Channels)

路线 B(自建 Bot)

开发量

零(三步配置)

几十行代码

能力

完整(工具/文件/记忆/定时)

自定义命令、任意逻辑

LLM

绑定 Claude 订阅

任意(DeepSeek/GLM/OpenAI)

适用

个人自动化

产品化 / 多用户 / 团队

可控性

黑盒(官方行为)

全可控(代码是你自己的)

怎么选:个人自动化、想要完整工具链 → A;要产品化、要换模型、要自定义命令 → B[1][2]。


五、生产化与安全

  • Token 是密码:用环境变量注入,echo "BOT_TOKEN=xxx" >> .env.gitignore.env——绝不提交仓库、不贴公开聊天[1][3]

  • 权限:自建 bot 加user_id白名单;官方插件在私有会话使用

  • 持久化:长任务用后台队列(Celery/Redis)或/loop定时;bot 进程用 systemd/pm2 守护


六、总结

三个关键结论

  1. IM Bot 是"后台 agent"最顺滑的入口:OpenClaw 证明形状,Claude Code Channels 官方化——2026 年 9 月起,个人 agent 有了标准脚手架[1][2];

  2. 两条路各有归属:官方 Channels 零代码、能力完整;自建 Bot 全可控、任意 LLM——个人用 A,产品用 B[1][3];

  3. AI 编程做 Bot 的本质:Claude Code 负责把"需求→代码→运行说明"一次做完,你负责设计边界(命令、权限、安全)——AI 写的是实现,你写的是产品[6]。

衔接生态:这个 bot 挂上 DeepSeek/GLM 就是个人 AI 助手,挂上 MCP 工具就是"口袋里的 OpenClaw"——从手机发出的一条消息,背后是一整个可编程的 agent 栈


参考资料

  • [1] Claude Code 官方文档:Channels(telegram 插件安装/配置/环境变量,2026-08-20)

  • [2] dplooy(2026-09-09):Build a 24/7 Claude Code Agent With Telegram Control

  • [3] LowCode Agency(2026-09-03):Claude Code Channels: Complete Setup Guide (Telegram & Discord)

  • [6] python-telegram-bot 官方文档(Application/CommandHandler/run_polling)

补充说明:①路线 B 代码telegram_agent_demo.py已通过python3 -m py_compilepython-telegram-bot 22.8环境验证(真跑需 BOT_TOKEN);②Channels 插件与订阅的绑定关系以 Anthropic 官方最新文档为准;③本文为技术教程,token 安全为开发者自身责任。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询