TelePost
语言 / Language: 中文 · English
Telegram 频道投稿、审核与发布服务。
TelePost 是一个自托管服务,用于 Telegram 频道的投稿、审核和发布。用户可以通过 Telegram Bot 或 Mini App 投稿,其他程序可以通过 HTTP API 提交内容;所有入口最终进入同一套投稿、审核和发布流程。
Telegram Bot ─────┐
Telegram Mini App ├──→ TelePost ──→ Telegram Channel
HTTP API ─────────┘
能做什么
| 场景 | 能力 |
|---|---|
| 接收投稿 | Bot、Mini App、HTTP API;支持图片、视频、音频和文件 |
| 审核与发布 | 审核队列、修改后发布、剧透控制、审核历史 |
| 阅读与检索 | 频道搜索、标签;TXT 小说可生成 Telegraph 在线阅读页 |
| 用户自助 | Mini App 浏览内容、投稿、查看自己的投稿 |
| 自动化集成 | Bearer Token、文件上传、幂等提交,避免重复投稿 |
| 自托管运行 | 多 Bot 独立配置与数据目录,SQLite 持久化,重启后恢复 |
快速开始
- 用 @BotFather 创建 Bot,加入目标频道并授予发帖权限。
- 安装 Python 3.10+。图片处理需要系统 libvips,安装方法见 系统依赖。
- 在虚拟环境中安装并生成配置:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install telepost-bot
telepost --setup
Windows PowerShell 使用以下命令:
py -3 -m venv .venv
.\.venv\Scripts\python.exe -m pip install telepost-bot
.\.venv\Scripts\telepost.exe --setup
配置向导填写 Bot Token、Channel ID、Owner ID。在生成的 config.ini 的 [BOT] 节中
补充 REVIEW_CHAT_ID(独立审核群 ID),再运行 telepost。API 与 Mini App 的审核开关
默认开启,三项向导配置尚不包含审核群。仅使用私聊直发时的配置见 安装指南。
Windows 保存配置时使用 UTF-8,启动命令为 .\.venv\Scripts\telepost.exe。
启动后向 Bot 发送 /start → /submit → 上传媒体 → /done_media,
在预览中检查内容,再按提示提交。命令详情见 投稿流程。
Bot 私聊投稿默认直接发布,可配置为先审核;HTTP API 自动化投稿固定需要审核;
Mini App 默认需要审核,由独立的 MINIAPP_REVIEW_REQUIRED 控制。需要审核时,先配置审核群与审核人,参见
配置参考。
选择安装方式
| 方式 | 入口 | 适合 |
|---|---|---|
| Python / pip | python -m pip install telepost-bot |
自管服务器与本地运行 |
| 独立程序 | 选择平台并下载 | 无需安装 Python |
| Docker / Compose | ghcr.io/redtidev1918/telepost:<version> |
容器部署 |
| 源码 | 开发与测试 | 修改代码或参与开发 |
PyPI 包名为 telepost-bot,启动命令和 Python 导入名均为 telepost。
生产环境固定正式 Release 版本;完整安装、升级、卸载步骤以
安装与部署 为准。
HTTP API
Owner 在 Bot 中用 /gen_token <名称> 生成 API Token,再提交内容:
curl -X POST 'https://example.com/api/v1/submissions' \
-H 'Authorization: Bearer tp_xxxx' \
-F 'files=@image.jpg' \
-F 'title=Example' \
-F 'tags=illustration' \
-F 'idempotency_key=example:123'
示例使用单 Bot 地址;多 Bot 改用 /api/botN/v1/submissions。
响应表示已受理审核,人工批准后才发布。同一次请求重试时保留原 idempotency_key。
完整接口与字段见 HTTP API。
Mini App
Mini App 是 TelePost 的可选 Web 前端。
普通用户可以投稿、浏览公开内容和查看自己的投稿;reviewer / admin 可以使用审核和管理功能。
Mini App 与 Bot 共用同一套后端、权限和投稿状态。配置见 Mini App。
多 Bot 与部署
run.py 管理多个 Bot 子进程,每个 Bot 使用独立配置和数据目录。
父路由对外提供 /webhook/botN 和 /api/botN/v1/*,子进程端口仅供本机访问。
可以部署在本地服务器、VPS、Docker / Compose 或 Fly.io。没有公网 HTTPS 时使用 Polling; 需要接收 Telegram Webhook 时使用 Webhook。
Fly.io 参考配置使用 512 MiB 内存、持久卷和常驻服务。PixivFlow 等内容采集器在独立服务中运行, 通过 HTTP API 投稿。正式发版和生产部署见 运维手册。
文档
完整文档站:TelePost 文档。
| 内容 | 文档 |
|---|---|
| 安装、升级、卸载 | 安装与部署 |
| 配置 | 配置参考 |
| Telegram 命令 | 命令参考 |
| HTTP API | API |
| Mini App | Mini App |
| Webhook / Polling | 运行模式 |
| Fly.io | Fly.io 部署 |
| 运维 | 运维手册 |
| 故障排查 | 故障排查 |
| 开发 | 测试指南 |
| 参与贡献 | 贡献指南 |
相关项目
- PixivFlow — Pixiv 下载、筛选和自动收集工具
- pixivflow-telepost-deploy — PixivFlow + TelePost 组合部署
均为可选集成,不是 TelePost 的运行依赖。
许可证
Metadata
Release files for telepost-bot 2.81.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| telepost_bot-2.81.6.tar.gz | 944.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| telepost_bot-2.81.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.7 MB
Release files / telepost_bot-2.81.6.tar.gz
| Download URL | telepost_bot-2.81.6.tar.gz |
|---|---|
| Size | 944.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa2abd7bf18401df73a958e11fae8b3370d979a0091b16f6b10cc1dd03e61159
|
|
BLAKE2b-256 checksum How to use checksums |
359f1c695bd8a1b4336058bb6c3657677cc2879606b9fbcacab628bbe1c92502
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / telepost_bot-2.81.6-py3-none-any.whl
| Download URL | telepost_bot-2.81.6-py3-none-any.whl |
|---|---|
| Size | 714.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b3b56cd35c90215533fdf3548e5508f0642c169c147d5eef5b1a6abd3a9a26d0
|
|
BLAKE2b-256 checksum How to use checksums |
9c12253269617fc8a9a619afc26b9ade200ee09f9dd6104006e5ca11a2e6d559
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency log