Skip to content

Commit

Permalink
更新readme,优化模块导入
Browse files Browse the repository at this point in the history
  • Loading branch information
holll committed Nov 7, 2023
1 parent 6bfc40a commit faccf7b
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 10 deletions.
35 changes: 29 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# teledown

使用Telethon批量下载telegram中任意群组/频道文件

## 使用教程
Expand All @@ -7,6 +8,8 @@
2. 将config.example.json重命名为config.json
3. 填写配置文件 [教程](#jump1)
4. 安装依赖 [教程](#jump2)
5. 阅读命令行参数的作用 [教程](#jump3)

## 配置文件解释<a id="jump1"></a>

```json
Expand All @@ -15,24 +18,44 @@
"api_hash": "参见下方教程",
"save_path": "保存路径",
"proxy_port": "代理端口,不需要则直接删除此项",
"phone": "手机号",
"phone": "手机号(与bot_token任填一项)",
"bot_token": "机器人登录配置"
}
```

### 获取api_id和api_hash

https://www.jianshu.com/p/3d047c7516cf

## 依赖安装教程<a id="jump2"></a>

执行`pip3 install -r requirements.txt`

## 可选参数<a id="jump3"></a>

```
-re 刷新缓存(程序会把用户数据缓存到本地,bot不可用)
-c 指定配置文件,多用户可通过不同配置文件实现切换登录
-up 上传文件(与-down、-print互斥)
-down 下载文件(与-up、-print互斥)
-print 打印加入的所有频道(与-up、-down互斥)
-id 群组/频道/用户 的 id/用户名
-user 批量下载频道/群组资源时只下载指定用户,格式@xxx
--path 上传本地文件(夹)的路径
-dau 上传完成后是否删除源文件(DeleteAfterUpload->DAU)
-at 上传时描述增加Tag,无需带#(AddTag->AT)
```

## 注意事项
1. 首次使用时,先执行main.py,选择功能1“查看所有频道”,此操作是为了将频道信息缓存到本地。所以,当你需要下载新加入的频道时,也请务必先更新缓存。
2. 如果你想下载速度更快,`pip3 install cryptg `

1. 如果你想下载速度更快,`pip3 install cryptg `
2. 如果使用上传功能,需要安装额外的依赖。Linux系统安装`python-magic`、Windows系统安装`python-magic-bin==0.4.14`
3. 本程序仅支持python3

## 常见错误

1. `AttributeError: module 'socks' has no attribute 'SOCKS5'`,请确认安装了PySocks
2. `Server sent a very new message with ID xxxxxxxxxxxxxxxxxxx, ignoring`,这个问题是由于当前设备时间与telegram服务器时间差距过大(大于30s)。
解决办法:服务器时间戳是`xxxxxxxxxxxxxxxxxxx >> 32`,请将本地时间戳修改到与服务器时间戳相差30s以内
3. `Could not find the input entity for PeerUser`,参见注意事项第一点
2. `Server sent a very new message with ID xxxxxxxxxxxxxxxxxxx, ignoring`
,如果你确定没有在多个设备上使用同一个session文件,那么这个问题是由于当前设备时间与telegram服务器时间差距过大(大于30s)。
解决办法:服务器时间戳是`xxxxxxxxxxxxxxxxxxx >> 32`,请将本地时间戳修改到与服务器时间戳相差30s以内
3. `Could not find the input entity for XXXXXXX`,请先刷新缓存
8 changes: 4 additions & 4 deletions tools/upload_file.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import os
import re
import sys
from asyncio import CancelledError
from io import BytesIO

from moviepy.editor import VideoFileClip
from telethon import TelegramClient
from telethon.tl.types import DocumentAttributeVideo, PeerChannel

from tools.tool import get_all_files, GetThumb, str2join, get_filetype
from tools.tqdm import TqdmUpTo


async def upload_file(client: TelegramClient, chat_id, path: str, del_after_upload: bool, addtag):
from io import BytesIO
from asyncio import CancelledError
from moviepy.editor import VideoFileClip
from telethon.tl.types import DocumentAttributeVideo, PeerChannel
isId = re.match(r'-?[1-9][0-9]{4,}', chat_id)
if isId:
chat_id = int(chat_id)
Expand Down

0 comments on commit faccf7b

Please sign in to comment.