Saltar al contenido principal

silsbot: comandos y uso de /eltl

silsbot es el bot de Discord del equipo. Corre en un container en la VM sils-dev-no-spot, en el proyecto GCP sils-keeper-infra. El código está en el repo silsbot.

Los comandos son globales: aparecen en el servidor Silstech y en el chat directo con el bot. /consumo-equipo y /reindexar son para admins: en el chat directo el bot verifica que seas administrador en Silstech antes de ejecutarlos.

Comandos​

IA​

ComandoQué haceQuién lo puede usar
/eltl <texto>Responde preguntas sobre el código de los proyectos, la documentación de Silstech Docs y datos del equipo. Ver /eltl.Usuarios habilitados
/consumoMuestra cuántos tokens de IA usaste hoy y qué porcentaje del cupo es.Todos
/consumo-equipoRanking del consumo de tokens del día, por usuario.Admins de Silstech
/reindexarVuelve a indexar el código de los proyectos que usa /eltl.Admins de Silstech

Equipo y feriados​

ComandoQué hace
/proximocumpleQuién es el próximo en cumplir años.
/quiensigueElige a alguien del equipo al azar.
/proximoferiadoEl próximo feriado.
/proximosferiadosLos próximos 5 feriados. Si alguno es del año siguiente, muestra el año en la fecha.

Los feriados incluyen los nacionales y los de Córdoba. Ver Feriados.

Notificaciones de Claude Code​

ComandoQué hace
/subscribeTe manda por DM un token personal para recibir en Discord las notificaciones de Claude Code. La instalación está en Notificaciones de Claude Code.
/unsubscribeRevoca todos tus tokens de notificaciones.

Varios​

ComandoQué hace
/botsayUna frase célebre al azar.
/horoscopo <sign>El horóscopo del día para un signo, por ejemplo /horoscopo leo.
/estasResponde si el bot está vivo.

Además de los comandos, el bot manda mensajes programados al canal del equipo: saludos de cumpleaños, el aviso de fin del día y los saludos de los lunes y los miércoles.

/eltl​

/eltl responde con IA (Claude Sonnet 5.5). Para cada pregunta usa tres fuentes:

  • Código de los proyectos: busca los fragmentos más relacionados con la pregunta entre los proyectos indexados, que son los repos producto/plataforma/rules-* y motor-reglas. Si la respuesta usa alguno, agrega el link al archivo en GitLab.
  • Silstech Docs: consulta esta documentación con el MCP de docs. Si la respuesta se basa en un documento, agrega su link.
  • Datos del equipo: cumpleaños y feriados. El bot calcula los próximos cumpleaños y feriados con la fecha de hoy en hora de Argentina.

Los links aparecen al final de la respuesta, en la línea 📎, y solo cuando la respuesta usa esa fuente.

Ejemplos​

/eltl texto: cuáles son las herramientas para desarrolladores de la empresa?
/eltl texto: cómo se deploya una cloud function?
/eltl texto: cómo se migró gitlab a la vm nueva?
/eltl texto: qué valida rules-complete-preevaluation antes de crear un evento?
/eltl texto: dónde se calcula el kilometraje en rules-complete-kilometros?
/eltl texto: quién es el próximo en cumplir años?
/eltl texto: cuándo es el próximo feriado?

Las preguntas de código funcionan mejor si nombran el proyecto o la función. Las de documentación, si usan las palabras que aparecen en el documento: la búsqueda en Silstech Docs es por palabra clave.

Seguir la conversación​

En el servidor, cada respuesta de /eltl abre un hilo. Lo que escribas en ese hilo continúa la conversación, y el bot recuerda las preguntas y respuestas anteriores. Por ejemplo:

  1. /eltl texto: qué hace rules-check-related?
  2. En el hilo: y qué pasa si el evento no tiene vehículo?
  3. En el hilo: mostrame la función que lo resuelve

