Telegram 机器人开发入门指南
Telegram 机器人(Bot)是运行在 Telegram 平台上的自动化程序,可以处理消息、发送通知、提供服务等。本指南将带你从零开始学习机器人开发。
一、机器人基础概念
什么是 Telegram Bot
Telegram Bot 是一种特殊账号:
- 没有 手机号,由 @BotFather 创建
- 用户名以
bot结尾 - 只能被动接收消息(不能主动发起聊天)
- 可以加入群组并提供服务
Bot 的应用场景
- 自动回复客服
- 信息推送通知
- 搜索和查询服务
- 游戏和娱乐
- 工作流自动化
二、创建你的第一个机器人
1. 找到 BotFather
在 Telegram 中搜索 @BotFather,这是官方的机器人管理工具。
2. 创建新机器人
发送命令:
/newbot
按提示输入:
- 机器人显示名称
- 机器人用户名(必须以
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"
)
六、部署建议
- 使用 Webhook:更高效,节省资源
- HTTPS 证书:Let's Encrypt 免费证书
- 错误处理:记录日志,异常重试
- 速率限制:遵守 API 限制,避免被封
七、总结
开发 Telegram 机器人的关键步骤:
- 通过 @BotFather 创建机器人
- 获取并保管好 Token
- 选择合适的开发框架
- 实现核心功能
- 部署到服务器
开始你的机器人开发之旅吧!