一. Telegram API 申请#
打开 https://my.telegram.org/apps ,登录后选择 Apps ,填写相关信息后自动生成 apiId 和 apiHash 等信息。如果之前申请过,进入 Apps 后即可看到。
二。搭建 tg 机器人#
- 下载脚本
git clone <https://github.com/alonedogboy/telegram_channel_downloader.git>
- 安装 rclone。如果只需要下载到本地,则无需安装这一步
- 进入脚本目录
cd telegram_channel_downloader
- 安装依赖
pip3 install -r requirements.txt
- 修改 telegram_channel_downloader.py 文件内的相关信息:
api_id、api_hash:telegram api 得到的信息,分别填入对应位置;
bot_token:联系 @BotFather 创建一个机器人,也可以是现有的。将获得的 token。填入其中;
admin_id:联系 @get_id_bot 发送随意消息获取;
如果需要上传到 OD:应修改脚本中以下参数:drive_id=”,drive_name=’onedrive’,onedrive 就是你配置 rclone 的时候填的网盘名称,还有第 102 行的 “fclone” 替换为 “rclone”;
所有配置都有相应备注,根据需要修改。
- 运行脚本:可用 SCREEN 保持在线
python3 tg_channel_downloader.py
# 输入 telegram 所绑定的手机号,获取验证码并输入后即可
screen 相关命令:
# 创建一个screen会话: screen -S xx #xx为创建会话的名称 # 隐藏并保留当前会话窗口: 按Ctrl+A,再按"D"键 # 恢复会话窗口: screen -r xx #恢复名字为xx的会话 # 如果忘记或者没有设定会话名称: screen -ls #列出所有会话,找到并使用恢复命令即可 # 关闭会话窗口 exit
- 运行:给机器人发送 /start 频道的链接 0 ,就可以正式开始运行脚本,下载文件了。
频道的链接:点击你的频道名就能看到频道链接;
0:这是消息 ID,可以自己定义,0 代表的是最早的信息。如果要从特定某条信息往后下载,鼠标右键点击该条消息,选择复制该消息直链,就能从链接末尾看到消息 ID 数字。