Giter Club home page Giter Club logo

obs-twitch-gift's Introduction

馃毀 Este proyecto esta en fase de desarrollo temprano 馃毀

馃嚭馃嚫 English version Link (incomplete)

馃幀 Ejemplo de uso Link Youtube

馃巵 Bot de Twitch para dropeo masivo de llaves, vinculado con OBS y repartidas por Discord

Casos de Uso:

BaityLive: Empieza el NO-E3 - SUMMER GAME FEST 2023 (DORITOS FEST)

Que puede hacer el BOT?

  • Conectarse a OBS y mostrar
    • Cantidad de participantes
    • Cantidad de keys dropeadas/totales
    • Probabilidad con la que gan贸
    • Nombre del ganador (Twitch)
    • Meses subscripto del ganador en el canal
  • Cada cuantos minutos de dropeara una key
  • Seleccionar ponderaci贸n a la hora de elegir un ganador
    • Comunista: todos tienen la misma chance
    • Capitalista: Los subs tienen x2 chance
    • Oligarquia: una chance mas por cada mes subscripto
  • Metodo en el cual los usuarios del chat participaran en el drop
    • Una vez que hacen un comentario, participar谩n toda la sesi贸n
    • Limiar la lista de participantes cada X drops
    • Limpiar la lista cada vez que se dropea una key
  • Darle la clave al ganador por privado en Discord. Para esto si el ganador escribe el comando !link miusuario#1234 (para que bot de Discord sepa que esa es su cuenta) y el le mandar谩 por mensaje privado la llave que gan贸 automaticamente.
  • !drop muestra por el chat cuanto falta para el proximo drop y cuantas personas estan participando.

Habilitar o Deshabilitar

En el caso de queres habilitar o deshabilitar OBS o Discord, en el archivo .env cambiar la variable DISCORD_ENABLE o OBS_ENABLE como en los ejemplos:

# Discord deshabilitado
DISCORD_ENABLE = ""

# Discord habilitado
DISCORD_ENABLE = "1"

# OBS deshabilitado
OBS_ENABLE = ""

# OBS habilitado
OBS_ENABLE = "1"

Conexi贸n con Twitch:

  1. Generar el token de autenticaci贸n utilizado para el BOT https://twitchapps.com/tmi/

Conexi贸n con Discord

  1. Crear una cuenta BOT: https://discord.com/developers/applications
  2. En mis aplicaciones, selecionar el nuevo BOT creado e ir a Menu > Bot y activar la opci贸n MESSAGE CONTENT INTENT
  3. En mis aplicaciones, ir a Menu > Oauth2 y generar un nuevo token en Client information
  4. Copiar el ID del canal donde el BOT interactuara con los usuarios (para ver el id es necesario activar el modo desarrollador https://support.discord.com/hc/es/articles/206346498--D%C3%B3nde-puedo-encontrar-mi-ID-de-usuario-servidor-mensaje-)
  5. Generar url de invitaci贸n, ir a Menu > Oauth2 > URL Generator
  • en scope seleccionar bot
  • en BOT PERMISSIONS seleccionar en la secci贸n TEXT PERMISSIONS la opci贸n Send Messages luego ir a la url generada. https://discord.com/api/oauth2/authorize?client_id=XXXXXXXX&permissions=0&scope=bot seleccionar el servidor donde estar谩 el bot.

Conexion con OBS

  1. Instalar obs-websocket (bajar hasta assets y descargar el archivo correspondiente) https://github.com/obsproject/obs-websocket/releases

  2. Conectar Websocket server, y generar una contrase帽a websocket server obs config

  3. Crear dos escenas FMS_FULL y FMS_HIDDEN

  4. agregar un nuevo text (name: obs-twitch-gift) en la escena FMS_FULL create scenes

Instalaci贸n y ejecuci贸n del programa

git clone https://github.com/Veronesi/obs-twitch-gift.git
cd obs-twitch-gift
npm i --yes
  • Crear archivo de configuraci贸n. Dentro de la carpeta, crear un archivo llamado .env y completar con los valores de configuraci贸n
# Ejemplo

# Nombre del canal
TWITCH_CHANNEL = "fanaes"

# Usuario del bot 
TWITCH_USERNAME = "fanaes"

# Codigo generado en https://twitchapps.com/tmi/ (OAuth del bot)
TWITCH_OAUTH = "oauth:eorig1oi43oij"

# Utilizar o no OBS (dejar "" para desabilitarlo)
OBS_ENABLE = "1"

# Contrase帽a generada en OBS, en la seccion "Websocket server"
OBS_PASSWORD = "erogmoe1go"

# Utilizar o no DISCORD (dejar "" para desabilitarlo)
DISCORD_ENABLE = "1"
# Token de autentificaci贸n del Bot de Discord
DISCORD_TOKEN = "kerngjkreng.ekrg1ekr.ekrjg erg-ekjrgnerjkg"

# ID del servidor de Discord
DISCORD_GUILD_ID = "43958390458"

# ID del canal de Discord
DISCORD_CHANNEL_ID = "3459834598345"
  • En el archivo keys.txt pegar las claves a regalar.
486P3-J8FLN-OB3QZ
1OBXK-R7JA9-DR3WC
INRNQ-W7SJP-A909I
LLX54-ZRAMA-8B659
7M8MJ-WS8CU-MDOFF
ZHOPL-864VD-3KXJN
BQ78W-ESBNA-VCQ1R
0F66J-TMTGQ-79ZEC
GTQJE-ANXL2-E1EMO
  • Ejecutar el programa:
npm run start
  • A medida que se dropean las claves, en el archivo winners.txt ira dando informaci贸n en tiempo real de los ganadores
       CLAVE      | Usuario Twitch | Clave Reclamada | Usuario de Discord
--------------------------------------------------------------------------
486P3-J8FLN-OB3QZ |    @fanaes     |       true      | fanaes#1337 
1OBXK-R7JA9-DR3WC |   @baitybait   |       false     | null 
INRNQ-W7SJP-A909I |                |                 |
LLX54-ZRAMA-8B659 |                |                 |
7M8MJ-WS8CU-MDOFF |                |                 |
ZHOPL-864VD-3KXJN |                |                 |
BQ78W-ESBNA-VCQ1R |                |                 |
0F66J-TMTGQ-79ZEC |                |                 |
GTQJE-ANXL2-E1EMO |                |                 |

Contacto

Bot creado para el E3 (@baitybait)

obs-twitch-gift's People

Contributors

veronesi avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    馃枛 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 馃搳馃搱馃帀

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google 鉂わ笍 Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.