Repositório contendo o código do bot em execução no canal @pachicodes.
Para executar este projeto, você precisa do NodeJS instalado e um token de acesso para uma conta existente na Twitch. Pode-se utilizar sua própria conta para testes, mas o ideal é ter uma exclusiva para o bot.
Para obter o token, entre neste serviço e autorize-o a ter acesso a sua conta da Twitch. Guarde o token obtido em um local seguro. Com o token em mãos: clone este repositório, instale as dependências, defina as variáveis de ambiente e execute a aplicação:
git clone https://github.com/pachicodes/deninho-bot.git
cd ./deninho-bot
npm install
BOT_NAME=deninhobot # nick do bot na twitch.
CHANNEL_NAME=pachicodes # canal que irá escutar pelos comandos.
TOKEN= # token de acesso obtido anteriormente.
npm run dev
Bot is running at irc-ws.chat.twitch.tv:80
Você pode executar o DeninhoBot usando Docker e Docker Compose, para isso, siga os passos abaixo:
- Faça o clone do projeto.
- Configure as variáveis de ambiente.
- No diretório raiz do projeto, digite
docker-compose up -d
. Isso vai fazer com que o Docker faça o build do container e coloque em background.
- Se fizer mudanças no Dockerfile, execute
docker-compose build
antes dodocker-composer up -d
- Se quiser ver os logs, no diretório raiz do projeto digite
docker-compose logs -f
- Se quiser parar o bot, digite
docker-compose down
- Crie uma branch a partir da
main
, exemplo:git checkout -b minha-branch
. - Faça o commit das suas alterações e envie um novo pull request tendo a branch
main
como destino.
Para criar um novo comando, você deve criar um novo arquivo Javascript dentro do diretório src/commands
e exportar uma
função default contendos os parametros seguintes:
/**
* @param client: é o cliente do bot, utilizado principalmente para enviar mensagens de volta a quem solicitou.
* @param target: nome do usuário que disparou o comando (que enviou a mensagem), ex: #pachicodes.
* @param context: contexto (esse objeto contém várias informações que podem ser utilizados para tomar uma ação, ver melhor na documentção do TMI.js).
* @param message: o conteúdo mensagem enviada.
*/
exports.default = (client, target, context, message) => {
// Conteúdo do seu comando :)
};