Community Bot - Inaktivität

Die Inaktivitätsaktionen des Community Bots bieten eine Vielzahl von Möglichkeiten, die Aktivität der Benutzer zu überwachen und darauf zu reagieren. Hier wird dargestellt, wie man Benutzer, die längere Zeit nicht mehr in der Community aktiv waren, daran erinnern und sie auffordern kann, wieder aktiv teilzunehmen. Und wie Benutzer, die auf solche Erinnerungen nicht reagieren, deaktiviert, gesperrt oder sogar gelöscht werden können.

Letzte Aktivität und Bot-eigene Zeiten

Wesentliches Kriterium zur Bewertung der Inaktivität durch den Community Bot ist der Zeitpunkt des letzten Besuchs bzw. der letzten Aktion eines Benutzers, der vom System in der Datenbank gespeichert wird, und zwar in der user-Tabelle in der Spalte lastActivityTime. Der Community Bot speichert zusätzlich in dieser Tabelle, wie häufig ein Benutzer erinnert wurde, wann ein Benutzer das letzte Mal erinnert wurde und wann er deaktiviert bzw. gesperrt wurde.

Grundgerüst

In der Regel sollten für eine schlüssige und konsequente Reaktion auf Inaktivitäten mehrere Bots kombiniert werden. Zwar könnte man alle Benutzer, die z.B. seit 365 Tagen inaktiv sind, mit nur einem Bot löschen. In der Regel will man die Benutzer aber nicht einfach loswerden, sondern man will sie animieren, wieder aktiv zu werden. Erst wenn diese 'Reanimierungsversuche' fehlschlagen, sollte man Benutzer deaktivieren, sperren oder gar löschen.


Typischerweise kommen immer mehrere Bots zum Einsatz:

  1. Bot für das Zurücksetzen der Erinnerungen
  2. Bot für die erste Erinnerung
  3. Bot für weitere Erinnerungen
  4. Bot für Benutzeraktionen (deaktivieren, sperren oder löschen)

Diese Bots bauen auf einander auf, werden entsprechend der Reihenfolge der Erstellung aufgerufen und sollten daher in der genannten Reihenfolge erstellt werden. Zudem wird empfohlen, alle Bots manuell zu erstellen und nicht die Kopier-Funktion zu nutzen, weil dies erfahrungsgemäß fehlerträchtig(er) ist. Zusätzlich sollte der Test-Modus genutzt werden, um die gewählten Bedingungen zu testen.

Bedingungen

Für Inaktivitätsaktionen müssen sowohl Bot-spezifische Benutzer-Bedingungen als auch Allgemeine Benutzer-Bedingungen der WoltLab Suite genutzt werden.


Mit den Allgemeinen Benutzer-Bedingungen trifft man eine Vorauswahl der Benutzer, die bei Inaktivität angefasst werden sollen. Insbesondere können mit diesen Bedingungen bestimmte Benutzergruppen ausgenommen werden. Grundsätzlich sollten Inaktivitätsaktionen auch nur auf im System aktivierte und nicht gesperrte Benutzer angewendet werden.


Mit den Bot-spezifische Benutzer-Bedingungen wird in diesem Kontext festgelegt, unter welchen Bedingungen und ab wann welcher Bot tätig wird. Insbesondere spielen die Anzahl der Erinnerungen und die Tage seit der letzten Erinnerung eine entscheidende Rolle. Dabei ist zu beachten, dass bei vielen Bedingungen mehr als- und weniger als-Werte einzugeben sind. Wer z.B. eine Aktion ab der 4. Erinnerung ausführen lassen will, muss bei Anzahl der Erinnerungen 3 eingeben; mehr als 3 = 4.

1. Bot für das Zurücksetzen der Erinnerungen

Dieser Bot sucht nach Benutzern, die kürzlich aktiv waren oder es gerade sind, und setzt eventuell erhaltene Erinnerungen wieder zurück. Reagiert also ein Benutzer auf eine Erinnerung und loggt sich ein, wird er erst wieder Erinnerungen erhalten, wenn er wieder für die angegebene Zeit inaktiv wird; es wird dann bei der 1. Erinnerung begonnen.


Für diesen Bot ist die Aktion Erinnerungen zurücksetzen zu wählen. Und es sollten die Bot-spezifische Benutzer-Bedingungen erinnert und Tage seit letzter Aktivität weniger als 1 genutzt werden.


