Telegram Bot 实现 magnet、Torrent 自动下载上传至 Google Drive

如果我自己收藏的有你喜欢的,可联系vx: kanyingvip

前言

本系列教程基于Github开源项目magneto-python-aria进行操做。html

在一切的开始以前,本文会涉及基础的Linux系统操做指令,咱们已经尽最大限度简化难度,如cd,nano,pip3,apt install等命令可是大部分都是复制黏贴,极少部分是本身操做。python

由于在2020年9月份-10月份这段时间,谷歌(Google)网盘政策的调整,使谷歌(Google)网盘转存,有了单帐号日额2T的限制。git

举例说明

例如这个 MKV 文件,能够看到文件全部者是 mfc-l0le ,文件大小是 20GB ,因此按照谷歌(Google)如今的限制,mfc-l0le这个帐户的文件一共能够被转存、复制、下载 2048/50=40.96 次,也就是说,大概 40 次,第四十一次可能转存、下载、复制不了也可能能够转存、下载、复制。当达到2T上限时,上面的 .nfo 文件,也是没法转存了的,全部文件属于 mfc-l0le 这个帐户的文件都将被限制。github

一直到 24 小时后,才能够继续转存。这就是为何如今有一些人的团队盘之间(Team Drive To Team Drive)转存也会出现问题的缘由,能转存是由于转存前都是 SA 文件全部者,而SA又是分散的,因此不多达到上限。web

以上是谷歌如今的限制,因此公开分享基本上会被不少人转存,只能赌运气。从而如今只能转回到 PT/BT 下载, PT 站的限制又是比较多的,因此 PT 是不在本文的考虑中,本文主要介绍是 BT 下载方式,也就是磁力连接和种子。docker

开始

前期准备shell

一、须要 VPS/Server ,系统请采用 Ubuntu18.04 由于 Github 上项目暂且不支持 CentOS 系统。VPS 的硬盘大小,取决了你能够下载文件的大小,全部下载的文件都会进行硬盘容量预分配,因此假如你的 VPS 硬盘大小安装完本项目后是 40G ,下载的文件是 20G ,那在这个下载文件读取完磁力连接/种子信息后,开始下载 0.00000001% 的时候,你剩下的硬盘将只有 20G 可使用,也就是说你接下来只能下载20G之内的文件。json

二、一个谷歌无限空间云盘或一个谷歌无限团队盘api

三、telegram帐户和谷歌帐户

四、酸酸乳或其它上网小工具

说干就干

登陆你的VPS,博主采用的是 Finalshell 链接 VPS ,附上工具下载连接Finalshell-WindowsFinalshell-MacOS

sudo -i

使用以上命令获取root(管理员)权限,已经是root(管理员)权限无视此条。

apt-get update 

更新软件源

apt install docker.io 

安装docker

安装完docker后

docker -v

查看 docker 版本,能出现 docker 版本就是正确的,能够直接进入下一步。

开始构建项目

git clone https://github.com/magneto261290/magneto-python-aria mirror-bot/ && cd mirror-bot && sudo apt install python3 && apt install python3-pip

获取项目并进入 mirror-bot 目录并安装 python3&pip3 ,若是出现 Do you want to continue 不用想,直接回车就行。

python3 -V  

确认 python 版本是否为 3.5 以上。若是不是,请按照谷歌教程安装 python ,此处不另外去讲,若是版本正确,请不要纠结,咱们继续往下。

pip3 install -r requirements.txt

安装依赖环境

生成telegraph token,并记录

python3 generate_telegraph_token.py

生成用户会话交互字符串,并记录

这里须要用到三个东西:

一、Bot_token:你的 Telegram 机器人的 token ,到  https://t.me/botfather  这里获取。【注1】 二、TELEGRAM_API = 到 https://my.telegram.org/ 获取,App title 和 Short name 能够随意填写,不影响使用,而后复制TELEGRAM_API 到此行 三、TELEGRAM_HASH = HASH 复制到此行

python3 generate_string_session.py

输入后y后按回车(ENTER),会出现一大串乱码同样的,记录下来,后须要用到。

cp config_sample.env config.env  

拷贝 config_sample.env 文件并重命名为 config.env

编辑config.env主配置文件

nano config.env 

删除掉第一行,从上到下的意思分别为:

Bot_token:#你的Telegram机器人的token,到 https://t.me/botfather 这里获取。【注1】
GDRIVE_FOLDER_ID :#例如:https://drive.google.com/drive/u/5/folders/0AAFjrgbbqOFUk9PVA
则填入 0AAFjrgbbqOFUk9PVA
TELEGRAPH_TOKEN = #填入第一步产生的telegraph token
OWNER_ID = #到 https://t.me/userinfobot 获取
DOWNLOAD_DIR = #默认文件下载路径,能够按需规划填写
DOWNLOAD_STATUS_UPDATE_INTERVAL = 5 #下载进度更新间隔,默认为5s
AUTO_DELETE_MESSAGE_DURATION = 20 #bot自删除命令和消息间隔,默认20s
IS_TEAM_DRIVE = "" #若是上传到团队盘,则填写True,若是非团队盘则留空或False
USER_SESSION_STRING = "" #填写上面生成的用户会话交互字符串
TELEGRAM_API = #https://my.telegram.org/ 获取的API和API Hash填入此行和下行
TELEGRAM_HASH = "" #HASH复制到此行
USE_SERVICE_ACCOUNTS = "" #是否使用SA进行上传,若是使用则填写True

若是不知道什么是SA建议留空,截图由于失误填写了 True,你们不要模仿!

Ctrl+X

输入以上命令保存退出,输入Y而后按回车(ENTER)

配置GD受权

首先开启 Drive API 并将下载的 credentials.json 上传保存到你的 mirror-bot 目录下面

输入如下命令安装依赖并获取GoogleDrivetoken受权给bot。复制图中标注部分连接到你的浏览器获取受权代码(authorization code)并输入,按回车键即完成bot受权操做。此时会产生一个Token_pickle文件

pip3 install google-api-python-client google-auth-httplib2 google-auth-oauthlib && python3 generate_drive_token.py

构建核心Docker Image并启动

输入如下命令构建bot的docker镜像,构建完成后会当即启动,此过程等待时间较长请你们慢慢等待。

docker build . -t mirror-bot && docker run -idt mirror-bot

最终16个步骤安装完成后是这样的

而后到bot处,发送/help

这样就表示咱们大功告成了!

如何使用

而后下载方式是/mirror + 磁力链接;种子使用的方法是把种子发送给Bot,而后对着种子回复 /mirror 就能够下载,下载完成后会自动回复你 Drive Link ,能够经过访问此 link 定位到盘内文件。


【注1】Telegram建立Bot教程

一、登陆Telegram,并找到@BotFather

二、咱们使用 /new bot 指令 ,并按照指示为你的Bot取个昵称以及用户名(Bot的用户名必需以bot结尾) 而后你就建立好了你的第一个Telegram Bot!恭喜,是否是特别简单?此时BotFather会给你一个很是很是重要的东西——Bot token,注意千万要保管好它哦!

后记

因为谷歌云盘的开放性,请勿在法律边缘无限试探,请合理使用!

可以使用,不定时分享有价值的信息
天时网 » Telegram Bot 实现 magnet、Torrent 自动下载上传至 Google Drive

发表评论

提供最优质的资源集合

立即查看 了解详情