https://github.com/raisess/jorginho-bot
🤖 - Bot for moderation and live interaction of twitch chat.
https://github.com/raisess/jorginho-bot
bot chat chatbot open-source twitch twitch-bot
Last synced: 11 months ago
JSON representation
🤖 - Bot for moderation and live interaction of twitch chat.
- Host: GitHub
- URL: https://github.com/raisess/jorginho-bot
- Owner: Raisess
- License: mit
- Created: 2020-06-09T12:44:51.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-07-08T10:21:12.000Z (almost 3 years ago)
- Last Synced: 2025-06-25T20:13:56.335Z (12 months ago)
- Topics: bot, chat, chatbot, open-source, twitch, twitch-bot
- Language: JavaScript
- Homepage:
- Size: 75.2 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🤖 JORGINHOBOT DOCS
## 🔮 Requisitos
* [NodeJS versão LTS](https://nodejs.org/en/download/)
## 💡 Instalando
Baixe o bot no [repositório oficial](https://github.com/Raisess/jorginho-bot).
Extraia os arquivos, entre na pasta do bot e em seguida use o comando:
```shell
npm install
```
**ou** clique duas vezes sobre o arquivo **install.bat**.
## âš™ Configurando o bot
O bot vem com um arquivo chamado **credencials.template.json** dentro da pasta **src**, você pode deve criar um arquivo chamado **credencials.json** no mesmo diretório baseado no arquivo template.
A estrutura do arquivo de credenciais é esta:
```json
{
"USERNAME": "",
"PASSWORD": "",
"CHANNELS": ["..."],
"STREAMER": "",
"SOCIALS": ["", ""],
"PREFIX": ""
}
```
*O USERNAME é o nome da conta do bot que pode ser a sua própira conta se preferir.*
*O PASSWORD do bot é um token que pode ser gerado [aqui](https://twitchapps.com/tmi/).*
*O campo CHANNELS é um array que contém os canais do chat **use o nome do seu perfil na twitch por exemplo**.*
## 🚀 Rodando
Para rodar o bot use o comando:
```shell
npm start
```
**ou** clique duas vezes sobre o arquivo **run.bat**.
## 🕹 Comandos padrão
* !help - Ver a lista de comandos do bot.
* !hello - Dizer hello!
* !color < colorname | hex > - Mudar a cor do bot.
* !colorlist - Ver a lista de cores que o bot pode usar.
* !dice - Girar um dado de seis lados.
* **MOD** !ban < username > - Banir um úsuario do chat!
* **MOD** !clear - Limpar as mensagens do chat!
* !social - Redes sociais do streamer.
* !git - Link do github do criador do bot (eu hehe).
* !jorge - Link para baixar o bot jorginho.
* !morreu - Aumentar o número de vezes que o streamer morreu no game.
* !uptime - Tempo da live.
* !followage - Ver a quanto tempo segue o streamer.
## 🛠Criando novos comandos
Os comandos do Jorge nada são do que apenas modulos CommomJS, para criar um novo modulo é fácil.
Todos os comandos do Jorge devem ficar na Pasta **commands**, onde fica o arquivo **list.js** que é o controlador do comandos.
Estrutura de um comando:
```javascript
// comando hello.js
module.exports = (client, channel, user) => client.say(
channel,
`hello @${user.username}!`
);
```
Agora veja como fica a estrutura no modulo **list** do arquivo **list.js**:
```javascript
const hello = require('./hello');
module.exports = [
{
cmd: 'hello', // nome do comando | no chat fica: !hello (se o prefixo definido para "!")
description: 'Dizer hello!', // descrição do comando
// função de callback executada pelo comando
func: (client, channel, user) => hello(
client,
channel,
user
)
}
]
```
A função de callback do comando recebe **quatro** parâmetros por padrão:
```javascript
// ...
module.exports = [
{
cmd: '',
description: '',
// função de callback executada pelo comando
func: (client, channel, user, message) => command(
client,
channel,
user,
message
)
}
]
```
Sobre os parâmetros da função de callback:
* client - É o parametro que executa as funções do cliente (bot), ou seja, enviar mensagens (client.say(canal< string >, mensagem< string >)).
* channel - É a variável que armazena o canal onde o comando foi executado, um exemplo de uso dela é na função **client.say(channel, msg)**, onde ela deve ser o **primeiro parâmetro da função**.
* user - armazena os dados do usuário que executou o comando, por exemplo **user.username** entrega o nome do usuário.
* message - armazena a mensagem enviada pelo usuário.
## 🤓 Expressions e Responses
As **expressions** podem ser qualquer palavra ou frase pré defina que tem uma respota pré definida, chamada de **response**, por exemplo:
```
fulano: osh
jorginhobot: osh
fulano: oi
jorginhobot: oi, bom dia
```
Essas palavras ou frases são definidas nos respectivos arquivos **expressions.json** e **responses.json** que estão na pasta **data**.
Esses dados estão salvos no formato de array, ex:
Arquivo expressions.json:
```json
[
"osh",
"oi"
]
```
Arquivo responses.json:
```json
[
"osh",
"oi, bom dia"
]
```
Onde as **expressions** devem estar de acordo com as **responses** isso em relação ao indice de busca de um array, o primeiro indice, no exemplo *"osh"*, é o mesmo em ambos os arquivos o que significa que quando a palavra *"osh"* for dita no chat o bot irá responder também com *"osh"*.