Controle o Twitter pelo terminal usando Ruby (projeto completo)

O Twitter possui uma API para que você realize buscas, encontre outros usuários, crie um novo tweet e faça quase qualquer coisa que é possível fazer na interface oficial dele e é possível conectar facilmente uma aplicação Ruby com essa API.

Então vem com a gente construir rapidamente uma interface de linha de comando com Ruby para controlar o seu Twitter e aprenda mais sobre essa linguagem incrível de programação, sobre estruturas de projetos e sobre API’s.

 

O que vamos construir (aprenda na prática)

Vamos criar uma interface de linha de comando para realizar as seguintes ações:

  1. Pesquisar no Twitter por texto e hashtag

  2. Ver as informações do nosso próprio profile + Lista de tweets

  3. Ver as informações de outros usuários + Lista de tweets

  4. Tweetar (esse será um desafio)

Essa interface será criada utilizando Ruby puro, então alguns conceitos de organização de projeto, reutilização de código entre outros detalhes da linguagem também serão abordados no tutorial.

Vejo a baixo um GIF do projeto pronto:

Depois de finalizarmos o projeto eu deixarei um desafio para você fixar tudo o que foi aprendido, então bora subir de level programador o/

 

 

Ferramentas utilizadas

  1. a) Ruby

  2. b) twitter gem

  3. c) colorize gem

 

 

 

Vamos aos códigos (passo a passo)

 

Criando a estrutura do projeto

Vamos iniciar criando a estrutura básica de arquivos do nosso APP.

1 – Rode no seu console os seguintes comandos:

2 – Agora adicione ao seu Gemfile as libs que vamos precisar:

3 – Instale as gems rodando:

 

Criando a estrutura de interação com o usuário

Primeiro vamos preparar uma versão preliminar do nosso console e depois vamos preparar um helper (printc) para facilitar na hora de imprimir mensagens personalizadas no console e um outro helper (menu) que vai nos ajudar a pegar as opções desejada pelo usuário.

1 – Coloque o seguinte código em twitter_console.rb:

2 – Agora crie o helper printc rodando o seguinte comando no console:

3 – Coloque no arquivo gerado:

4 – Agora crie o helper menu rodando o seguinte comando no console:

5 – Coloque no arquivo gerado:

6 – Inclua as novas features no console atualizando o arquivo twitter_console.rb:

 

Gerando os comandos e melhorando o console

Agora vamos preparar os arquivos que posteriormente vão executar os comandos do usuário (seja fazer uma pesquisa, ver o perfil de um usuário, postar um novo tweet e etc)

1 – Rode no console os seguintes comandos:

2 – No comando help.rb coloque (comando de ajuda ao usuário):

2 – No comando profile.rb coloque (comando para ver o próprio profile):

3 – No comando other_profile.rb coloque (comando para ver o profile de outro usuário):

4 – No comando search.rb coloque (comando para pesquisar no twitter):

5 – No comando new_tweet.rb coloque (comando para criar um novo tweet):

6 – Para incluir os comandos no console atualize o twitter_console.rb:

7 – Para melhorar a usabilidade adicionando uma mensagem de “até logo” quando o usuário pressionar o ctrl + c atualize o twitter_console.rb:

 

Autenticação no twitter

Nessa parte nós vamos pegar as credenciais necessárias para usar a API do twitter e vamos adicioná-las na nossa aplicação.

1 – Visite a página https://developer.twitter.com/apps (você precisa ter uma conta no twitter)

2 – Clique em create an app (ele vai solicitar que você crie uma conta de desenvolvedor, é bem simples, basta seguir o passo a passo que a aprovação será imediata)

3 – Agora com a conta criada clique novamente em create an app, basta preencher os campos obrigatórios e clicar para finalizar.

4 – Agora clique em keys and tokens como na imagem a a baixo.

credenciais twitter

5 – Peça para ele criar as chaves de Access token & access token secret.

6 – Crie um arquivo no seguinte path (config/auth_client.rb) e coloque as credenciais nele:

 

Criando o comando de Ajuda

Esse comando serve para informar ao usuários quais os comandos disponíveis e como utilizá-los.

