
Marco de simulación de ejercicios técnicos de mesa
Framework de Simulación de Ejercicios Técnicos de Mesa (Tabletop)
T3SF es un framework que ofrece una estructura modular para la orquestación de eventos basados en una lista maestra de eventos de escenario (MSEL) junto con un conjunto de reglas definidas para cada ejercicio (opcional) y una configuración que permite definir los parámetros de la plataforma correspondiente. El módulo principal realiza la comunicación con el módulo específico (Discord, Slack, Telegram, etc.) que permite presentar los eventos en los canales de entrada como inyectables para cada plataforma. Además, el framework soporta diferentes casos de uso: "organización única, múltiples áreas", "múltiples organizaciones, área única" y "múltiples organizaciones, múltiples áreas".
Para usar el framework con la plataforma deseada, ya sea Slack o Discord, necesitarás instalar los módulos requeridos para esa plataforma. Pero no te preocupes, instalar estos módulos es fácil y directo.
Para ello, puedes seguir esta guía paso a paso, o si ya te sientes cómodo instalando paquetes con pip, ¡puedes saltar al último paso!
# Python 3.6+ requerido
python -m venv .venv # Crearemos un entorno virtual de Python
source .venv/bin/activate # Entremos en él
pip install -U pip # Actualizar pip
Una vez que hayas creado un entorno virtual de Python y lo hayas activado, puedes instalar el framework T3SF para la plataforma deseada ejecutando el siguiente comando:
pip install "T3SF[Discord]" # Instalar el framework para trabajar con Discord
o
pip install "T3SF[Slack]" # Instalar el framework para trabajar con Slack
Esto instalará el framework T3SF junto con las dependencias requeridas para la plataforma elegida. Una vez completada la instalación, puedes empezar a usar el framework con la plataforma de tu elección.
Recomendamos encarecidamente seguir las guías específicas de cada plataforma en nuestro Read The Docs. Aquí tienes los enlaces:
¡Creamos este framework para simplificar todo tu trabajo!
$ docker run --rm -t --env-file .env -v $(pwd)/MSEL.json:/app/MSEL.json base4sec/t3sf:slack
Dentro de tu archivo .env debes proporcionar los tokens SLACK_BOT_TOKEN y SLACK_APP_TOKEN. Lee más sobre ello aquí.
Hay otra variable de entorno a establecer, MSEL_PATH. Esta variable le indica al framework en qué ruta se encuentra el MSEL. Por defecto, la ruta del contenedor es /app/MSEL.json. Si cambias la ubicación de montaje del volumen, cambia también la variable.
$ docker run --rm -t --env-file .env -v $(pwd)/MSEL.json:/app/MSEL.json base4sec/t3sf:discord
Una vez que tengas todo listo, usa nuestra plantilla para el main.py, o modifica el siguiente código:
Aquí tienes un ejemplo si quieres ejecutar el framework con el bot de Discord y una GUI.
from T3SF import T3SF
import asyncio
async def main():
await T3SF.start(MSEL="MSEL_TTX.json", platform="Discord", gui=True)
if __name__ == '__main__':
asyncio.run(main())
O si prefieres ejecutar el framework sin GUI y con Slack en su lugar, puedes modificar los argumentos, ¡y eso es todo!
Sí, ¡así de simple!
await T3SF.start(MSEL="MSEL_TTX.json", platform="Slack", gui=False)
Si necesitas más ayuda, siempre puedes consultar nuestra documentación aquí!
Dentro de tu archivo .env debes proporcionar el token DISCORD_TOKEN. Lee más sobre ello aquí.
Hay otra variable de entorno a establecer, MSEL_PATH. Esta variable le indica al framework en qué ruta se encuentra el MSEL. Por defecto, la ruta del contenedor es /app/MSEL.json. Si cambias la ubicación de montaje del volumen, cambia también la variable.