##Descrição do Projeto
Esse projeto foi construído em Python com o objetivo de fornecer um conjunto de funções para construção de Clientes/Robôs personalizados do Telegram.
Telegram APIs O TELEGRAM Oferece dois tipos de APIs para desenvolvedores. Você é bem-vindo para usar ambas as APIs gratuitamente.
-
API do Bot permite criar facilmente programas que usam mensagens do Telegram para uma interface. Vantagens:
- ✅ Pode criar bots ilimitados com uma única conta do Telegram.
- ✅ API bem documentadas e robustas para diversas linguagens de programação.
Desvantagens
- ❌ Não pode iniciar conversas com novos usuários sem atender determinadas requisitos. Ex: Usuário precisa falar primeiro com o seu robô para ser capaz de estabelecer diálogos.
- ❌ Não pode entrar, enviar, receber, responder e ler histórico de mensagens em grupos ou canais sem o consentimento do administrador.
-
API do Cliente permite que você construa seus próprios clientes personalizados do Telegram. Vantagens:
- ✅ Possui todos os privilégios e capacidades de uma conta normal do telegram.
- ✅ Pode iniciar conversas com qualquer usuário sem restrições.
- ✅ Pode entrar, enviar, receber, responder e ler histórico de mensagens em grupos ou canais sem a necessidade de ser administrador.
Desvantagens
- ❌ Só é possível criar um único bot por conta de usuário do Telegram.
- ❌ Não possui uma vasta quantidade de APIs de terceiros fazendo abstração da API Oficial para WEB, assim como também APIs de terceiros bem documentadas ou disponíveis para uma vasta quantidade de linguagens de programção.
Esse projeto utiliza a API do Cliente do Telegram como base, tendo por objetivo resolver (2º desvantagem) o problema de acessibilidade a qualquer linguagem de programação (uma vez que disponível na WEB) e conceder uma API bem documentada e simples de utilizar.
Cumprimos nossa tarefa disponibilizando uma web API RESTFUL segura e simples de usar, abstraindo todas as funções da API OFICIAL para a WEB com endpoints preparados para receber e responder as interações em JSON. Consulte o wiki do repositório para mais informações sobre como iniciar um projeto e uma lista detalhada de endpoints da api e suas funções.
##Recomendações de Boas Praticas
- Utilize uma conta do telegram exclusiva para cada bot construído com essa API. Isso evitará bugs indesejados.
Essa API utiliza a sua conta pessoal do telegram para enviar, receber, ler e responder mensagens. É uma boa pratica utilizar uma conta do telegram separada de sua pessoal, criando uma conta exclusiva para cada bot construído com essa ferramenta. Você ainda terá que lhe dar com o inconveniente de ter que criar uma nova conta, possuir e cadastrar um novo números de telefone para cada robô que for criado com essa ferramenta, porém ganhara o privilegio de poder interagir com qualquer usuário, grupo ou canal do telegram sem nenhuma restrição.
##Requisitos
Para usar este bot, você precisará do seguinte:
- Python Versão >= 3.10
- Poetry
- git
#Início rápido Antes de começar, certifique-se de criar suas credenciais de acesso a API do Telegram. Crie um APP Telegram e obtenha suas credenciais de acesso API_ID e API_HASH.
Execute os seguintes comandos
git clone https://github.com/guilhermelim/telegram-client-api.git
cd telegram-client-api
cp .env.local .env # Edite seu .env e insira suas credenciais API_ID e API_HASH.
poetry install --no-dev # Instala todos os pacotes necessários do projeto
poetry run start # Executa o Projeto
# Na primeira execução é necessário fazer login em sua conta do Telegram.
# O bot irá criar um arquivo (anon.session) registrando a sua sessão de login.
# Mantenha esse arquivo de seguro não permitindo o seu acesso a terceiros.
# 1 - Digite o seu número de telefone vinculado a sua conta Telegram. Exemplo: 5585912341234
# 2 - Você receberá um código acesso em seu aplicativo do telegram. Digite o código. Exemplo: 12345
Criar novo Projeto
poetry new nome_do_projeto
Configura Poetry
# gera o virtualenvs na pasta do projeto
poetry config virtualenvs.in-project true
Cria a Virtual Env do Projeto
# Cria uma virtual Env
poetry shell
# Cria uma virtual Env fiando a versão do Python
poetry env use 3.10.5
Ativa a Virtual Env
# Ativa e Acessa a virtual env do projeto
poetry shell # Note que é possível criar/acessar a virtualenv com o mesmo comando
Adiciona Módulos/Pacotes
poetry add nome_do_mudulo@latest # Adiciona a ultima versão do pacote
poetry add nome_do_mudulo # Adiciona o pacote
Instala/Atualiza dependências do Projeto
poetry install # instala/atualiza dependências do seu projeto (execute quando adicionar um novo pacote)
Gera Build do Projeto tar.gz
poetry build # A build será gerada dentro da pasta dist
Exporta o Projeto para formato requirements.txt
poetry export -o requirements.txt
Publica a build
poetry publish # A build será gerada dentro da pasta dist
##PRODUÇÃO Instalar Projeto em Produção
# Instalação dentro de uma virtualenv (RECOMENDADO)
poetry install --no-dev
# Executa Projeto
poetry run app
# Instalação padrão do python
pip install --require-hashes -r requirements.txt