这是一个使用Fastify框架构建的Telegram机器人webhook服务。它允许你通过webhook接收和处理Telegram机器人的消息和命令。
- 接收和处理Telegram机器人的更新
- 支持命令处理(如
/start,/help,/echo) - 支持默认消息处理
- 使用环境变量进行配置
- Node.js (v14+)
- 一个Telegram机器人令牌(从 @BotFather 获取)
- 一个可公开访问的服务器或使用 ngrok 等工具进行本地开发
# 克隆仓库
git clone <repository-url>
cd fastify-telegram-bot
# 安装依赖
npm install
# 或者使用 pnpm
pnpm install- 复制
.env.example文件到.env:
cp .env.example .env- 编辑
.env文件,填入你的Telegram机器人令牌和webhook URL:
TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here
WEBHOOK_URL=https://your-domain.com/telegram/webhook
PORT=3000
HOST=0.0.0.0
# 启动开发服务器
npm run dev
# 或者使用 pnpm
pnpm dev# 构建项目
npm run build:ts
# 或者使用 pnpm
pnpm build:ts
# 启动服务器
npm start
# 或者使用 pnpm
pnpm start你可以使用Telegram Bot API手动设置webhook:
https://api.telegram.org/bot<your-bot-token>/setWebhook?url=<your-webhook-url>
或者,当服务启动时,它会自动设置webhook。
你可以在 src/plugins/telegram.ts 文件中添加或修改命令处理器:
// 添加新命令
telegramService.registerCommand('newcommand', async (msg) => {
return '这是一个新命令的响应!'
})MIT