Capture Listener
Por ejemplo, imagina que cada vez que se realiza una petición a la ruta ‘/logs’, mi código ejecuta una tarea que comprueba si los nuevos logs difieren de los anteriores. Bueno, veamos cómo se puede hacer esto:APP_STATUS, LOGS o BACKUP. Esta función debe recibir dos parámetros:
before(representa el estado antes de la petición)after(representa el estado después de la petición)
before y after depende de qué endpoint esté “escuchando” el listener. Si es la ruta APP_STATUS, recibirá un StatusData, LOGS recibirá un LogsData y BACKUP recibirá un BackupData.
Como habrás notado en el ejemplo anterior, la primera vez que ocurre la comparación entre los logs, after != before devuelve True. Esto sucede precisamente porque after es igual a LogsData(logs=''), ya que aún no hay nada almacenado en la caché internamente.
Información adicional sobre este decorador
Información adicional sobre este decorador
- Si usas discord.py o algún fork (probablemente lo uses), debes
saber que lo que diferencia los eventos es el nombre
de las funciones que el decorador envuelve, pero aquí es diferente. Para saber
a qué
ruta de la API debe “escuchar” el decorador, usamos el parámetro
endpopint, que recibe una claseEndpoint, por lo que el nombre de la función que el decorador envuelve depende de ti. - La función que el decorador envuelve puede ser en realidad cualquier cosa que sea
un callable. Esto incluye funciones normales, corrutinas e incluso
clases (se llamará a
__init__). - Si el endpoint no es un [Endpoint.app_status()], [Endpoint.logs()] o [Endpoint.backup()],
solo se devolverá un parámetro
response(de tiposquarecloud.http.Response).
Request Listener
Los “request listeners” hacen prácticamente lo mismo. Pero aquí usas el [Client], y el retorno de todos los endpoints son objetossquarecloud.http.Response.
Pasar argumentos adicionales
Puedes pasar a algunos métodos un argumento de palabra clave llamadoextra, y este será pasado a tu listener

