Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 18, 2021 04:25 am GMT

Chatbot para twitch com Javascript

Ol nesse tutorial vamos criar um chatbot para a twitch.tv utilizando javascript com a biblioteca tmi.js. Utilizar um chatbot no seu canal uma das formas de voc engajar os seus viewers, pois, voc pode criar jogos e outras brincadeiras para divertir o seu pblico durante as lives. Um dos exemplos criar um comando de duelo para que o seu chat fique duelando no chat. Outra coisa que voc pode fazer criar funcionalidade para que o seu bot ajude na moderao da sua live.

Ferramentas

Para criar esse projeto iremos utilizar as seguintes tecnologias:

  • node.js - Que um runtime javascript. Voc pode baixar ele aqui.

  • nodemon - Que uma ferramenta que monitora o sistema de arquivos da sua aplicao e reinicia automaticamente aps uma modificao.

  • npm - Que um gerenciador de pacote javascript. Por padro ele j vem instalado junto com o node.js, mas caso voc queira tambm pode utilizar o yarn.

  • tmi.js - Biblioteca para se conectar no chat da twitch utilizando o protocolo IRC.

  • Editor de texto - Voc pode utilizar um editor de texto da sua preferncia, no meu caso irei utilizar o Vscode.

Iniciando Projeto

Apos a instalao do node iremos iniciar o nosso projeto utilizando o seguinte comando:

npm init -y

Se voc olhar na pasta do seu projeto para ter criado um arquivo chamado 'package.json' nele que fica as configuraes do nosso projeto.

Caso voc queira saber mais sobre o npm init voc pode descobrir mais aqui.

Instalao de depedncias

Agora vamos instalar as bibliotecas necessrias para o nosso projeto.

npm install tmi.js

npm install --save-dev nodemon

Aps rodar esses comandos se voc olhar no seu projeto voc deve ter a pasta 'node_modules' e o arquivo 'package-lock.json' no seu projeto.

Agora iremos criar scripts para facilitar na hora de rodar o nosso bot. Dentro do arquivo package.json iremos modificar a propriedade scripts e adicionar o seguinte cdigo.

"scripts": {    "start": "node index.js",    "dev": "nodemon index.js"}

O start serve para rodar o nosso quando finalizado. J o dev serve para rodar o nosso bot enquanto estivermos trabalhando nele, pois, ele vai executar usando o nodemon e facilitar nosso trabalho enquanto estivermos modificando ele reiniciando automaticamente o nosso bot.

Criando arquivo de configurao

Agora precisando criar um arquivo chamado .env nele ficara guardado as variveis de configuraes nosso bot. Logo abaixo podemos ver como voc devera deixar o arquivo depois de criado. Voc devera substituir kastrinhobot pelo nome do seu nome, kastr0walker pelo nome do seu canal e TOKEN pelo token que voc deve gerar aqui.

NOME_BOT=kastrinhobotNOME_CANAL=kastr0walkerTOKEN_BOT=TOKEN

Criando nosso primeiro comando

Agora est na hora de colocar a mo na massa e fazer o nosso primeiro comando no bot. A primeira coisa que precisamos fazer importar as bibliotecas necessrias para o nosso projeto funcionar.

const tmi = require("tmi.js");const dotenv = require("dotenv").config();

Agora iremos salvar em variveis as configuraes que adicionamos no nosso arquivo .env.

const NOME_BOT = process.env.NOME_BOT;const NOME_CANAL = process.env.NOME_CANAL;const TOKEN_BOT = process.env.TOKEN_BOT;

Devemos tambm criar um objeto para adicionar as informaes do nosso bot.

const opts = {  identity: {    username: NOME_BOT,    password: TOKEN_BOT,  },  channels: [NOME_CANAL],};

Devemos instanciar um novo objeto do tipo tmi.client passando como parmetro o objeto que contem as configuraes do nosso bot.

const client = new tmi.client(opts);

Devemos criar uma funo para ser executada toda vez que o bot detectar que uma mensagem foi enviada no chat. No nosso caso definimos essa funo como recivedMessage nela recebemos quatro parmetros.

  • target - Esse parmetro recebe o nome do canal no qual o bot recebeu a mensagem.
  • context - Esse um objeto na qual fica armazenado algumas informaes do usurio que mandou mensagem no chat. Podemos achar nele o nome do usurio, se sub ou mod de um canal dentre outras informaes. Voc pode conseguir mais informaes colocando um console.log(context) dentro da funo.
  • msg - Esse uma string contendo a mensagem que foi enviada no chat.
  • bot - Esse um booleano que retorna verdadeiro caso a mensagem recebida seja do nosso prprio bot.

O nosso primeiro comando que vamo criar para o bot mandar uma mensagem de "Ol Mundo!" caso algum digite !ola no chat. Para isso verificamos se a mensagem recebida igual a !ola caso seja ns chamamos o mtodo say do nosso client. Esse mtodo responsvel por fazer com que o bot mande uma mensagem no chat. Ele recebe dois parmetros o primeiro o nome do canal na qual o bot vai mandar a mensagem. O segundo parmetro uma string contendo a mensagem na qual o bot vai enviar.

function recivedMessage(target, context, msg, bot) {  // Verifica se a mensagem recebido  do nosso bot  if (bot) {    return;  }  if (msg == "!ola") {    client.say(target, "Ol Mundo!");  }}

Agora precisamos fazer com que o nosso bot se conecte no chat e comece a escutar as mensagens que so enviadas nele.
Para isso utilizamos as seguintes funes.

  • client.on("message", recivedMessage) - Essa funo vai fazer com que o bot fique escutando o nosso chat e execute a funo recivedMessage toda vez que uma mensagem recebida.
  • client.on("connected", () => {}) - Essa funo vai fazer com que o nosso bot mande "O bot t on!" no nosso chat ao se conectar.
  • client.connet() - Essa funo vai fazer com que o nosso bot se conecte com o chat do nosso canal.
client.on("message", recivedMessage);client.on("connected", () => {  client.say(NOME_CANAL, "O bot t on!");});client.connect();

Aps isso salve o seu arquivo e execute no seu terminal o seguinte comando:

npm start

Pront agora o bot deve est conectado no seu canal e j sendo possvel interagir com ele digitando !ola.

Agora que voc entendeu a base de como criar o seu primeiro bot. Voc pode utilizar a sua imaginao e desenvolver vrias funcionalidades legais para o seu bot. Se voc quiser se inspirar com ideias para o seu bot esse so alguns bots na qual j contribui no desenvolvimento.

Para esse tutorial utilizei como base esse repositrio. Obrigado por ler meu artigo e boa sorte com as suas criaes.


Original Link: https://dev.to/acaverna/chatbot-para-twitch-com-javascript-1oi9

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To