Skip to content

q275343119/msg_webhook_to_telegram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Webhook 服务

简体中文 | English

这是一个基于 FastAPI 的 Webhook 服务,用于接收 HTTP 请求并将消息转发到 Telegram。该服务提供了安全的 API 接口,支持通过 webhook 方式发送消息到指定的 Telegram 用户。

功能特点

  • 基于 FastAPI 构建,提供高性能的异步 API
  • 支持安全密钥验证,确保 API 调用的安全性
  • 简单易用的 RESTful API 接口
  • 可配置的服务器端口
  • 完善的错误处理机制

环境要求

  • Python 3.8+
  • Poetry 包管理器

安装步骤

  1. 克隆项目到本地:
git clone https://github.com/q275343119/msg_webhook_to_telegram.git
cd msg_webhook_to_telegram
  1. 安装 Poetry(如果尚未安装):
# Windows (PowerShell)
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -

# Linux/macOS
curl -sSL https://install.python-poetry.org | python3 -
  1. 安装项目依赖:
poetry install
  1. 配置环境变量:
    • 复制 .env.example 文件为 .env
    • 编辑 .env 文件,填入必要的配置信息:
      TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here
      SECRET_KEY=your_secret_key_here
      PORT=8000
      

配置说明

环境变量

  • TELEGRAM_BOT_TOKEN: Telegram Bot 的 token,从 @BotFather 获取
  • SECRET_KEY: Webhook 请求的安全密钥,用于验证请求的合法性
  • PORT: 服务运行的端口号,默认为 8000

获取 Telegram Bot Token

  1. 在 Telegram 中搜索并联系 @BotFather
  2. 发送 /newbot 命令
  3. 按照提示设置机器人名称和用户名
  4. 获取并保存生成的 token

使用方法

  1. 启动服务:
poetry run python main.py
  1. 发送消息到指定用户:
curl -X POST "http://localhost:8000/webhook" \
     -H "Content-Type: application/json" \
     -d '{
           "secret_key": "your_secret_key",
           "msg": "Hello, World!",
           "user_id": "123456789"
         }'

API 接口说明

  • 接口地址: /webhook
  • 请求方法: POST
  • 请求体:
    {
      "secret_key": "string",  // 安全密钥
      "msg": "string",        // 要发送的消息内容
      "user_id": "string"     // Telegram 用户 ID
    }
  • 响应:
    {
      "status": "success",
      "message": "Message sent successfully"
    }

错误处理

服务会返回以下可能的错误状态码:

  • 403: 无效的安全密钥
  • 500: 服务器内部错误(如发送消息失败)

安全建议

  1. 使用足够复杂的安全密钥(SECRET_KEY)
  2. 确保 .env 文件不被提交到版本控制系统
  3. 在生产环境中使用 HTTPS
  4. 定期更换安全密钥

许可证

本项目采用 MIT 许可证,详情请参见 LICENSE 文件。

About

send msg to telegram

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages