Um Telegram Daemon (não um bot) para automação de download de arquivos para canais dos quais você tem privilégios de administrador.
Se você possui um computador conectado à Internet ou NAS e deseja automatizar o download de arquivos dos canais do Telegram, este daemon é para você.
Os bots do Telegram são limitados a downloads de arquivos de 20 MB. Então eu escrevi este agente ou daemon para permitir downloads maiores (limitados a 2GB pelas APIs do Telegram).
Você precisa do Python3 (3.6 funciona bem, 3.5 irá travar aleatoriamente).
Instale dependências executando este comando:
pip install -r requirements.txt
(Se você não quiser instalar cryptg
e suas dependências, você só precisa instalar telethon
)
Aviso: Se você receber uma File size too large message
, verifique a versão da biblioteca Telethon que você está usando. As versões antigas têm um limite de tamanho de arquivo de 1,5 Gb.
Obtenha seu próprio ID de API: https://core.telegram.org/api/obtaining_api_id
Você precisa configurar estes valores:
Variável de ambiente | Argumento de linha de comando | Descrição | Valor padrão |
---|---|---|---|
TELEGRAM_DAEMON_API_ID | --api-id | api_id de https://core.telegram.org/api/obtaining_api_id | |
TELEGRAM_DAEMON_API_HASH | --api-hash | api_hash de https://core.telegram.org/api/obtaining_api_id | |
TELEGRAM_DAEMON_DEST | --dest | Caminho de destino para arquivos baixados | /telegram-downloads |
TELEGRAM_DAEMON_TEMP | --temp | Caminho de destino para arquivos temporários (download em andamento) | usar --dest |
TELEGRAM_DAEMON_CHANNEL | --channel | ID do canal para download (por favor, verifique a edição 45, a edição 48 e a edição 73) | |
TELEGRAM_DAEMON_DUPLICATES | --duplicates | O que fazer com arquivos duplicados: ignore, substitua ou renomeie-os | renomear |
TELEGRAM_DAEMON_WORKERS | --workers | Número de downloads simultâneos | É igual aos núcleos do processador |
Você pode defini-las como variáveis de ambiente ou colocá-las como argumentos de linha de comando, por exemplo:
python telegram-download-daemon.py --api-id <your-id> --api-hash <your-hash> --channel <channel-number>
Por fim, reenvie qualquer link de arquivo para o canal para iniciar o download. Este daemon pode gerenciar muitos downloads simultaneamente.
Você também pode ‘conversar’ com este daemon usando seu cliente Telegram:
docker pull alfem/telegram-download-daemon
Quando usamos o método TelegramClient
, é necessário interagir com o Console
para fornecer nosso número de telefone e confirmar com um código de segurança.
Para fazer isso, ao usar o Docker , você precisa executar o contêiner interativamente pela primeira vez.
Quando você usa docker-compose
, o arquivo .session
, onde o login é armazenado, é mantido no volume fora do contêiner. Portanto, ao usar o docker-compose, você deve:
$ 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
Veja o volume sessions
no arquivo docker-compose.yml.