Para poder realizar essa operação, crie um ambiente virtual python e depois execute as configurações necessárias para a biblioteca do Telethon. Após isso instale uma biblioteca que mostre o percentual em uma barra “bonitinha”:
[sourcecode language=”bash”]pip install tqdm[/sourcecode]O tqdm irá mostrar o nosso loop de baixar arquivos de uma maneira mais elegante.
Abaixo segue o código para baixar os arquivos do canal:
[sourcecode language=”python”]from telethon import TelegramClient, events, sync from tqdm import tqdm import os api_id = <sua api_id> api_hash = ‘<sua api_hash>’ client = TelegramClient(‘umasessao’, api_id, api_hash) client.start() messages = client.get_messages(‘<canal alvo>’, limit=<numero de arquivos>) for msg in tqdm(messages): msg.download_media(file=os.path.join(‘media’, ‘<caminho>’)) [/sourcecode]Substitua <sua api_id>, <sua api_hash>, <canal alvo>, <numero de arquivos> e <caminho> pelos valores adequados e o script irá baixar os <numero de arquivos> arquivos do <canal alvo> no caminho <caminho>.
]]>O Telegram expõe suas APIs de forma gratuita e com isso podemos criar programas e utilizar suas funcionalidades, basta utilizar sua criatividade. Para isso é necessário acessar o https://my.telegram.org.

Informe o seu número de telefone em formato internacional. Por exemplo, no Brasil, acrescentar +55. Então o número: (12) 34567-8901, ficaria: +5512345678901.
Você receberá uma senha pelo Telegram com o texto: Web login code. Não passe esse código para ninguém, pois com esse código, é possível até deletar a conta.
Cada vez que você tentar fazer o login ele irá gerar uma nova senha e enviar no seu Telegram.

Selecione a opção “API development tools” para criar uma aplicação.

Informe os dados da aplicação e clique em Create application. Evite colocar acentuação nos primeiros campos, tive alguns problemas por conta disso.

Você irá receber algumas informações importantes… anote-as, clique em “Save changes”.
Em nosso projeto, nós vamos utilizar uma biblioteca python para facilitar a manipulação das APIs do Telegram. Essa biblioteca chama-se Telethon. Para usá-la é necessário ter o python 3 instalado, incluindo o pip. É interessante criar um Ambiente virtual para poder trabalhar.
Para instalar a biblioteca digite o seguinte comando:
[sourcecode language=”bash”]pip3 install telethon[/sourcecode]Crie um arquivo python com o seguinte conteúdo:
[sourcecode language=”python”]from telethon import TelegramClient, events, sync api_id = <coloque o api_id> api_hash = ‘<coloque o api_hash>’ client = TelegramClient(‘umasessao’, api_id, api_hash) client.start() client.send_message(‘thiagovespa’, ‘Olá. Estou testando o envio de mensagem do Telegram’) [/sourcecode]Substituia a api_id e a api_hash com os valores obtidos nas etapas anteriores. E execute o arquivo python. A última linha envia uma mensagem para o usuário thiagovespa. No primeiro acesso ele irá solicitar as seu telefone, um códio recebido pelo Telegram e sua senha:
Please enter your phone (or bot token): +55<seu telegram>
Please enter the code you received: <código recebido>
Please enter your password: <senha>
Após informar, um arquivo de sessão do SQLite será criado e você pode executar utilizando a mesma sessão e aí a senha não será mais solicitada.
Para outras funções, consulte a documentação.
]]>O jeito mais simples de fazer isso é utilizando o pip:
[sourcecode language=”bash”]sudo pip install virtualenv[/sourcecode]Entretanto, em algumas distribuições como o Gentoo, isso normalmente oferece um risco, pois você estará instalando uma biblioteca interna que pode ocasionar conflitos com as bibliotecas de sistema. No meu caso, o Gentoo oferece já um pacote de sistema que faça isso. Se você utiliza essa distro que eu, ao invés de utilizar o comando anterior, utilize esse:
[sourcecode language=”bash”]sudo emerge -av dev-python/virtualenv[/sourcecode]Verifique se a instalação foi bem sucedida:
[sourcecode language=”bash”]virtualenv –version[/sourcecode]Para criar um ambiente virtual novo é bem simples. Acesse um diretório onde vai ser criado o ambiente e digite o seguinte comando substituindo nome_do_ve pelo nome do ambiente desejado:
[sourcecode language=”bash”]virtualenv nome_do_ve[/sourcecode]Você deverá ter uma saída como essa:
Using base prefix ‘/usr’
New python3.7 executable in /development/testes/nome_do_ve/bin/python3.7
Not overwriting existing python3.7 script /development/testes/nome_do_ve/bin/python3.7 (you must use /development/testes/nome_do_ve/bin/python3.7)
Installing setuptools, pip, wheel…
done.
Para utilizar o ambiente é só ativá-lo:
[sourcecode language=”bash”]source nome_do_ve/bin/activate[/sourcecode]Com isso, você pode instalar as dependências que você precisa e trabalhar com o python, após terminar é só desativar:
[sourcecode language=”bash”]source nome_do_ve/bin/activate[/sourcecode]Para sair do ambiente é só digitar: deactivate. Para apagar o ambiente é só remover a pasta.
]]>
O TDC 2014 – São Paulo será realizado de 5 a 9 de agosto e terá 36 trilhas (TV Digital, Android, Startups, Java, Arquitetura, etc) no Anhembi Morumbi e, como novidade, vários workshops na sede da Globalcode, inclusive de Raspberry PI e IoT com o Vinicius Senger.
A trilha de TV digital está bem bacana e está sendo coordenada por um grande amigo meu, o Carlos do Java Noroeste e por mim. Vamos ter palestras com aplicativos da Record, TQTVD, TV Aparecida, especialistas renomados na área de TV digital no Brasil e pela comunidade de desenvolvedores.
Para participar é só fazer a inscrição no site. Simultaneamente, vai ter um outro evento legal que é o TDC4Kids para crianças programarem com Scratch, Minecraft e IoT. Para ter uma ideia do porte do evento, essa é a lista de alguns patrocinadores: Amazon, Oracle, Stackoverflow, SAP, PayPal, Google, StackOverflow, JetBrains e Liferay.
A gente se fala lá!
]]>Aí termina o guia de referência rápida para Python. Se esqueci de algo me avisem, assim posso complementar.
]]>
Continua… 
Eu estarei por lá, principalmente no dia 11, onde teremos uma trilha de TV Digital. Compareça!
]]>
Vai ter um super evento nessa próxima semana em São Paulo: The Developers Conference!
O evento é um dos maiores do Brasil e é composto por várias trilhas atendendo todos os gostos do mundo de desenvolvimento. Esse ano ele está maior e melhor e será realizado durante o lançamento do Java 7 e contará com a presença de nomes importantes do mundo de desenvolvedores e T.I. em geral.
]]>ou se você quer uma resposta melhorzinha:
É isso aí!
]]>