Écouteur de capture
Par exemple, imaginez qu’à chaque fois qu’une requête est effectuée vers la route « /logs », mon code exécute une tâche qui vérifie si les nouveaux logs diffèrent des anciens. Voyons comment cela peut être réalisé :APP_STATUS, LOGS ou BACKUP. Cette fonction doit prendre deux paramètres :
before(représente l’état avant la requête)after(représente l’état après la requête)
before et after dépend de l’endpoint que l’écouteur « écoute ». S’il s’agit de la route APP_STATUS, il recevra un StatusData, LOGS recevra un LogsData et BACKUP recevra un BackupData.
Comme vous l’avez peut-être remarqué dans l’exemple ci-dessus, la première fois que la comparaison entre les logs a lieu, after != before renvoie True. Cela se produit précisément parce que after est égal à LogsData(logs=''), car rien n’est encore stocké dans le cache en interne.
Informations complémentaires sur ce décorateur
Informations complémentaires sur ce décorateur
- Si vous utilisez discord.py ou l’un de ses forks (c’est probablement le cas), vous devez
savoir que ce qui différencie les événements est le nom
des fonctions que le décorateur enveloppe, mais ici c’est différent. Pour savoir
quelle
route de l’API le décorateur doit « écouter », nous utilisons le paramètre
endpopint, qui reçoit une classeEndpoint; ainsi, le nom de la fonction que le décorateur enveloppe est à votre discrétion. - La fonction que le décorateur enveloppe peut en réalité être tout ce qui est
appelable. Cela inclut les fonctions classiques, les coroutines et même
les classes (
__init__sera appelé). - Si l’endpoint n’est pas un [Endpoint.app_status()], [Endpoint.logs()] ou [Endpoint.backup()],
seul un paramètre
response(de typesquarecloud.http.Response) sera renvoyé.
Écouteur de requête
Les « écouteurs de requête » font pratiquement la même chose. Mais ici, vous utilisez le [Client], et la valeur de retour de tous les endpoints est un objetsquarecloud.http.Response.
Passer des arguments supplémentaires
Vous pouvez passer à certaines méthodes un argument nomméextra, et celui-ci sera transmis à votre écouteur

