.BEFORE_SEND
Verarbeitet Nachrichten, bevor sie an den Bot gesendet werden (RAGAI.BEFORE_SEND).
Registrierte Hooks laufen in Registrierungsreihenfolge über jede per RAGAI.MSG.prompt()/userMessage()
gesendete Nachricht. Ein Hook kann den Text verändern (String zurückgeben), das Senden komplett unterdrücken
(null zurückgeben) oder asynchron arbeiten (Promise zurückgeben).
Ruft ein Hook selbst wieder RAGAI.MSG.prompt()/userMessage() auf, würde das normalerweise einen neuen
Sendevorgang - und damit erneut alle Hooks - auslösen (Endlosschleife). Verschachtelte Aufrufe werden daher
per isRunning-Flag erkannt und unverändert (ohne erneute Hook-Verarbeitung) durchgereicht, inklusive einer
Warnung in der Browser-Konsole.
Methoden
.add(fn)
Registriert eine neue Nachrichten-Verarbeitungsfunktion.
| Parameter | Typ | Beschreibung |
|---|---|---|
fn | MsgHookFn |
Rückgabewert: void
.run(message)
Führt alle registrierten Funktionen aus und gibt das modifizierte Ergebnis zurück.
Rückgabe null bedeutet: Verarbeitung abbrechen.
Schützt vor Endlosrekursion: Löst ein Hook selbst wieder einen Sendevorgang aus
(z.B. RAGAI.MSG.prompt() / .userMessage()), würde run() erneut aufgerufen
werden, während der äußere Durchlauf noch läuft. In diesem Fall wird die Nachricht
unverändert durchgereicht, statt die Hooks erneut (und potenziell endlos) auszuführen.
| Parameter | Typ | Beschreibung |
|---|---|---|
message | string |
Rückgabewert: Promise<string | null>
.clear()
Entfernt alle registrierten Funktionen.
Rückgabewert: void
.list()
Gibt die aktuell registrierten Funktionen zurück (z.B. zu Debug-Zwecken).
Rückgabewert: MsgHookFn[]