IMPORTANTE: Versión pre-alpha actualmente en desarrollo. NO usar en producción.

Mensajes del chat

Este evento se dispara cuando detecta el mensaje de un usuario en el chat. No sólo podemos extraer información del mensaje, sino también información del usuario, si es una respuesta a otro mensaje, si ha regalado bits (cheers), etc.

import { client } from "https://unpkg.com/mtmi@0.0.3/dist/mtmi.js";

client.connect({ channels: ["manzdev"] });

client.on("message", ({ username, channel, message }) => {
  console.log(`${channel} [${username}]: ${message}`);
});

Lista de los parámetros que se pueden utilizar al obtener mensajes del chat.

ParámetroDescripción
typeTipo de evento. En este caso, message.
usernameNombre del usuario (nombre interno)
channelCanal donde se envió el mensaje.
messageMensaje enviado (sólo texto).
badgesLista de badges mostrados por el usuario.
userInfoInformación del usuario.
messageInfoInformación del mensaje.
replyInfoInformación de la respuesta (si es una respuesta).
bitsInfoInformación de los bits enviados (si fueron enviados).
rawMensaje sin procesar de Twitch.

Badges del usuario

ParámetroDescripción
nameNombre del badge.
valueValor del badge.
imageURL de Imagen del badge.
descriptionDescripción del badge.
fullMonthsNúmero completo de meses.
founderNumberNúmero de fundador.
predictionInfoInformación sobre la predicción del usuario.

Información del usuario

ParámetroDescripción
usernameNombre del usuario.
displayNameNombre mostrado por el usuario.
colorColor del nombre del usuario.
isVipSi el usuario es VIP.
isModSi el usuario es moderador.
isSubSi el usuario es suscriptor.
isTurboSi el usuario tiene turbo.
isPrimeSi el usuario tiene Prime.
isBotSi el usuario es un bot conocido.

Información del mensaje

ParámetroDescripción
isFirstMessageSi es el primer mensaje del usuario en el canal.
isReturningChatterSi el usuario ha regresado al canal.
isEmoteOnlySi el mensaje solo contiene emotes.
isHighlightedMessageSi se trata de un mensaje destacado canjeado por el usuario.
isGigantifiedEmoteMessageSi el mensaje ha sido canjeado para «gigantificar» un emote (bits).
isAnimatedMessageSi el mensaje ha sido canjeado para ser un mensaje animado (bits).
flagsInfoInformación sobre los flags (automod) del mensaje.
roomIdID del canal.
userIdID del usuario.
tmiInformación de TMI.
msgIdID del mensaje.
messageMensaje procesado (sanitizado) para mostrar emotes. Devuelve un elemento <span>.
rawMessageMensaje sin procesar.

Respuestas a los mensajes

ParámetroDescripción
typeTipo de evento: reply en este caso.
userLoginNombre del usuario original.
parentUserLoginNombre del usuario original.
msgBodyMensaje original al que se le responde.
userIdID del usuario original.
parentMsgIdID del mensaje original.
msgIdID del mensaje de respuesta.

Información de bits

ParámetroDescripción
bitsNúmero de bits (cheers) enviados en el mensaje.

Información de flags

ParámetroDescripción
messageFragmentFragmento del mensaje marcado por el automod.
scoreListLista de flags alcanzados por el fragmento de mensaje.

Los scoreList tienen un campo level (numérico) y un campo flag que puede ser:

FlagDescripción
IISCORE: Identity language (raza, religión, género, orientación, discapacidad, hate…)
SSSCORE: Sexually explicit language (palabras de tipo sexual, partes íntimas…)
AASCORE: Aggressive language (hostilidad, bullying…)
PPSCORE: Profanity (lenguaje vulgar, útil para mantener un chat family-friendly)