Límites de los hilos:

  • Hasta 10 preguntas por hilo. Después hay que arrancar uno nuevo con /eltl.
  • Una pregunta por vez: mientras el bot responde, no acepta la siguiente.
  • La memoria vive en el bot: si el bot se reinicia, los hilos anteriores dejan de responder.
  • En el chat directo con el bot no hay hilos: después de un /eltl, lo que le escribas en el mismo chat continúa la conversación, con el mismo límite de 10 preguntas. Un /eltl nuevo arranca otra conversación.

Acceso y espera entre preguntas​

  • /eltl solo lo pueden usar los usuarios habilitados en la variable IA_ALLOWED_USERS del bot. Si no estás habilitado, el bot te avisa con un mensaje que solo ves vos.
  • Entre dos /eltl del mismo usuario tienen que pasar 30 segundos. Dentro de un hilo no hay espera.

Feriados​

Los feriados que usan /proximoferiado, /proximosferiados y /eltl están cargados en el repo de silsbot, un archivo por año:

  • data/feriados_<año>.json: las fechas del año, con el día, el mes y una clave del motivo. Por ejemplo, {"mes": 7, "dia": 9, "motivo": "independencia"}.
  • data/feriados_ref.json: el nombre de cada motivo, por ejemplo "independencia": {"motivo": "Día de la Independencia", ...}.

El bot lee todos los años que estén cargados, así que en diciembre ya muestra los feriados de enero del año siguiente. Si no hay datos del año siguiente, /proximoferiado responde que no tiene los próximos feriados cargados.

Hoy están cargados 2026 y 2027. En 2026 se incluyen los feriados de Córdoba del 9 y el 10 de noviembre.

Cargar un año nuevo​

  1. Creá data/feriados_<año>.json con las fechas del año. Los feriados trasladables van en el día al que se mueven, no en la fecha original.
  2. Si hay un motivo nuevo, agregalo a data/feriados_ref.json. Si falta, el bot muestra la clave en lugar del nombre.
  3. Commiteá y deployá el bot. Los archivos se leen al arrancar.

Los puentes turísticos de 2027 todavía no están cargados porque el decreto que los fija no se publicó. Cuando salga, hay que agregarlos a data/feriados_2027.json con el motivo puente-turistico.

Cupo diario de tokens​

Cada usuario tiene un cupo de 3.000.000 de tokens por día para /eltl, equivalente a unos USD 10. El cupo se renueva a las 00:00, hora de Argentina.

Qué cuenta​

Cuentan todos los tokens de cada consulta a la IA:

  • la pregunta y los fragmentos de código que se le pasan al modelo;
  • el historial del hilo, que se reenvía completo en cada pregunta de seguimiento;
  • el contenido de los documentos de Silstech Docs que lee el modelo;
  • la respuesta, incluido el razonamiento interno del modelo.

Por eso las preguntas de seguimiento consumen cada vez más: cuanto más largo es el hilo, más historial se reenvía. Si vas a cambiar de tema, conviene arrancar un /eltl nuevo.

Cuando se llega al cupo​

Antes de cada pregunta, el bot revisa cuánto llevás usado. Si ya llegaste al cupo, no consulta a la IA y te avisa cuánto falta para que se renueve. La última pregunta del día puede pasarse un poco del cupo, porque el consumo se conoce recién cuando termina la respuesta.

  • /consumo: tu consumo del día, en tokens y en porcentaje del cupo.
  • /consumo-equipo: el ranking del día, para admins.

Configuración​

VariableValor por defectoPara qué sirve
IA_DAILY_TOKEN_LIMIT3000000Cupo diario por usuario, en tokens.
IA_USAGE_STORE_PATH./data/ia_usage.jsonArchivo donde se guarda el consumo del día.
IA_ALLOWED_USERSvacío (todos)IDs de Discord habilitados para /eltl, separados por coma.

Las variables están en /sils-dev/bots/docker-compose.yml. El archivo de consumo se monta como volumen, así que el conteo no se pierde cuando se reinicia el bot.