CJReinforce / PikPakAutoOfflineDownloadBot

自动PikPak离线下载+aria2下载+释放网盘空间的TG机器人
442 stars 83 forks source link

功能

自动PikPak离线下载+aria2下载+释放网盘空间的TG机器人

用途

得益于PikPak网盘与迅雷之间千丝万缕的联系,PikPak网盘的离线下载功能常常能做到秒离线。其服务器上资源之多,使其被戏称为”迅雷新加坡分雷“。对于已经下载不动的老磁力,不妨试试PikPak的离线下载,或许会有惊喜。

本项目实现了一个可以一键将磁力链接经pikpak离线后再下载到本地并删除对应网盘文件的tg机器人。只需简单配置,即可做到:磁力不担心,来去无痕迹。我只为磁力而来,不沾染一片尘埃。

重要提示

不建议将存储重要文件的PikPak账号用于本项目!

因为部分命令删除文件的机制较强劲,容易在使用中操作不慎导致误删。

本地部署

将项目文件下载到本地同一目录下。

安装依赖:

pip install -r requirements.txt

配置config.py文件信息:

# TG机器人的令牌,tg找@BotFather创建机器人即可获取
TOKEN = 'token'
# TG用户ID,指定用户才能使用机器人
ADMIN_IDS = ['12345678']
# pikpak账号,可以为手机号、邮箱,支持任意多账号
USER = ["example_user1", "example_user2"]
# 账号对应的密码,注意与账号顺序对应!!!
PASSWORD = ["example_password1", "example_password2"]
# 自动删除配置,未配置默认开启自动删除,留空即可
# AUTO_DELETE = {"example_user1": "True", "example_user2": "False"}
AUTO_DELETE = {}
# 以下分别为aria2 RPC的协议(http/https)、host、端口、密钥
ARIA2_HTTPS = False
ARIA2_HOST = "example.aria2.host"
ARIA2_PORT = "port"
ARIA2_SECRET = "secret"
# aria2下载根目录
ARIA2_DOWNLOAD_PATH = "/mnt/sda1/aria2/pikpak"
# 可以自定义TG API,也可以保持默认
TG_API_URL = 'https://api.telegram.org'

最后:

python pikpakTgBot.py

这样你的机器人就上线工作啦!当然最好还是使用如pm2等进程守护工具在后台守护运行。

Docker Compose 部署

git clone 本项目
# 编辑`config.py`文件,配置信息如上所述。
# 构建镜像
docker-compose build
# 启动容器,后台运行
docker-compose up -d

其他参考命令:

# 查看容器状态
docker-compose ps
# 停止、启动、重启容器
docker-compose stop | start | restart
# 停止容器并删除容器
docker-compose down
# 启动容器,后台运行
docker-compose up -d
# 查看日志信息
docker logs pikpakbot

Docker 部署

  1. 将项目文件下载到本地或者直接git clone本项目。
  2. 编辑config.py文件,配置信息如上所述。
  3. 目录结构如下:
    PikPakAutoOfflineDownloadBot
    ├── Dockerfile
    ├── README.md
    ├── __init__.py
    ├── config.py
    ├── docker-compose.yml
    ├── pikpakTgBot.py
    └── requirements.txt

4.制作docker镜像,运行容器

cd /root/PikPakAutoOfflineDownloadBot
docker build . --tag pikpakbot
docker run \
  --name=pikpakbot \
  --restart=always \
  -d \
  -v /root/PikPakAutoOfflineDownloadBot:/code \
  pikpakbot

6.运行文件采用挂载方式,如果需要修改配置,可以直接修改/root/PikPakAutoOfflineDownloadBot下的文件,然后重启容器即可。

使用

机器人监听的命令如下:

命令 含义 用法 备注
/start 获取帮助信息 /start
/help 获取帮助信息 /help
/p 一键下载磁力到本地 /p magnet1 [magnet2] [...] 支持多个磁力链接;直接发送磁力链接也能识别;支持pikpak能够解析的普通链接,如Twitter视频、ed2k链接等
/clean 清空指定账号的网盘 /clean account1 [account2] [...] /clean all清空所有账号网盘
/account 管理账号 /account l/a/d/n [parameters] 向机器人发送/account获取详情

/clean命令清空文件无法找回!请慎用!

部分命令使用情况如下图所示:

`/pikpak`命令截图 `/pikpak`命令
`/pikpak`失败案例 `/clean`命令

更新日志

## V0.0.2 - 添加账号管理功能,向机器人发送/account可命令获取使用帮助 - 优化代码结构 ## V0.0.1 - PikPak自动下载机器人发布啦~

注意事项

程序相关

其他

参考