Algoritmo de cálculo similar a una hoja de tiempo [cerrado]

Voy a comenzar a trabajar en un bot de discordia personal (no relevante) que usará eventos de voz para rastrear el tiempo del canal de voz de los miembros. Mi plan es crear una tabla de base de datos para contener datos de eventos, como unirse, silenciar, activar, ensordecer, no sordo, dejar eventos por gremio, usuario y canal. La tabla se verá así:

---------------------------------------------------------
eventId  userId  guildId  channelId  eventType  timestamp
1        1       1        1          join       0
1        1       1        1          mute       10
1        1       1        1          unmute     20
1        1       1        1          leave      30
---------------------------------------------------------

La pregunta principal que hago es:

¿Cómo puedo procesar estos datos recopilados para hacer cálculos como una hoja de tiempo? El tiempo silenciado no se cuenta, como una pausa en el trabajo, por lo que el tiempo de voz total de este usuario sería de 10 segundos antes de silenciar y 10 segundos después de desactivar el silencio, para un total de 20 segundos de voz.

Supongo que estoy buscando una solución similar a pandas (si existe tal cosa para javascript), o una forma en que pueda hacer una consulta de base de datos para calcular estos tiempos desde el presente hasta una marca de tiempo determinada.

Answer