Telegram 频道投稿管理系统,支持 115/123/天翼云盘、ED2K、HDHive 资源解析与转存,自动识别 TMDB/豆瓣媒体信息,提供频道监控、资源订阅、资源聚合、媒体发现、Emby 看板、多频道联发、投稿统计和 WebUI 管理等功能。
Docker 镜像: townley9288/tg-post-bot:latest
更新日志:CHANGELOG.md | 开发文档:DEVELOPMENT.md
/zs 命令搜索群组历史消息,基于 SQLite 本地缓存,支持分页、跳转原消息和 CSV 导出。/manual 可完全自定义标题、链接、备注、频道等投稿内容。LICENSE_KEYlatest - 最新稳定镜像vX.Y.Z - 指定版本镜像,例如 townley9288/tg-post-bot:v2.0.10.10# 拉取镜像
docker pull townley9288/tg-post-bot:latest
# 运行容器
docker run -d \
--name tg-post-bot \
--restart unless-stopped \
-p 9624:9624 \
-v ./config:/app/config \
-v ./logs:/app/logs \
-v ./backups:/app/backups \
-e TZ=Asia/Shanghai \
-e LICENSE_KEY="<kid>_<secret>" \
townley9288/tg-post-bot:latest
如需在环境变量中预置 TMDB API Key,可额外添加:
-e TMDB_API_KEY="your_tmdb_key"
设备绑定说明:容器首次启动会在
/app/config/install_id生成本机安装 ID,并用它作为授权设备标识。请务必持久化/app/config,否则删除并重建容器后设备 ID 可能变化。普通重启容器不会改变设备 ID。
version: "3.8"
services:
tg-post-bot:
image: townley9288/tg-post-bot:latest
container_name: tg-post-bot
restart: unless-stopped
ports:
- "9624:9624"
volumes:
- ./config:/app/config
- ./logs:/app/logs
- ./backups:/app/backups
# 可选:允许 WebUI「重启系统」按钮重启当前容器。
# 注意:Docker Socket 具备宿主机 Docker 控制权限,公网部署不建议挂载。
# - /var/run/docker.sock:/var/run/docker.sock
environment:
# 必填:时区
- TZ=Asia/Shanghai
# 必填:授权卡密
- LICENSE_KEY=<kid>_<secret>
# 可选:WebUI 端口,默认 9624
# - WEBUI_PORT=9624
# 可选:TMDB API Key,也可以在 WebUI 设置
# - TMDB_API_KEY=your_tmdb_key
# 可选:Bot Token,也可以在 WebUI 设置
# - BOT_TOKEN=your_bot_token
# 可选:HTTPS 反代场景启用 Secure Cookie;如果还要用局域网 HTTP 登录,不要开启
# - WEBUI_COOKIE_SECURE=1
# - WEBUI_HSTS=1
# 可选:代理设置
# - HTTP_PROXY=http://192.168.1.100:7890
# - HTTPS_PROXY=http://192.168.1.100:7890
http://localhost:9624基础命令:
/start - 显示欢迎消息和使用说明/help - 同 /start/version - 查看当前版本和更新日志投稿与搜索:
/manual - 手动填写完整投稿内容/hdhive <关键词> - 搜索 HDHive 资源/hdhive115 <关键词> - 只搜索 HDHive 中的 115 资源/hdhive123 <关键词> - 只搜索 HDHive 中的 123 资源/hdhive夸克、/hdhive阿里、/hdhive百度、/hdhive天翼、/hdhive189、/hdhive迅雷 - 按网盘类型过滤/hdhive_bind - 普通用户绑定自己的 HDHive 账号/fastlink 或 /fl - 手动生成 123 秒传链接/search <关键词> 或 /s <关键词> - 搜索已发布资源/zs <关键词> - 搜索群组历史消息(需要在已缓存群组内使用)/ch_list - 查看已配置频道管理员命令:
/stats - 查看发布统计/sign115 - 手动触发 115 签到/signhdhive - 手动触发 HDHive 签到/clean115recent - 清理 115 网盘「最近接收」/clean115rb - 清空 115 网盘回收站频道管理:
/ch_add 和 /ch_del。/ch_list 仅用于查看已配置频道。发送链接时,可以在标题或文本中使用特殊格式:
{{tmdb-12345}} - 指定 TMDB ID按关键词搜索影视资源:
/hdhive <关键词>网盘过滤:
/hdhive115、/hdhive123、/hdhive夸克 等命令会按网盘类型过滤结果资源站链接解析工具:
/hdhive_bind 绑定自己的影巢账号配置说明:
功能说明:
WebUI 配置:
使用场景:
功能说明:
WebUI 配置(频道监控页面):
@channel_name)或私有频道私有频道支持:
功能说明:
/signhdhive 触发配置方法:
-1001234567890#资源分享群
-1002356329542#团队协作群
使用场景:
一键保存 123 网盘资源到自己的网盘:
.json 文件形式发送,支持多文件分享手动生成秒传链接:
/fastlink <123网盘链接> 或 /fl <链接>123 网盘支持域名:
123912.com / 123865.com / 123684.com / 123pan.com
访问 http://localhost:9624 可以使用以下页面:
/zs 群组管理、消息统计、手动同步、我的群组/频道列表自动备份配置:
/app/backups备份文件通常包括:
posts.json - 投稿记录channels.json - 频道配置settings.json - 系统设置known_users.json - 已知用户auth.json - 授权信息user_prefs.json - 用户偏好monitor_session.session - Telethon 登录态monitor_records.json - 频道监控处理记录monitor_processed_ids.json - 已处理消息 IDtmdb_bindings.json - 资源聚合 TMDB 绑定关系resource_search_cache.json - 资源聚合频道缓存手动备份:
backups/ 目录backup_YYYY-MM-DD_HH-MM-SS.zip备份恢复:
| 变量 | 说明 | 默认值 |
|---|---|---|
LICENSE_KEY | 授权卡密,用于启动校验和 HDHive 容器账号 OAuth 授权 | 必填 |
TMDB_API_KEY | TMDB API Key,用于 TMDB 搜索、刮削和季集数判断;也可在 WebUI 配置 | 可选 |
BOT_TOKEN | Telegram Bot Token | 可在 WebUI 配置 |
CHANNEL_ID | 默认发布频道 ID | 可选 |
WEBUI_HOST | WebUI 监听地址 | 0.0.0.0 |
WEBUI_PORT | WebUI 端口 | 9624 |
WEBUI_COOKIE_SECURE | 设为 1 后仅允许浏览器通过 HTTPS 发送 WebUI 登录 Cookie | 0 |
WEBUI_COOKIE_SAMESITE | WebUI Cookie SameSite 策略 | Strict |
WEBUI_HSTS | 设为 1 后返回 HSTS 头,仅建议全程 HTTPS 访问时开启 | 0 |
DOCKER_SOCKET | WebUI 重启容器使用的 Docker Socket 路径;需额外挂载 Socket | /var/run/docker.sock |
SELF_CONTAINER_ID | 无法自动识别当前容器 ID 时手动指定 | 可选 |
HTTP_PROXY / HTTPS_PROXY | 代理地址 | 可选 |
NO_PROXY | 不走代理的地址列表 | 可选 |
TZ | 容器时区 | Asia/Shanghai |
A: 检查 Bot Token 是否正确、容器是否在运行、网络是否能访问 Telegram。国内网络环境通常需要配置代理。
A: 检查 TMDB API Key 是否有效,以及网络是否能访问 TMDB。也可以在 WebUI 日志中查看详细错误。
A: 确认链接格式正确、链接未过期。123 网盘支持从 URL 或文本中自动提取密码。
A: 检查容器是否启动、端口 9624 是否映射、反向代理是否配置正确,以及浏览器是否访问了正确地址。
WEBUI_COOKIE_SECURE=1 后局域网 HTTP 无法保持登录?A: 这是正常现象。Secure Cookie 只会在 HTTPS 请求中发送。如果你还需要通过 http://局域网IP:9624 访问 WebUI,不要开启 WEBUI_COOKIE_SECURE=1;只有全程 HTTPS 访问时再开启。
A: 这个功能需要额外挂载 /var/run/docker.sock:/var/run/docker.sock。Docker Socket 具备宿主机 Docker 控制权限,只建议在可信内网环境使用。
A: 可在 WebUI 设置页填写代理 URL,例如 http://127.0.0.1:7890,也可以通过 HTTP_PROXY / HTTPS_PROXY 环境变量配置。
A: 在 WebUI 设置页的自动备份配置中设置备份周期、保留份数和备份路径,也可以手动点击「立即备份」。
A: 豆瓣风控较严格。项目已尽量使用移动端接口和缓存机制;如果仍触发限制,可以稍后重试,或配置代理更换出口 IP。
A: 如果之前已经添加到主屏幕,请从主屏幕移除后重新添加。iOS 会在添加到主屏幕时缓存部分 PWA meta 配置。
A: 这是旧版本的路由误判问题。升级到当前版本后,ED2K / magnet 会正确送到 115 离线下载。
A: 重启容器后 Bot 会重新设置命令菜单。Telegram 客户端可能会缓存一段时间,必要时可重新打开会话或等待缓存刷新。
主要依赖:
pyTelegramBotAPI - Telegram Bot APITelethon - Telegram User API,用于私有频道监听、实时监听和群组消息索引Flask - WebUI 后端httpx / requests - HTTP 客户端APScheduler - 定时任务beautifulsoup4 - HTML 解析p115client - 115 网盘相关能力Pillow - 图片处理MIT License
欢迎提交 Issue 和 Pull Request。提交前建议先阅读 DEVELOPMENT.md,并尽量附上复现步骤、日志和测试结果。
当前版本请查看 VERSION 文件或使用 /version 命令。
Content type
Image
Digest
sha256:25b044ffd…
Size
96.1 MB
Last updated
1 day ago
docker pull townley9288/tg-post-bot