Skip to content

monlor/md2telegram

Repository files navigation

Telegram Markdown Converter

将普通Markdown文本转换为Telegram兼容格式并通过机器人发送的Web应用。

功能特点

  • 🔄 Markdown转换: 使用 telegramify-markdown 库将标准Markdown转换为Telegram格式
  • 🔐 安全验证: 6位验证码机制,5分钟有效期
  • 🤖 Telegram机器人: 支持验证码验证和直接Markdown转换
  • 🌐 Web界面: 用户友好的Web应用
  • 📱 二维码支持: 快速访问机器人
  • 💾 内存缓存: 无需数据库,使用内存存储

快速开始

1. 环境配置

# 克隆项目
git clone <repository-url>
cd md2telegram

# 安装依赖
pip install -r requirements.txt

# 复制环境配置
cp .env.example .env

2. 配置Telegram机器人

  1. 在Telegram中联系 @BotFather
  2. 创建新机器人: /newbot
  3. 获取Bot Token
  4. .env 文件中设置:
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_BOT_USERNAME=your_bot_username

3. 运行应用

# 运行完整应用(Web服务器 + 机器人)
python main.py

# 仅运行Web服务器(开发模式)
python main.py web

# 仅运行Telegram机器人
python main.py bot

访问 http://localhost:8000 开始使用。

使用方法

方法一:Web界面 + 验证码

  1. 访问Web界面
  2. 粘贴Markdown内容
  3. 点击"转换并生成验证码"
  4. 扫描二维码或点击链接打开机器人
  5. 发送6位验证码给机器人
  6. 接收格式化后的内容

方法二:直接发送给机器人

  1. 直接与机器人对话
  2. 发送Markdown内容
  3. 立即收到转换后的格式化文本

项目结构

md2telegram/
├── src/
│   ├── bot/          # Telegram机器人
│   ├── web/          # Web应用
│   ├── converter/    # Markdown转换器
│   ├── cache/        # 内存缓存系统
│   └── utils/        # 工具模块
├── tests/            # 测试文件
├── templates/        # HTML模板
├── static/           # 静态文件
├── main.py          # 主启动脚本
└── requirements.txt # 依赖列表

配置选项

.env 文件中可配置:

# Telegram机器人
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_BOT_USERNAME=your_bot_username

# Web服务器
WEB_HOST=0.0.0.0
WEB_PORT=8000
DEBUG=false

# 缓存配置
VERIFICATION_CODE_EXPIRE_SECONDS=300

# 应用信息
APP_NAME=Telegram Markdown Converter
APP_VERSION=1.0.0

API接口

  • GET / - 主页面
  • POST /convert - 转换Markdown并生成验证码
  • GET /verify/{code} - 验证码状态查询
  • GET /bot-link/{code} - 生成机器人链接
  • GET /health - 健康检查

开发

运行测试

# 测试所有组件
python tests/test_converter.py
python tests/test_verification_code.py
python tests/test_memory_cache.py
python tests/test_bot_mock.py

开发模式

# Web服务器(自动重载)
DEBUG=true python main.py web

# 查看机器人日志
python main.py bot

技术栈

  • Web框架: FastAPI + Uvicorn
  • 机器人: python-telegram-bot
  • 转换引擎: telegramify-markdown
  • 前端: HTML + Bootstrap + JavaScript
  • 其他: qrcode, python-dotenv

许可证

MIT License

贡献

欢迎提交Issue和Pull Request!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors