基于 z-mio/Alist-bot 二次开发的 Telegram 机器人,专为 OpenList 优化并集成多种媒体自动化工具。
本项目在原有的 Alist 管理功能基础上,针对 OpenList 进行了深度适配,并打通了从“搜索”到“下载”再到“媒体库刷新”的全链路自动化流程:
- 深度适配 OpenList:完美支持 OpenList API 存储管理与文件操作。
- 多源搜索集成:
- 🚀 网盘搜索:集成 PanSou,支持各大主流云盘。
- 🧲 磁力搜索:集成 Prowlarr,支持私有/公开索引器。
- 🎬 影视元数据:集成 TMDB,搜索电影/电视剧并获取标准译名。
- 离线下载自动化:支持通过 Telegram 直接提交磁力/链接到 OpenList 离线下载。
- 一键刷新链路:一键触发
OpenList 缓存刷新->SmartStrm 生成 STRM->Jellyfin 扫描。 - 工程化优化:采用
loguru日志系统、YAML配置管理,并优化了httpx连接池性能。
| 命令 | 说明 |
|---|---|
/s <关键词> |
搜索网盘文件(支持类型筛选) |
/sb <关键词> |
搜索种子/磁力链接 (Prowlarr) |
/sm <关键词> |
通过 TMDB 搜索影视信息 |
/st |
交互式浏览 OpenList 存储文件,支持删除、新建文件夹、上传文件 |
/od |
提交离线下载任务 |
/ods |
查看离线下载进度状态 |
/cf |
交互式配置默认下载设置 |
/fl |
一键刷新文件链路 |
/help |
查看详细指令帮助 |
本项目支持 GitHub Packages (GHCR) 自动构建。部署前需要先获取并修改配置文件:
- 下载示例配置文件:
wget https://raw.githubusercontent.com/Gm-aaa/openlist-bot/master/config.example.yaml -O config.yaml
- 编辑
config.yaml: 根据文件内的注释填入你的 Token 和服务器地址。 - 启动容器:
docker run -d \ --name openlist-bot \ -v $(pwd)/config.yaml:/app/config.yaml \ -v $(pwd)/logs:/app/logs \ --restart always \ ghcr.io/gm-aaa/openlist-bot:latest
- 环境要求:Python 3.11+
- 克隆项目:
git clone https://github.com/Gm-aaa/openlist-bot.git cd openlist-bot - 安装依赖:
pip install -r requirements.txt
- 配置文件:
cp config.example.yaml config.yaml # 编辑 config.yaml 填入你的 Token 和地址 - 运行:
python bot.py
详细配置项说明请参考 config.example.yaml。
- Telegram Bot Token: @BotFather
- OpenList Token: 登录 OpenList -> 设置 -> 概览 -> API
- TMDB API Key: TheMovieDB Settings
- Jellyfin API Key: 控制台 -> 高级 -> API Keys
- 适配 OpenList API 存储管理与交互式文件浏览
- 多源搜索:网盘搜索 (PanSou) + 磁力搜索 (Prowlarr) + 影视元数据 (TMDB)
- 离线下载:支持磁力/链接一键提交至 OpenList 离线下载
- 自动化链路:一键刷新 OpenList 缓存 + 触发 SmartStrm + 扫描 Jellyfin
- 配置管理:支持 YAML 配置文件与交互式修改配置项
- Docker 支持:支持 GHCR 自动构建与多架构部署方案
- 文件管理增强:支持在
/st中直接删除文件/文件夹、新建文件夹、上传文件 - 通知系统:离线下载完成/失败后通过机器人自动推送通知
- 字幕搜索集成:支持中文字幕搜索功能(拟集成多个字幕库 API)
- 多用户权限管理:更细粒度的管理员/成员使用权限控制
- 安全性:切勿将包含真实 Token 的
config.yaml提交到公开仓库(项目已预设.gitignore)。 - 代理:如果你的服务器无法直接访问 Telegram API,请在
config.yaml中配置proxy。
感谢 z-mio/Alist-bot 提供的灵感和基础架构。
MIT License