Este projeto permite baixar vídeos do Telegram utilizando múltiplas hashtags. É uma ferramenta útil para coletar conteúdo de canais ou grupos específicos.
Disponível em três versões:
Agora o aplicativo possui um fluxo de autenticação simplificado e seguro:
Ao iniciar o aplicativo pela primeira vez, você verá a tela de login
Preencha os seguintes campos:
Clique em “Conectar e enviar código”
Um código de verificação será enviado para sua conta do Telegram
Insira o código recebido na janela de confirmação
Se sua conta tiver autenticação de dois fatores (2FA), você será solicitado a inserir a senha
git clone https://github.com/vinicius-dsr/Telegram-Downloader-Tools.git
cd Telegram-Downloader-Tools
pip install -r requirements.txt
Se estiver usando Arch Linux instale o Tkinter:
sudo pacman -S tk
Primeira Linha: Usa a primeira linha da mensagemSegunda Linha: Usa a segunda linha (ou a primeira se não houver segunda)Terceira Linha: Usa a terceira linha (ou a última disponível)Última Linha: Usa a última linha da mensagem (comportamento padrão)tag1 tag2 tag3 → tag1, tag2, tag3tag1,tag2,tag3 → tag1, tag2, tag3tag1, tag2, tag3 → mantém a formataçãosrc/download_telegram_video_tags_gui.py:python src/download_telegram_video_tags_gui.py
Preencha os campos necessários:
Clique em “Iniciar Download”
Iniciar Download:
Execute o seguinte comando:
python src/download_telegram_video_tags.py \
--api-id SEU_API_ID \
--api-hash SEU_API_HASH \
--target "https://t.me/nomeCanal" \
--tags "#tag1,#tag2" \
--out "./downloads"
--api-id: (obrigatório) API ID obtido em my.telegram.org--api-hash: (obrigatório) API Hash obtido em my.telegram.org--target: (obrigatório) Canal ou grupo (@nomeCanal ou https://t.me/nomeCanal)--tags: (obrigatório) Lista de hashtags separadas por vírgula--out: Pasta de saída (padrão: ./downloads)--limit: Limite de mensagens por tag (0 = sem limite)--session: Nome do arquivo de sessão (padrão: session)--max-flood-wait: Tempo máximo de FloodWait automático em segundos (padrão: 300)# Exemplo básico
python src/download_telegram_video_tags.py \
--api-id 12345678 \
--api-hash "a1b2c3d4e5f6g7h8i9j0" \
--target "@meucanal" \
--tags "#video,#conteudo"
# Com limite e pasta personalizada
python src/download_telegram_video_tags.py \
--api-id 12345678 \
--api-hash "a1b2c3d4e5f6g7h8i9j0" \
--target "https://t.me/meucanal" \
--tags "#tag1,#tag2,#tag3" \
--out "C:/Downloads/Videos" \
--limit 50
# Não aceitar FloodWaits automáticos
python src/download_telegram_video_tags.py \
--api-id 12345678 \
--api-hash "a1b2c3d4e5f6g7h8i9j0" \
--target "@canal" \
--tags "#tag" \
--max-flood-wait 0
# Aceitar FloodWaits de até 60 segundos
python src/download_telegram_video_tags.py \
--api-id 12345678 \
--api-hash "a1b2c3d4e5f6g7h8i9j0" \
--target "@canal" \
--tags "#tag" \
--max-flood-wait 60
Ao usar a API do Telegram, é possível receber FloodWaitError quando a conta faz muitas requisições em pouco tempo. O Telegram exige que você aguarde um certo número de segundos antes de tentar novamente.
Ambas as versões (CLI e GUI) tratam FloodWait automaticamente:
--max-flood-wait (CLI) ou campo na GUIFloodWait ≤ max-flood-wait: aguarda automaticamente e continuaFloodWait > max-flood-wait: aborta e informa o tempo necessário--limit menor)Após o download, você encontrará:
videos_baixados.csv com informações detalhadas:
A interface usa customtkinter com tema escuro por padrão. Para mudar:
No arquivo src/download_telegram_video_tags_gui.py, linhas 15-16:
ctk.set_appearance_mode("dark") # Altere para "light" ou "system"
ctk.set_default_color_theme("blue") # Altere para "green" ou "dark-blue"
pip install customtkinter --upgrade
Este erro ocorre quando o Python não consegue encontrar as bibliotecas Tcl/Tk do sistema.
O projeto inclui um script de correção automática que tenta localizar essas bibliotecas.
Ele é executado automaticamente ao iniciar a GUI, mas se você precisar depurar ou verificar se as bibliotecas são encontradas:
python src/tcl_fix.py
Se o script não encontrar as bibliotecas, você precisará instalá-las no seu sistema (ex: sudo apt install python3-tk tk-dev no Linux).
Se você gostou do projeto e gostaria de apoiar o desenvolvimento, considere me pagar um café! Isso ajuda a manter o projeto ativo e com melhorias constantes.
Sinta-se à vontade para contribuir com melhorias ou correções. Faça um fork do repositório e envie um pull request.
Este projeto está disponível sob os termos da licença do repositório.
Desenvolvido com ❤️ para a comunidade