Skip to content

Junzh666/fastify-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fastify Telegram Bot Webhook

这是一个使用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

配置

  1. 复制 .env.example 文件到 .env
cp .env.example .env
  1. 编辑 .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 Webhook

你可以使用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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published