语言 / Language: 中文 · English
Telegram 频道投稿、审核与自动化发布平台。
用户可以通过 Telegram 聊天或 Mini App 投稿,管理员可以集中审核和管理内容; 外部程序也可以通过 HTTP API 自动投递。所有入口共用同一套投稿、审核、搜索、发布和状态管理流程。 TelePost 可以独立运行,不要求 PixivFlow、Fly.io、Mini App 或多 Bot。
| 场景 | 流程 | 适合 |
|---|---|---|
| 社区频道 | 成员 → Bot / Mini App → 直接发布或审核 → 频道 | 社区投稿、作品征集、UGC 频道 |
| 自动内容频道 | PixivFlow 等工具 → HTTP API → 审核 → 频道 | 自动收集内容并保留人工把关 |
| 自定义自动化 | RSS / 爬虫 / CI / 自有脚本 → HTTP API → 频道 | 把 Telegram 作为现有工作流的发布端 |
用户 ──┬── Telegram Chat ──┐
└── Mini App ───────┤
▼
TelePost ──→ Telegram Channel
▲
外部自动化 ── HTTP API ────┘
Chat、Mini App 和 API 不是三套系统:它们最终进入同一个 TelePost 业务流程。Mini App 是可选的增强界面,
审核也是可配置策略;原生 Chat 投稿默认直接发布,设置 CHAT_REVIEW_REQUIRED=true 后才进入审核队列。
- 在 @BotFather 创建 Bot,并把它加入目标频道、授予发帖权限。
- 从 最新 Release 下载当前平台的单文件程序。
- 首次运行并按向导填写 Bot Token、频道 ID,以及推荐设置的 Owner ID。
- 向 Bot 发送
/start,再用/submit完成第一次投稿。
Linux 示例:
chmod +x telepost-linux-x64
./telepost-linux-x64也可以使用 Docker 或源码运行;各平台下载、安装和升级方式见安装与部署。
- 投稿与发布:图片、视频、音频和文件;支持预览、编辑、标签、匿名和剧透。
- 灵活审核:Chat 与 API 可分别选择直接发布或进入私有审核群,不强制所有投稿走同一种流程。
- Mini App:普通用户投稿并查看自己的投稿,审核员处理队列和详情。
- HTTP API:Bearer Token、幂等键、文件上传和 Telegram
file_id,适合脚本与自动化服务。 - 频道管理:搜索频道历史、标签、个人投稿和本地热榜,并提供常用管理命令。
- 多 Bot:一个 supervisor 运行多个相互隔离的 Bot,各自使用独立配置与数据目录。
- 运行方式:支持 Polling、Webhook 和自动选择,部署不绑定特定云平台。
普通用户:Telegram → Mini App → 投稿 / 我的投稿
审核员: Telegram → Mini App → 审核队列 / 审核详情
Mini App 复用 Bot 的身份、投稿和审核流程,不是第二套后端;关闭 Mini App 不影响聊天投稿和 HTTP API。
当前 Mini App 投稿界面按审核流程工作;API_REVIEW_REQUIRED 内置默认即为 true。
启用方式、同域托管与安全要求见 Mini App 文档。
外部程序可以把 TelePost 当作 Telegram 的投稿、审核与发布后端。先由 Owner 在 Bot 中执行
/gen_token <名称> 生成 Token,然后提交内容:
curl -X POST 'https://example.com/api/v1/submissions' \
-H 'Authorization: Bearer tp_xxxx' \
-F 'files=@image.jpg' \
-F 'tags=illustration,featured' \
-F 'title=Example' \
-F 'idempotency_key=my-source:123'多 Bot 路径、审核策略、响应语义和完整字段见 HTTP API 文档。
TelePost 可以完全独立运行,也可以接收任何能调用 HTTP API 的上游:
PixivFlow ─────┐
RSS / 爬虫 ────┼──→ TelePost → 审核 / 发布 → Telegram
自有脚本 / CI ┘
PixivFlow 是一个独立的 Pixiv 下载、筛选与自动收集工具; 它可以把结果交给 TelePost,也可以本地下载或投递到其他接收端。TelePost 不依赖 PixivFlow。
可选的 MCP sidecar 允许 AI Agent 读取待审核内容并给出建议;最终发布仍由人类明确确认。
TelePost 可以运行在本地、VPS、Docker、Fly.io 或其他能够运行 Python / 容器的环境:
| 环境 | 建议入口 |
|---|---|
| 本地或无公网 HTTPS | RUN_MODE=POLLING |
| VPS / 容器平台 | Polling,或在公网 HTTPS 后使用 Webhook |
| Fly.io | 固定版本镜像、持久卷和 Webhook |
单 Bot 是最简单的起点;Mini App、多 Bot、Webhook 和 PixivFlow 组合都按需启用。通用步骤见 安装与部署,Fly.io 专项配置见 Fly.io 部署。
- 投稿和发布使用幂等语义,重试不会静默产生重复内容。
- 审核状态、会话和运行时策略持久化,重启后可以恢复。
/live、/ready、/health提供分层健康检查。- 图片处理有资源预算,高风险原图会安全降级为预览或文档。
| 你想做什么 | 文档 |
|---|---|
| 下载并开始使用 | 下载 · 安装与部署 |
| 配置 Bot、审核或多 Bot | 配置参考 |
| 查看 Telegram 命令 | 命令参考 |
| 接入自动化 | HTTP API |
| 启用 Mini App | Mini App |
| 配置 Webhook 或 Fly.io | Webhook 与 Polling · Fly.io 部署 |
| 备份、升级或排查故障 | 运维手册 · 故障排查 |
| 参与开发 | 贡献指南 · 完整文档目录 |
- PixivFlow:Pixiv 下载、筛选、定时执行与 HTTP 交付工具。
- pixivflow-telepost-deploy:组合 PixivFlow 与 TelePost 的部署和运维套件,提供 Docker、VPS 与云平台配置示例。
问题请提交到 GitHub Issues,代码贡献见 CONTRIBUTING.md。TelePost 使用 MIT License。
审核员可以通过“编辑后发布”修改标题/简介/标签/链接/剧透与媒体顺序/移除附件后发布;
投稿者原始稿件不可变更(immutable),发布保存独立 snapshot,并可在配置开启后收到发布通知(含修改摘要)。
详见 docs/CONFIGURATION.md 与 AGENTS.md(§editorial / §notify-submitter)。