返回新手指南

Telegram 机器人开发入门指南

从零开始学习 Telegram Bot 开发,了解 BotFather、API 接口、常用框架和实战案例。

阅读约 20 分钟
机器人开发API

Telegram 机器人开发入门指南

Telegram 机器人(Bot)是运行在 Telegram 平台上的自动化程序,可以处理消息、发送通知、提供服务等。本指南将带你从零开始学习机器人开发。

一、机器人基础概念

什么是 Telegram Bot

Telegram Bot 是一种特殊账号:

  • 没有 手机号,由 @BotFather 创建
  • 用户名以 bot 结尾
  • 只能被动接收消息(不能主动发起聊天)
  • 可以加入群组并提供服务

Bot 的应用场景

  • 自动回复客服
  • 信息推送通知
  • 搜索和查询服务
  • 游戏和娱乐
  • 工作流自动化

二、创建你的第一个机器人

1. 找到 BotFather

在 Telegram 中搜索 @BotFather,这是官方的机器人管理工具。

2. 创建新机器人

发送命令:

/newbot

按提示输入:

  1. 机器人显示名称
  2. 机器人用户名(必须以 bot 结尾)

3. 获取 Token

创建成功后,BotFather 会返回一个 Token,格式如:

1234567890:ABCdefGHIjklMNOpqrsTUVwxyz

⚠️ 注意:Token 相当于机器人的密码,切勿泄露!

三、Bot API 基础

API 端点

Telegram Bot API 使用 HTTPS 请求:

https://api.telegram.org/bot<token>/<method>

常用方法

方法说明
getMe获取机器人信息
getUpdates获取新消息
sendMessage发送消息
sendPhoto发送图片
editMessageText编辑消息

发送消息示例

curl "https://api.telegram.org/bot<token>/sendMessage" \
  -d "chat_id=<chat_id>" \
  -d "text=Hello World!"

四、开发框架推荐

Python

python-telegram-bot

from telegram import Update
from telegram.ext import Application, CommandHandler

async def hello(update: Update, context):
    await update.message.reply_text(f'Hello {update.effective_user.first_name}')

app = Application.builder().token("YOUR_TOKEN").build()
app.add_handler(CommandHandler("hello", hello))
app.run_polling()

Node.js

node-telegram-bot-api

const TelegramBot = require('node-telegram-bot-api');
const bot = new TelegramBot('YOUR_TOKEN', {polling: true});

bot.onText(/\/hello/, (msg) => {
    bot.sendMessage(msg.chat.id, `Hello ${msg.from.first_name}`);
});

五、进阶功能

内联键盘

from telegram import InlineKeyboardButton, InlineKeyboardMarkup

keyboard = [
    [InlineKeyboardButton("Option 1", callback_data='1')],
    [InlineKeyboardButton("Option 2", callback_data='2')],
]
reply_markup = InlineKeyboardMarkup(keyboard)
await update.message.reply_text('Choose:', reply_markup=reply_markup)

Webhook 模式

对于生产环境,建议使用 Webhook 替代轮询:

app.run_webhook(
    listen="0.0.0.0",
    port=8443,
    url_path="YOUR_TOKEN",
    webhook_url="https://your-domain.com/YOUR_TOKEN"
)

六、部署建议

  1. 使用 Webhook:更高效,节省资源
  2. HTTPS 证书:Let's Encrypt 免费证书
  3. 错误处理:记录日志,异常重试
  4. 速率限制:遵守 API 限制,避免被封

七、总结

开发 Telegram 机器人的关键步骤:

  1. 通过 @BotFather 创建机器人
  2. 获取并保管好 Token
  3. 选择合适的开发框架
  4. 实现核心功能
  5. 部署到服务器

开始你的机器人开发之旅吧!