1 – Atualize o arquivo commands/help.rb colocando:

Obs: Teste no console o uso dele 🙂

 

Criando o comando de Pesquisa

Esse comando serve para realizar pesquisas no Twitter, seja por um string normal ou por hashtag.

1 – Atualize o arquivo commands/search.rb colocando:

Obs: Teste no console o uso dele 🙂

 

Criando o comando Profile + refatoração + Lista de tweets

Vamos criar o comando profile que é responsável por baixar as informações atuais do usuário logado e também vamos criar um sub comando que vai mostrar os tweets dele.

1 – Atualize o arquivo commands/profile.rb colocando:

2 – Crie a seguinte pasta para encapsularmos lógica em arquivos compartilhados.

3 – Crie o arquivo a baixo para isolarmos a parte que exibe as informações do usuário.

4 – Coloque no arquivo criado:

5 – Inclua a melhoria no profile.rb:

6 – Agora vamos criar um sub comando que lista os tweets do usuário:

7 – Coloque no arquivo gerado:

8 – Inclua a melhoria no profile.rb:

 

Criando o comando para ver outros profiles

Nesse comando vamos permitir que o usuário encontre outros usuários através do user_name reutilizando os códigos que criamos em shared

1 – No arquivo other_profile.rb coloque:

 

Testando nosso Twitter console

Agora para finalizar, basta testarmos tudo o que criamos aqui, abrindo o console e enviando alguns comandos.

1 – Execute no seu console:

2 – Agora envie os comandos que desejar e veja a mágica acontecendo o/

ruby twitter

 

 

Links de apoio

  1. Código completo do projeto: https://github.com/OneBitCodeBlog/ruby_twitter

  2. Guia pra instalar o Ruby: https://onebitcode.com/rails-linux/

  3. Curso completo de Ruby free: https://onebitcode.com/course/ruby-puro/

  4. Gem de integração com o Twitter: https://github.com/sferik/twitter

  5. Gem para colorir as mensagens no console: https://github.com/fazibear/colorize

 

Desafio

Agora para que você possa fixar tudo que foi aprendido nesse tutorial coloque a mão na massa realizando o desafio a baixo:

Implemente o comando new_tweet para que o usuário consiga postar um novo Tweet pelo nosso console e depois cole o código desse comando nos comentários.

 

Conclusão

Nesse tutorial nós descobrimos como utilizar a API do twitter facilmente e também aprendemos mais sobre o Ruby e como organizar projetos com ele, então se você gostou clique nesse link para compartilhar com seus amigos do Facebook (ou envie diretamente o artigo).

Não se esqueça de fazer o desafio e postar nos códigos a baixo o seu new_tweet.rb.

Obrigado programador(a) por estar com a gente e até a próxima jornada o/

 



12 formas de vencer o bloqueio criativo e escrever textos memoráveis (e 6 dicas extras)

Não perca nenhum conteúdo

Receba nosso resumo semanal com os novos posts, cursos, talks e vagas \o/




Você é novo por aqui?

Primeira vez no OneBitCode? Curtiu esse conteúdo? O OneBitCode tem muito mais para você!

O OneBitCode traz conteúdos de qualidade e em português sobre programação com foco em Ruby on Rails e outras tecnologias como Angular, Ionic, React, desenvolvimento de Chatbots e etc.

Se você deseja aprender mais, de uma forma natural e dentro de uma comunidade ativa, visite nosso Facebook e nosso Twitter, veja os screencasts e talks no Youtube, alguns acontecimentos no Instagram, ouça os Podcasts e faça parte de nossa Newsletter.

Além disso, também estamos com alguns e-Books muito interessantes para quem deseja se aprimorar como programador e também como freelancer (os e-Books são gratuitos!):

Espero que curta nossos conteúdos e sempre que precisar de ajuda com os tutoriais, fala com a gente! Seja por Facebook ou e-mail, estamos aqui para você 🙂

Bem-vindo à família OneBitCode \o/

janeiro 14, 2019

Deixe um comentário

avatar
  Subscribe  
Notify of
Feito com s2 por OneBitCode
%d blogueiros gostam disto: