2.1 KiB
2.1 KiB
MTfin
是一个很简单的,输入 IMDB ID 就可以从 M-Team 上下载种子整合到 Jellyfin 的工具 qwq
工作原理
- 查询 M-Team 上这个 IMDB ID 对应哪些种子
- 调用 LLM 挑选其中最好的种子(输入是 1. 的种子列表)
- 从 M-Team 下载种子 .torrent
- 调用 qbittorrent api 把种子里的文件下载它到一个乱的文件夹
- 调用 qbittorrent api 查看种子里的文件树
- 调用 LLM 生成符合 Jellyfin 结构的重命名表(输入是 5. 的文件树)
- 用 symlink 在 Jellyfin 媒体目录把它链接上
用法
- 写 config.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
- 装依赖:
uv sync - 跑:
uv run launcher.py tt114514 tt1919810 ...
Telegram bot
配置好 [telegram] 后运行:
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