2. Bot für die erste Erinnerung

Für diesen Bot ist die Aktion erinnern zu wählen. Es müssen mindestens die Bot-spezifischen Benutzer-Bedingungen nicht erinnert und Tage seit letzter Aktivität mehr als X genutzt werden. X gibt an, wie lange Benutzer inaktiv gewesen sein müssen, bevor die Erinnerung erstellt wird. In diesem Beispiel sind es mehr als 14 Tage.



Der Bot sucht nach allen Benutzern, die noch nicht durch einen Bot erinnert wurden und die mehr als 14 Tage seit ihrer letzten Aktivität nicht online waren. Wegen der Bedingung nicht erinnert wird dieser Bot nur einmal je Benutzer ausgeführt. Es muss also keine (maximale) Anzahl von Erinnerungen angegeben werden.


Bei betroffenen Benutzern werden nach Ausführung des Bots der Zeitpunkt der Erinnerung und die Anzahl der Erinnerungen (wird 1) in der Datenbank gespeichert.

3. Bot für weitere Erinnerungen

Für diesen Bot ist ebenfalls die Aktion erinnern zu wählen. Damit nicht zu viele Erinnerungen zu schnell und an die falschen Benutzer versendet werden, müssen weitere Konfigurationsoptionen / Bedingungen angegeben werden:

  • Maximale Anzahl von Erinnerungen (Feld Erinnerungen); sollen insgesamt 4 Erinnerungen verschickt werden, muss hier 4 eingegeben werden.
  • Bot-spezifische Benutzer-Bedingung erinnert, womit nur Benutzer erinnert werden, die bereits die erste oder durch diesen Bot weitere Erinnerungen erhalten haben.
  • Bot-spezifische Benutzer-Bedingung Tage seit letzter Erinnerung.

Die letzte Bedingung legt den Zeitraum zwischen den Erinnerungen fest. Die Tage seit letzter Aktivität spielen dabei keine Rolle (mehr) und müssen auch nicht angegeben werden. Der 1. Bot für das Zurücksetzen der Erinnerungen verhindert ja, dass wieder aktive Benutzer erinnert werden.



Bei jedem betroffenen Benutzer werden nach erfolgreicher Erinnerung die Anzahl der Erinnerungen und der Zeitpunkt der Erinnerung in der Datenbank aktualisiert.

4. Bot für Benutzeraktionen

Benutzeraktionen sollten erst nach der letzten Erinnerung durchgeführt werden. Es ist daher wichtig, auch immer die Bot-spezifischen Benutzer-Bedingung Erinnert, Aktiviert, Tage seit letzter Erinnerung und Anzahl der Erinnerungen zu konfigurieren.


Soll ein Benutzer nach weiteren mehr als 14 Tagen nach der letzten, in diesem Fall der 4. Erinnerung deaktiviert werden, muss der Bot mit der Aktion "deaktivieren" so konfiguriert werden:



Die Zustand-Bedingung Aktiviert verhindert, dass Benutzer eine eventuelle Benachrichtigung über die Deaktivierung mehrfach erhalten. Vergleichbares gilt für die Allgemeinen Benutzer-Bedingungen Aktiviert und Nicht gesperrt.


Der Zeitpunkt der Deaktivierung wird durch den Bot in der Datenbank gespeichert und kann, ähnlich wie die Erinnerungen zur Bedingung für weitere Bots gemacht werden. So können durch den Bot deaktivierte Benutzer z.B. nach weiteren 14 Tagen gelöscht werden. Hierzu muss die zusätzliche Bedingung Tage seit letzter Deaktivierung konfiguriert werden.


Auch ist es damit möglich, durch den Bot deaktivierte Benutzer wieder zu aktivieren, wenn sie wieder online sind. Aber das wird dann immer komplizierter ;-)

Hierzu muss ein zusätzlicher Bot konfiguriert werden, der dem für das "Zurücksetzen der Erinnerungen" sehr ähnlich ist (Tage seit letzter Aktivität weniger als 1). Allerdings dürfen Erinnerungen nicht als Bedingung genutzt werden, weil diese ja bereits durch den genannten Bot zurückgesetzt worden sind. Der Aufruf der Bots erfolgt ja in der Reihenfolge der Erstellung.


Das Entsperren durch einen Bot ist nicht möglich.