Discourse-automation hat keine PN gesendet: keine gültigen Ziele vorhanden

Ich habe einige Warnungen in den Protokollen gesehen, dass das discourse-automation-Plugin keine privaten Nachrichten (PMs) senden konnte. Das Automatisierungs-Plugin verwendet die Benutzernamen zum Zeitpunkt der Auslösung des Triggers und nicht die neuesten Benutzernamen der Benutzer beim Senden von PMs. Da das Skript zum Senden von PMs das verzögerte Senden unterstützt, können Benutzer ihre Benutzernamen ändern, nachdem der Trigger ausgelöst wurde und bevor die PM gesendet wird, was zu Fehlern führt.

Ich denke, dass die Änderung von DiscourseAutomation::PendingPm, um Benutzer-IDs anstelle von Benutzernamen zu speichern, dieses Problem lösen kann:


Bezüglich meines Anwendungsfalls:

Ich habe eine Aufgabe, PMs an neue Benutzer nach einer Verzögerung zu senden, wobei das Automatisierungs-Plugin so konfiguriert ist, dass PMs fünf Minuten nach dem Beitritt der Benutzer zur TL0-Gruppe gesendet werden. Einige neue Benutzer ändern jedoch ihre Benutzernamen unmittelbar nach der Registrierung, was zu Sendeabbrüchen führt.

2 „Gefällt mir“

Es ist ein überraschend kniffliges Kaninchenloch, das ziemlich tief geht.

Wenn man mit dem Graben fertig ist, stellt man fest, dass ein grundlegendes Konstrukt, das wir hatten, PostCreator, nie Benutzer-IDs unterstützt hat

Ich denke, es ist eine großartige Änderung, da alles viel weniger überraschend ist. Benutzer neigen dazu, ein wenig ihre Benutzernamen umzubenennen, wenn sie anfangen.

2 „Gefällt mir“