Skip to content

Latest commit

 

History

208 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TelePost

Telegram 频道投稿机器人,支持聊天投稿、审核队列、全文搜索、多 Bot 和 HTTP API。

License Python Release Docs

能做什么

  • 在 Telegram 内完成上传、预览、编辑、匿名/剧透切换与发布
  • 分别控制聊天投稿和 HTTP API 投稿是否进入私有审核群
  • 搜索频道历史、标签、个人投稿和本地热榜
  • 用一个 supervisor 运行多个相互隔离的 Bot
  • 通过 Bearer Token API 接收外部自动化投稿
  • 在 Polling、Webhook 与 AUTO 模式间切换
  • 在 Fly.io 保留 Webhook 后自动休眠,并由下一次请求唤醒

最快开始

最新 Release 下载当前平台的 单文件程序,首次运行会进入配置向导:

chmod +x telepost-linux-x64
./telepost-linux-x64

源码运行:

git clone https://github.com/redtidev1918/TelePost.git
cd TelePost
python3 -m venv .venv
./.venv/bin/pip install -r requirements.txt
./.venv/bin/python run.py --setup
./.venv/bin/python run.py

最少需要:

配置 说明
TOKEN @BotFather 获取
CHANNEL_ID @channel-100…;Bot 必须有发帖权限
OWNER_ID 推荐设置;启用敏感管理命令和 API Token 生成

环境变量优先于 config.ini。完整配置见 配置参考,部署方式见安装与部署

运行方式

场景 推荐模式
本地、无公网 HTTPS RUN_MODE=POLLING
有公网 HTTPS RUN_MODE=WEBHOOK
希望自动选择 RUN_MODE=AUTO(默认)

Webhook 和 Polling 都提供 /health/api/v1/*。多 Bot 入口固定为 /api/botN/v1/*/webhook/botN,详见 Webhook 与 Polling

Fly.io 与 PixivFlow

低成本推荐拓扑:

PixivFlow 256 MiB,常驻调度
        │ Flycast/Fly Proxy HTTP
        ▼
TelePost 512 MiB,auto-stop + auto-start,双 Bot

PixivFlow 必须常驻才能按 Cron 执行;TelePost 只处理入站事件,可以自动休眠。不要把 两者塞进一台会自动休眠的 Machine,否则休眠期间没有进程能触发 Cron。完整步骤见 Fly.io 部署

常用入口

  • 用户:/submit/search/hot/myposts/mystats
  • Owner:/botconfig/gen_token/delete_posts
  • 健康检查:curl http://127.0.0.1:8080/health
  • 测试:./.venv/bin/python -m pytest -q --no-cov -o log_cli=false

全部命令见命令参考,自动化调用见 HTTP API

文档

文档 用途
安装与部署 单文件、源码、Docker、Fly.io
配置参考 环境变量、config.ini、多 Bot
命令参考 用户、管理员和 Owner 命令
HTTP API Token、投稿、通知与错误
Fly.io 部署 自动休眠与拆分拓扑
Webhook 与 Polling 模式选择、路由和安全
运维手册 备份、升级、监控和发布
故障排查 无响应、OOM、投稿和搜索问题
性能调优 资源档位与容量边界
测试指南 本地与 CI 验证
贡献指南 开发与提交约定
版本历史 已发布变更

内部设计见 投稿状态机软删除

许可

MIT License。问题请提交到 GitHub Issues

Releases

Packages

Contributors

Languages