/jovem-padawan

Um programa para monitorar novas ofertas em https://www.hardmob.com.br/forums/407-Promocoes

Primary LanguagePythonMIT LicenseMIT

LukeYoda

jovem-padawan

Um programa que monitora novas ofertas para um produto específico no site Hardmob e te avisa por e-mail sobre as promoçãos encontradas.

Inspirado pelo robsonbittencourt/gafanhoto.


Por quê?

Eu precisava de um Kindle e tava querendo comprar um baratinho, um amigo meu me apresentou esse site e então surgiu essa ideia de automatizar esse trabalho de ficar procurando por um!

Se você está se perguntando o porque do nome jovem-padawan, “paciência você deve ter meu jovem Padawan” para achar um produto baratinho e que atenda as suas necessidades.


Instalação

  • Você precisa da versão 3.9 do Python instalada no seu computador, na qual você pode encontrar aqui.

Clone

  • Clone esse repositório para o seu computador com o comando $ git clone https://github.com/willy-r/jovem-padawan.git

Algumas configurações

  • Vá para o repositório que você acabou de clonar, jovem-padawan:
$ cd jovem-padawan
  • Crie um ambiente virtual dentro dessa pasta (recomendado mas opcional):

aqui eu estou usando o venv por ele já vir instalado com o Python, mas sinta-se à vontade para escolher o que você mais se sentir confortável

$ python -m venv venv
  • Ative o ambiente virtual e instale as dependências:
$ source env/bin/activate
(venv) $ pip install -r requirements.txt 

Configurando a conta do Google para envio de email

Para usar o programa você tambêm precisará permitir o Acesso a apps menos seguro na sua conta do Google, dê uma lida sobre!

20201120_200920


Usando

Para usar é bem simples:

(env) $ python -m app.main product
? E-mail: exemplo@gmail.com
? Senha do e-mail:
  • product é o nome do produto para monitorar.

  • Sua senha não será mostrada quando você estiver digitando mas ela irá funcionar do mesmo jeito.

  • Só irá aparecer para você colocar a senha e o e-mail se você não quiser seguir um dos passos abaixo.

O programa usa o mesmo e-mail para enviar e receber as ofertas, então é necessário você se autenticar com uma conta Gmail válida e existem outras duas formas de você fazer isso:

  1. Usando enviroment variables (recomendado):

    (venv) $ export EMAIL_USERNAME='exemplo@gmail.com'
    (venv) $ export EMAIL_PASSWORD='senha_do_seu_email'

    Ou mude o nome do arquivo .env.example para .env e preencha as variáveis de ambiente necessárias.

  2. Passando como argumentos na linha de comando quando for executar o programa (não é recomendado mas é uma opção):

    (venv) $ python -m app.main -e exemplo@gmail.com -p senha_do_seu_email product

Digite $ python -m app.main -h para ver mais comandos.


Exemplo

  • Procurando por ofertas para o Kindle por exemplo, e usando minhas credênciais definidas nas enviroment variables:
(venv) $ python -m app.main kindle
(16:22) - jovem-padawan: INFO: Procurando por ofertas para "Kindle" em https://www.hardmob.com.br/forums/407-Promocoes
(16:22) - jovem-padawan: INFO: Novas ofertas encontradas para "Kindle"
(16:22) - jovem-padawan: INFO: Enviado e-mail com as ofertas para exemplo@gmail.com
  • Para parar o programa digite CTRL + C.

E-mail recebido

  • O e-mail recebido terá mais ou menos essa aparência:

Imagem do e-mail reebido


Contribua!

Tá afim de me ajudar? Estamos todos em uma plataforma que apoia o Open Source e não existe pessoa melhor do que você que está lendo isso para ajudar a melhorar esse projeto!

Primeiro passo

  • Opção 1

    • 🍴 Dê fork nesse repositório!
  • Opção 2

    • 👯 Clona esse repositório no seu computador usando https://github.com/willy-r/jovem-padawan.git

Segundo passo

  • MANDA VER! 🔨🔨🔨

Terceiro passo


Me siga!

Você pode me encontrar falando um pouco de tudo (mais sobre programação) nos seguintes lugares: