An Interest In:
Web News this Week
- April 1, 2024
- March 31, 2024
- March 30, 2024
- March 29, 2024
- March 28, 2024
- March 27, 2024
- March 26, 2024
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
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To