可直接用Grok官方API接入Telegram Bot实现自动回复AI能力:先申请X平台API密钥(需与Bot同主体账号),再创建Telegram Bot获取Token,配置HTTPS Webhook,最后用Python FastAPI或Node.js部署消息处理逻辑,并启用群组监听与ID白名单校验。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

想让Telegram群组具备自动回复AI能力,无需自己训练模型或部署服务器,直接用Grok官方API接入Telegram Bot实现智能应答。
注册X平台并获取Grok API密钥
访问 X平台API权限页面 → 登录账号 → 点击「Request API access」→ 选择「Academic Research」用途 → 填写研究描述(例如:用于Telegram群组内非商用AI问答测试)→ 提交申请。
审核通常需1~3个工作日,【必须使用与Telegram Bot同主体的X账号,否则后续调用会401报错】。通过后进入API Keys管理页,生成新Key,复制API Key、API Secret和Bearer Token三段值备用。
创建Telegram Bot并获取Token
在Telegram中搜索 @BotFather → 发送 /newbot → 按提示输入机器人名称(如GrokHelperBot)和用户名(必须以_bot结尾,如grokhelper_bot)→ 获取Bot Token。
这一步操作起来很简单,直接把Bot Token复制下来就行。注意别把Token发到群里或上传到GitHub,泄露会导致机器人被恶意控制。
配置Webhook接收消息
准备一个公网可访问的HTTPS服务端点(可用Cloudflare Pages + Workers、Vercel或阿里云函数计算),确保能接收POST请求且响应200状态码。
用curl命令向Telegram Bot API设置Webhook:
curl -F "url=https://your-domain.com/webhook" https://api.telegram.org/botYOUR_BOT_TOKEN/setWebhook
替换YOUR_BOT_TOKEN为上一步拿到的Token,替换https://your-domain.com/webhook为你的实际地址。返回{“ok”:true,…}即成功。如果返回false,检查域名是否支持HTTPS、证书是否有效、端口是否被拦截。
编写消息处理逻辑
方法一:用Python FastAPI快速启动
新建main.py,安装fastapi、uvicorn、httpx:pip install fastapi uvicorn httpx。
写入以下代码,将YOUR_BEARER_TOKEN替换为你从X平台拿到的Bearer Token:
from fastapi import FastAPI, Request<br>import httpx<br><br>app = FastAPI()<br><br>@app.post("/webhook")<br>async def handle_webhook(request: Request):<br> data = await request.json()<br> if "message" not in data:<br> return {"status": "ignored"}<br> text = data["message"].get("text", "")<br> chat_id = data["message"]["chat"]["id"]<br> if not text.startswith("/"): # 忽略命令,只处理普通消息<br> async with httpx.AsyncClient() as client:<br> resp = await client.post(<br> "https://api.x.ai/v1/chat/completions",<br> headers={"Authorization": "Bearer YOUR_BEARER_TOKEN"},<br> json={<br> "messages": [{"role": "user", "content": text}],<br> "model": "grok-beta"<br> }<br> )<br> reply = resp.json()["choices"][0]["message"]["content"]<br> await client.post(<br> f"https://api.telegram.org/botYOUR_BOT_TOKEN/sendMessage",<br> json={"chat_id": chat_id, "text": reply}<br> )<br> return {"status": "ok"}
方法二:用Node.js轻量部署(适合Vercel)
新建index.js,无需额外依赖,纯fetch调用:
export default async function handler(req, res) {<br> if (req.method !== 'POST') return res.status(405).end();<br> const body = await req.json();<br> if (!body.message || !body.message.text) return res.status(200).json({ok: true});<br> const text = body.message.text;<br> const chatId = body.message.chat.id;<br> const grokResp = await fetch('https://api.x.ai/v1/chat/completions', {<br> method: 'POST',<br> headers: {<br> 'Authorization': 'Bearer YOUR_BEARER_TOKEN',<br> 'Content-Type': 'application/json'<br> },<br> body: JSON.stringify({<br> messages: [{role: 'user', content: text}],<br> model: 'grok-beta'<br> })<br> });<br> const grokData = await grokResp.json();<br> const reply = grokData.choices?.[0]?.message?.content || 'AI暂未响应';<br> await fetch(`https://api.telegram.org/botYOUR_BOT_TOKEN/sendMessage`, {<br> method: 'POST',<br> headers: {'Content-Type': 'application/json'},<br> body: JSON.stringify({chat_id: chatId, text: reply})<br> });<br> res.status(200).json({ok: true});<br>}
启用群组监听并过滤消息来源
第一步:将Bot添加进目标Telegram群组 → 设置为管理员(至少需“删除消息”权限,否则无法读取群内消息)。
第二步:在BotFather中发送 /setprivacy → 选择你的Bot → 设为“Disabled”,否则Bot只能收到私聊和@提及,收不到群内全体消息。
第三步:修改代码逻辑,在接收到消息后增加群组ID白名单校验:
if data["message"]["chat"]["id"] not in [-1001234567890, -1002345678901]: return {"status": "ignored"}
群组ID是负数,可在群内让Bot发送 /id 获取,【务必确认ID前带负号,漏掉会导致所有消息被拒绝】。


















