관리자 권한이 있는 채널의 파일 다운로드 자동화를 위한 텔레그램 데몬(봇 아님)입니다.
인터넷에 연결된 컴퓨터나 NAS가 있고 텔레그램 채널에서 파일 다운로드를 자동화하려는 경우 이 데몬이 적합합니다.
텔레그램 봇의 파일 다운로드 크기는 20Mb로 제한됩니다. 그래서 더 큰 다운로드를 허용하기 위해 이 에이전트나 데몬을 작성했습니다(텔레그램 API에서는 2GB로 제한됨).
Python3이 필요합니다(3.6은 잘 작동하지만 3.5는 무작위로 충돌합니다).
다음 명령을 실행하여 종속성을 설치합니다.
pip install -r requirements.txt
( cryptg
와 해당 종속 항목을 설치하지 않으려면 telethon
만 설치하면 됩니다)
경고: File size too large message
표시되면 사용 중인 Telethon 라이브러리 버전을 확인하세요. 이전 버전에는 1.5GB의 파일 크기 제한이 있습니다.
자신의 API ID를 얻으세요: https://core.telegram.org/api/obtaining_api_id
다음 값을 구성해야 합니다.
환경변수 | 명령줄 인수 | 설명 | 기본값 |
---|---|---|---|
TELEGRAM_DAEMON_API_ID | --api-id | https://core.telegram.org/api/obtaining_api_id의 api_id | |
TELEGRAM_DAEMON_API_HASH | --api-hash | https://core.telegram.org/api/obtaining_api_id의 api_hash | |
TELEGRAM_DAEMON_DEST | --dest | 다운로드한 파일의 대상 경로 | /telegram-downloads |
TELEGRAM_DAEMON_TEMP | --temp | 임시(다운로드 진행 중) 파일의 대상 경로 | --dest를 사용하세요 |
TELEGRAM_DAEMON_CHANNEL | --channel | 다운로드할 채널 ID(45호, 48호, 73호를 확인하세요) | |
TELEGRAM_DAEMON_DUPLICATES | --duplicates | 중복된 파일 처리 방법: 무시, 덮어쓰기, 이름 바꾸기 | 이름 바꾸기 |
TELEGRAM_DAEMON_WORKERS | --workers | 동시 다운로드 수 | 프로세서 코어와 동일 |
이를 환경 변수로 정의하거나 명령줄 인수로 넣을 수 있습니다. 예를 들면 다음과 같습니다.
python telegram-download-daemon.py --api-id <your-id> --api-hash <your-hash> --channel <channel-number>
마지막으로 다운로드를 시작하려면 파일 링크를 채널로 다시 보내세요. 이 데몬은 동시에 많은 다운로드를 관리할 수 있습니다.
Telegram 클라이언트를 사용하여 이 데몬과 '대화'할 수도 있습니다.
docker pull alfem/telegram-download-daemon
TelegramClient
메서드를 사용할 때 Console
과 상호 작용하여 전화번호를 제공하고 보안 코드로 확인해야 합니다.
이렇게 하려면 Docker를 사용할 때 처음으로 컨테이너를 대화형으로 실행해야 합니다.
docker-compose
사용하면 로그인이 저장되는 .session
파일이 컨테이너 외부의 볼륨 에 보관됩니다. 따라서 docker-compose를 사용할 때 다음을 수행해야 합니다.
$ docker-compose run --rm telegram-download-daemon
# Interact with the console to authenticate yourself.
# See the message "Signed in successfully as {youe name}"
# Close the container
$ docker-compose up -d
docker-compose.yml 파일에서 sessions
볼륨을 확인하세요.