Pesquisas do stackoverflow via cli
Project description
- License:
GPLv3
Pesquisa no StackOverflow
Este projeto disponibiliza um comando CLI que coordena ações com o objetivo de realizar pesquisa no StackOverflow, possui 2 interfaces de uso:
Pesquisas por CLI
Pesquisas por Bot Telegram
Arquitetura do projeto
O Projeto está dividido hein:
API de Comunicação com StackOverflow
Executa pesquisa na API;
Executa paginação preemptiva
Captura token de autenticação com a API do Stack OverFlow (Para permitir maior quota de requisições)
CLI de interação com a API de Comunicação
Interage com a API interna de comunicação
Redireciona requisição de autenticação OAuth pro StackOverFlow, modo implicito.
Bot Server
Responde as solicitações de pessoas interagindo com o bot
Pré-requisitos
Antes de qualquer interação de pesquisa, você precisa iniciar a API de comunicação com o StackOverflow.
Portanto abra um novo terminal e execute:
$ underflow start-api
Pesquisas via CLI
É permitido o uso da CLI sem pre-requisitos de autenticação.
$ underflow ask “python + fastapi”
Authenticação
Existe um limite de requisições. Caso necessite de autenticação, será preciso que você se autentique e autorize este aplicativo a realizar pesquisas.
Para viabilizar essa autenticação é necessário algumas informações sensíveis que podem ser obtidas com o author deste projeto. De posse dessas informações, coloque as informações como variaveis de ambiente e siga os passos.
Após inserir, você pode executar o comando de autenticação:
$ underflow authenticate
O comando abrirá o Google Chrome, redirecionando você para mecanismo de autenticação e autorização do StackOverflow, uma vez autorizado, você será redirecionado para uma página localhost para que a API interna possa capturar o token e salvar em memória. Após isso pode continuar realizando as consultas.
Telegram BOT
O nome do bot no Telegram é UnderflowBot. Para responder as solicitações oriundas do bot, você precisa de algumas informações secretas de integração, solicitar para o author. De posse dessa informações, voce exporta para variaveis de ambiente e executar o comando abaixo para responder as solicitações.
$ underflow bot-server
Desenvolvimento
Projeto foi desenvolvido principalemente com poetry + fastapi + typer + pytest, as demais dependências são utilitários.
Instalaçao de dependências
$ poetry install
Testes
$ poetry run pytest
Possível Roadmap Futuro
Desenvolvedor botserver em arquitetura serverless(aws lambda)
Implementar autenticação entre as camadas
Implementar controle de background e foreground
Implementar respostas interativas para o bot do Telegram
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.