Files
MTfin/README.md
T
2026-05-09 20:10:44 +00:00

68 lines
2.1 KiB
Markdown

# MTfin
是一个很简单的,输入 IMDB ID 就可以从 M-Team 上下载种子整合到 Jellyfin 的工具 qwq
## 工作原理
1. 查询 M-Team 上这个 IMDB ID 对应哪些种子
2. 调用 LLM 挑选其中最好的种子(输入是 1. 的种子列表)
3. 从 M-Team 下载种子 .torrent
4. 调用 qbittorrent api 把种子里的文件下载它到一个乱的文件夹
5. 调用 qbittorrent api 查看种子里的文件树
6. 调用 LLM 生成符合 Jellyfin 结构的重命名表(输入是 5. 的文件树)
7. 用 symlink 在 Jellyfin 媒体目录把它链接上
## 用法
1. 写 config.toml
```toml
[qb]
host = "http://127.0.0.1:8920"
username = "cat"
password = "meow"
[mt]
username = "cat"
password = "meow"
otp_key = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
api_key = "01234567-0123-0123-0123-0123456789ab"
[openai]
token = "sk-your-openai-token"
[paths]
qb_download_dir = "/data/QB"
jellyfin_dir = "/data/Jellyfin"
[telegram]
# 也可以不写在 config.toml,改用环境变量 TELEGRAM_BOT_TOKEN
bot_token = "123456:telegram-bot-token"
# 建议限制允许使用 bot 的 chat id;不配置则所有 chat 都可以触发下载
allowed_chat_ids = [123456789]
workers = 2
progress_interval = 10
```
2. 装依赖:`uv sync`
3. 跑: `uv run launcher.py tt114514 tt1919810 ...`
## Telegram bot
配置好 `[telegram]` 后运行:
```bash
uv run telegram_bot.py
```
然后给 bot 发送 `/download tt0903747`,或者 `/download` 加任意包含 IMDB tt id 的 URL/text。URL 被 decode 后包含 tt id 也可以识别。bot 会启动现有的 `workflow.py`,并把下载进度、当前步骤和日志路径持续更新到 Telegram 消息里。
如果在群聊里开着 Telegram bot privacy mode,请使用 `/download@YourBotUsername tt0903747`。普通的 `@YourBotUsername tt0903747` mention 通常不会被 Telegram 投递给 bot。
可用命令:
- `/help`:查看用法
- `/download tt0903747`:开始处理 IMDB ID
- `/status`:查看当前队列/运行中的 IMDB ID
- `/chatid`:查看当前 Telegram chat id,方便配置 `allowed_chat_ids`