前言

本教程在Linux(CentOS)+PY3.6环境下,使用 telegram-upload 将服务器文件上传到TG的指定位置

需要准备好相关设备、账号、API和网络环境。本文均以CentOS命令为例。

安装

准备工作

使用之前需要先安装py3和pip3,并且可在默认环境下调用。

wget https://www.moerats.com/usr/shell/Python3/CentOS_Python3.6.sh && sh CentOS_Python3.6.sh

然后是检查一下安装是否成功

python3 -V
pip3 -V

遇到视频上传可能还需要 FFmpeg

yum install ffmpeg -y

若报错则需要

sudo yum install epel-release -y
sudo rpm -v --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

最后别忘记检查

ffmpeg -version

正式安装

pip3 install -U telegram-upload

配置

先去tg官网获取user api  https://my.telegram.org/apps

需要其中的带锁的id和hash(key、token)

然后用初始命令跑一下

telegram-upload

会叫你登陆

默认的配置文件存储在如图所示的目录下

使用

由于功能不多,使用也很简单,基础命令是

telegram-upload /root/files.zip

默认是命令+文件路径,默认上传到me也就是收藏夹

命令配置可参考官网文档 https://docs.nekmo.org/telegram-upload/usage.html#telegram-upload
完整一点的话比如

telegram-upload --to @channel --print-file-id --large-files split /root/.config/config.json

to是主要发送对象,forward是转发(默认to是发给me,也就是收藏夹)
-f、--to 支持用户名、域名为t.me开头的公开链接,不支持私密链接、TGID、手机号(测试失败)

当然,基本上可上传任意类型的文件,包括但不限于图片、视频、文档和应用程序

上传速度

文件大小 500M
30s 9%
60s 18%
90s 27%
150s 46%
210s 65%
240s 74%
300s 93%
322s 100%
1.5M/s=12M

哪怕的TGVIP号也是这个速度,都被限制在这里,也就是12M左右,上传1G文件大概是11分钟

程序体验小结

可较为简单的把文件从服务器端直接上传到TG的群组、频道、私聊和收藏夹中

不过限制很多。不支持试有群组/频道,不支持ID推送,不支持手机号推送。只能单文件上传。

另外TG自己也有上传限速。

当然,除了上传,该程序也有下载功能。

参考资料和相关链接

https://github.com/Nekmo/telegram-upload

https://docs.nekmo.org/telegram-upload/

https://www.dejavu.moe/posts/telegram-upload/

https://www.myfreax.com/how-to-install-ffmpeg-on-centos-7/

https://www.moerats.com/archives/507/