Construindo um bot de folga no Node.js antes que sua pipoca de microondas esteja pronta

Charmaine Lee Blocked Unblock Seguir Seguindo 6 de agosto de 2018

(E realmente sabe o que você está fazendo ao longo do caminho)

0?? Crie seu aplicativo Slack

Vá para: https://api.slack.com/app s

Criar aplicativo Slack

1?? Inicializar projeto de nó

Execute npm init em sua nova pasta de projeto

  • Sinta-se livre para simplesmente deixar os campos em que você não tem certeza

2?? Criar um novo comando de folga

Execute o ngrok http 3000 na pasta do seu projeto

  • Instale o ngrok para criar um URL temporário para seu servidor da Web local como o Request URL do seu comando.

ngrok

Slash Commands > Create New Command

Criar novo comando

3?? Instale o aplicativo no seu espaço de trabalho

Install App > Install App to Workspace > Authorize

  • Dá permissão ao seu app / bot para se juntar ao seu espaço de trabalho

Instalar aplicativo para equipe

4?? Armazene todas as suas credenciais de aplicativo em um arquivo .env

Adicione seu arquivo .env ao seu .gitignore para garantir que suas variáveis de ambiente, neste caso, seus tokens, sejam mantidas apenas entre você e o Slack.

 // Found under Basic Information 
SLACK_CLIENT_ID=<client-id>
SLACK_CLIENT_SECRET=<client-secret>
SLACK_VERIFICATION_TOKEN=<verification-token>
 // Found under Install App 
SLACK_AUTH_TOKEN=xoxp-<auth-token>
  • Você pode acessar os tokens usando, por exemplo, process.env.SLACK_BOT_TOKEN com dotenv

5?? Dependências do nó

Importe os módulos ( express , body-parser & request ) necessários no index.js

 require ('dotenv'). config (); 
 const express = require ('express'); 
const bodyParser = require ('body-parser');
solicitação const = require ("request");

Execute o comando para instalar realmente as dependências do nó

$ npm install express dotenv body-parser request

6?? Iniciar servidor expresso

Inicie seu servidor colando o seguinte código no index.js

 // Cria app expresso 
const app = express ();
 // A porta usada para o servidor expresso 
const PORT = 3000;
 // Inicia servidor 
app.listen (process.env.PORT || PORT, function () {
console.log ('Bot está escutando na porta' + PORT);
});

7?? Envie sua primeira mensagem como um bot

O código a seguir dirá oi a qualquer um que entre com seu comando slash

 app.use (bodyParser.urlencoded ({extended: true})); 
app.use (bodyParser.json ());
 app.post ('/', (req, res) => { 
 var data = {form: { 
token: process.env.SLACK_AUTH_TOKEN,
canal: "#general",
texto: "Hi!: wave: n sou seu novo bot."
}};
 request.post (' https://slack.com/api/chat.postMessage' , data, function (erro, resposta, corpo) { 
// Envia mensagem de boas vindas
res.json ();
});
});

8?? Execute seu aplicativo

 node index.js 

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

? Seu único comando O Slack bot está pronto para se misturar! ?

Yay!

Sinta-se à vontade para conferir o repositório de código inicial no GitHub .

Obrigado pela leitura!

Texto original em inglês.