Olá, neste vídeo vou mostrar-vos como implantar o teu bot, escrito no note.js para um servidor, esse servidor sendo um que corre em um serviço chamado heroku. Vamos olhar para as Peças. Como podes ver, aqui tenho o meu browser, aberto para a minha conta "teste" "A-2-Z I-T-P" em que um bot tweetou um número aleatório (39), e eu tenho o código para esse bot aberto aqui mesmo como podes ver no sublime, é muito simples, tendo só uma função, que tweeta esse número aleatório. E também tenho o meu terminal aberto para esse designado diretório E eu posso, rápidamente testar, para ter a certeza que o bot funciona, o bot está a iniciar, funcionou! Vamos voltar ao browser, vou refrescar a página, e podemos agora ver que temos o número aleatório 4 Portanto, tudo está a funcionar, mas o que quero dizer neste vídeo, é que quero dizer "Este bot, que está a correr ali, eu não quero que ele corra do meu portátil, eu quero que corra sozinho, ou em um servidor algures que o posso preparar para ir, e não pensar mais nele denovo. Então va- Ah, tweetou denovo, vamos fechar ,e ver como podemos fazer isso. Então O site- o serviço que vou usar neste vídeo em particular é o Heroku, então, vais precisar de uma conta, então se estás a ver este vídeo, e não tens uma conta Heroku, vai para o website www.heroku.com Heroku, escrito desta forma: E, podes ver aqui, eu entrei, e, eu já estou logado, por isso foi diretamente para o meu painel de instrumentos, e, podes ver que tenho estas coisas já listadas no meu painel de instrumentos, porque aparentemente eu tentei fazer uma variadade de (tentei fazer isto uma data de vezes) Teste isto, teste aquilo "delete-soon" etc... Então o que são estas coisas, isto é referido como "dinos" mas não "d-i-n-o-s" mas sim "d-y-n-o-s" como alguma coisa dinâmica que está a correr, é um processo que estás a correr, então o que tenho que fazer é criar um dyno, para correr o meu bot, então, a primeira coisa que eu vou fazer, é que vou aqui para este sinal de mais (+) aqui no topo direito, e vou clicar em "Create new app" App é realmente o que estou a fazer, vou criar um app, vou chamá-lo "CodingRainbow-Demo" "Só deveria conter letras minúsculas" Ok, "codingrainbow-demo"? Está disponível, vou criá-lo, e... Agora está ali, então, Tenho muitas coisas que eu tenho que fazer aqui, e uma das coisas de usar Heroku é que Heroku é como se fosse o seu próprio tipo de animal (não é bem um animal, é um serviço-web, mas não interessa) tem a sua própria maneira de fazer coisas, e a maneira que tu mandas coisas para o Heroku , e voltas a receber pelo Heroku, são duas maneiras, a primeira é que usas "Get", o que é "Git"? Oh meu, se não sabes o que é "Git" fica atento para alguns tutoriais pelo Github, mas, por enquanto, se não sabes o que "Git" é, ainda serás capaz de seguir isto, mas vais ter que copiar-- (Ouvi um barulho...), (Há uma pessoa... algures aqui perto...) Tenho que continuar Podes copiar alguns destes comandos... Ok, então agora, estou a esperar para ver alguém que- o meu vizinho Joe, eu amo o Joe, é um ótimo Homem, ele veio dizer Olá no outro dia, Ok tenho que continuar, então, podes ver aqui que na página Heroku até te dá alguns tipos de comandos que podes seguir, mas vamos-nos preocupar com isso daqui bocadinho, mas, estamos sem um outro aspeto aqui, a primeira coisa que está a dizer para fazer é dizer "heroku login" querendo dizer entrar dentro da tua conta heroku, por o terminal Então se for aqui e digitar "heroku login " Diz "Comando não encontrado" Então uma das coisas que precisas para poder usar o Heroku, é uma peça de software chamada TolBelt, eu provavelmente devia ter, mas vou só pesquisar Heroku Toolbelt, vou clicar no primeiro link que aparece, e vou fazer o download, e acho que isto vai acontecer rápido o suficiente que posso só fazer isto, e vou instala-lo, continuar instalar, palavra-passe, e aqui temos... estou a instalar, e faço a minha dança da Instalação, a coisa estranha de eu fazer esta dança (Este vídeo tem uma janela de pré-visualização) estou a ver-me daqui, em vez de dançar para a câmera, vou editar esta parte, alguém vai fazer um GIF estranho sobre aquilo, ou alguma coisa Ok, então agora, deveria ser capaz de voltar para traz, e digitar Heroku, olha para isto! A instalar toolbelt, nem sabia que ia fazer isso! Então talvez tenhas que fazer isso, estava prestes a dizer Heroku login, mas estava só a digitar Heroku para ter a certeza que funciona, aparentemente tenho que fazer outra dança, porque está a instalar imensas coisas, phew não tenho que dançar, então, agora, podemos ver, deveria poder digitar Heroku Login, e devia perguntar por o meus meus credenciais, a minha conta está debaixo do meu email, a minha password é sons Ah, Loggado, então agora, que estou conectado, posso realmente começar a fazer coisas que me podem permitir a implantar, pelo terminal aqui, todas as do meu bot, para o Heroku sí mesmo. Então, vamos voltar agora, para esta página, e, ah, não, esta página, não esta, desculpem, e podemos ver aqui: agora, que eu me conectei com o Heroku, a próxima coisa que tenho que fazer, é fazer a meu bot, para um repositório Git, denovo o que Git é, se não estás familiarizado, é fora do que podemos ensinar neste vídeo em particular, mas é um software de controle de versão, e, o que me vai permitir fazer, é assim que o possa transformar em um repositório Git, querendo dizer, todos os códigos do meu bot está dentro desta pasta, vai me permitir a empurrar esse repositório Git, para o Heroku, porque tudo que vive no Heroku, também é um repositório Git. Então eu vou ser permitido a seguir estes comandos, a primeira coisa que vou dizer é "git init" diz git init denovo e iniciou um repositório git vazio. Agora, seu eu escrever got (Já agora em vez de git) vai dizer "o comando got não foi encontrado", se tu tiveres este erro, querendo dizer "Git comando não encontrado" isto só quere dizer que precisar de fazer o download e instalar "Git" por isso se pesquisar "Git" A primeira coisa que aparece, é este website em particular: "git-scm.com" e posso só (algures aqui), aqui mesmo, posso fazer o download para o mac ou para o windows, ou qual é o teu respetivo sistema operativo, por isso podes fazer o download e instalar o Git, se por por alguma razão ainda não o tinhas, ok , agora que já fiz isso, o próximo comando que eu tenho que fazer, é este: "heroku git:remote -a" então o que estou a fazer é, estou a dizer, que quero o meu repositório git, esta coisa que vive no meu computador, quero que seja ligado a um lugar remoto, aquele lugar remoto, lá no fundo... Que é o Heroku, e eu não só o quero ligar ao Heroku, mas também o quero ligar para a minha aplicação, que é "Coding Rainbow demo" por isso posso só exatamente isto, aqui, e posso colar isso no terminal, estou a ve-lo aqui na minha janela de pré-visualização, e aqui temos, está tudo pronto (agora) E agora, eu posso ir aqui, e posso dizer, ok então o próximo grupo de comandos aqui, é, agora eu quero enviar as coisas para o Heroku, e a maneira que podes mandar coisas para o Heroku, é com um comando Git chamado "Push (Empurrar) em Git "Push" significa manda, e "pull" significa" recebe, por isso, há muito para isto, mas a primeira coisa que tenho que fazer é adicionar, e cometer... Por isso vou seguir estes comandos. Algum dia isto irá ligar aos meus tutoriais sobre o git, em que irei explicar todos estes comandos. Vou dizer "git add" e vou só dizer exatamente "git commit -am "make it better"" Pelo menos posso por o próprio comentário aqui, e vou dizer: Ah, não podes dizer (isto tem que ser movido um pouco para aqui) e vou dizer, "this is my bot" (isto é o meu bot) e fez isso, e agora vou dizer: "git push heroku master" (ele repete), que irá enviá-lo, por isso agora, está a enviá-lo para o Heroku, e vai fazer todo o tipo de coisas para tentar o tentar correr A coisa é, eu esqueci-me de alguns passos, por isso, estes teriam sido os passos, se tivesse fizesse isto da forma tradicional, "forma-antiga" aplicação web, fiz um tipo de servidor, serve páginas web, pessoas vão (debaixo?) do meu servidor, para ver as minhas páginas, mas isso não é o que eu preciso. Eu preciso deste bot, que é simplesmente este processo, que precisa de correr, por trás das "câmeras". Não há nenhum servidor-web, não há nenhum sítio, não há nenhum URL, para onde quero ir, só quero que esta "coisa" corra no servidor, então tenho aqui, (só quero ter a certeza que estou a digitar o syntax correto, as minhas notas) E... Ok, então, de modo a fazer isto, está-me a faltar uma peça em particular. Então, a primeira coisa que quero fazer (eu devia ter praticado isto) antes, mais isto está bem, então, aqui estamos, Ok, o que fizemos até agora? Fizemos o código para o nosso bot, puxámo-lo para o Heroku, e de uma certa forma até nos disse "Verifying deploy done (Verificação da implantação feita) E não me deu nenhumas mensagens de erro, então vamos olhar agora, vou voltar para o meu painel de instrumentos, e eu deveria ver aqui, deveria ser capaz de encontrar Woops Deveria ser capaz de encontrar "coding -rainbow-demo" E vou clicar nisso, e vamos ver, diz "Sleeping" (a dormir) Então não está realmente a funcionar, não está a fazer nada (ainda) E a razão que não está a fazer nada, é porque, está listado como uma aplicação-web, e eu tenho que mudar isto para ser o que chamamos uma aplicação de trabalho, e era isso que estava a falar anteriormente, um trabalhador, uma aplicação-web é alguma coisa que serve páginas web, um trabalhador é alguma coisa que trabalha por trás das "câmeras" com os seus próprios processos, e é isso o que um bot é, então, de forma a fazer isso, preciso de voltar para o meu código (aqui) E eu tenho que, criar uma pasta nova. Então então este é o meu ficheiro, com todas as coisas, e preciso de criar um ficheiro novo, e preciso que esse ficheiro seja chamado: (Vou salvá-lo) "Procfile" Isto é um ficheiro de processo, é um ficheiro de configuração em que o Heroku vai procurar, para saber, o que é que esta coisa é suposta a fazer. Então vou salvar aquilo, e dentro desse ficheiro, vou dizer Esta coisa é realmente um trabalhador, em vez de uma aplicação-web, e o seu trabalho é para correr "node bot.js" então, vou salvar isto, dentro dali, e depois, eu tenho que voltar e isto é denovo, se não estás familiarizado com o Git, aqui está a coisa, eu fiz algumas alterações ao meu projeto, agora preciso que estas mudanças vão para o Heroku. Estas mudanças estão só no localmente no meu computador. Então para fazer isso, eu preciso de dizer: "git add ." Isto está a adicionar as minhas mudanças, e preciso de dizer: "git commit -m "adding the Procfile" E pode seguir as mesmas coisas que fiz para o primeiro, e depois vou dizer: "git push heroku master" isto está a enviá-lo para o Heroku (master) O Heroku é o nosso meste, e agora... Isso feito, está acabado. Enquanto faço a minha dança E tenho que esperar para tudo isto acabar. A lançar, a verificar a implantação, etc.. Agora, deveria ser capaz de ir aqui, e clicar em "refrescar" e deveria ver- agora eu vejo, olhem para isto! Diz: "worker node bot.js". E Isto, quero desligar, então tenho que clicar em: "editar". E eu quero desligar (o web), o processo web, (confirmar). E eu quero ligar o do "worker" (trabalhador), confirmar, e agora, Tanto quanto sei, oh meu deus Nós mandámos muitos tweets. Podemos ver agora que agora já está a Correr. Interessante que realmente funcionou, talvez antes, mas agora deveria estar a correr a cada 20 segundos. Deveria postar um novo tweet. E deveriamos ser capazes de ver, já agora, se eu voltar aqui e dizer "heroku log" Ah, o que quis dizer foi, "log" não é um comando, talvez quis dizer "logs" e de fato, sim, quis dizer "logs", "heroku logs" E podes ver já agora, isto está a correr, pois já temos dois novos tweets. E, aqui, funcionou, correto, então, então podes ver já agora, Há imensas coisas que estão a acontecer aqui, pois o deixei correr como uma coisa web da primeira vez, e a coisa web tem um erro, parou, mas podes ver a coisa do "worker" (trabalhador) está a dizer que funcionou, funcionou, funcionou. Então, não sei se 20 segundos já passaram, mas se eu fizer isto denovo, olha para os registos, podes ver que o trabalhador ainda está a correr então, eu vou desligar o bot, porque eu tenho-o configurado para 20 segundos, o que é bastante rápido, mas podes ver que isto resulta, por isso agora, o meu bot está implantado no Heroku, e já agora, contas livres, contas livre Heroku! Para fazer isto. Então, não precisas de pagar uma conta Heroku, podes simplesmente correr uma aplicação com uma processo de trabalhador. Então, esperançosamente isto foi servido de ajuda para ti, isto é á volta de 15 minutos, dos passos, o que vou fazer na descrição do vídeo, é, vou colar links para todas as peças que tens que fazer o download, também vou ter esta coisa que eu corri como um tutorial escrito. Então irei postar um link para isso também. Mas antes que me vá embora, vou mostrar-vos como posso desligar se eu quiser, então posso clicar em "edit" aqui, posso desligar isto, e clicar em "Confirm" Então agora, o meu bot, mesmo tendo postando mais quatro números aleatórios, Já devia ter parado. E já não irá fazer mais números aleatórios, porque já o desliguei. Então, isto concluí a nossa discussão de implantar o teu bot note.js para o Heroku!