将普通Markdown文本转换为Telegram兼容格式并通过机器人发送的Web应用。
- 🔄 Markdown转换: 使用 telegramify-markdown 库将标准Markdown转换为Telegram格式
- 🔐 安全验证: 6位验证码机制,5分钟有效期
- 🤖 Telegram机器人: 支持验证码验证和直接Markdown转换
- 🌐 Web界面: 用户友好的Web应用
- 📱 二维码支持: 快速访问机器人
- 💾 内存缓存: 无需数据库,使用内存存储
# 克隆项目
git clone <repository-url>
cd md2telegram
# 安装依赖
pip install -r requirements.txt
# 复制环境配置
cp .env.example .env- 在Telegram中联系 @BotFather
- 创建新机器人:
/newbot - 获取Bot Token
- 在
.env文件中设置:
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_BOT_USERNAME=your_bot_username# 运行完整应用(Web服务器 + 机器人)
python main.py
# 仅运行Web服务器(开发模式)
python main.py web
# 仅运行Telegram机器人
python main.py bot访问 http://localhost:8000 开始使用。
- 访问Web界面
- 粘贴Markdown内容
- 点击"转换并生成验证码"
- 扫描二维码或点击链接打开机器人
- 发送6位验证码给机器人
- 接收格式化后的内容
- 直接与机器人对话
- 发送Markdown内容
- 立即收到转换后的格式化文本
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.0GET /- 主页面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!