Table of Contents
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Greeter
Der Greeter begrüßt neue Nutzer automatisch mit einer konfigurierbaren Nachricht, wenn sie zum ersten Mal auf einem überwachten Kanal schreiben.
Features
- Automatische Erstbegrüßung (keine Keyword-Eingabe nötig)
- Optionale Mesh-Statistik in der Begrüßung (
{total_contacts},{repeaters}, …) - Mehrteilige Nachrichten (Pipe-getrennt
|) für gestaffelte Begrüßungen - Kanal-spezifische Begrüßungstexte
- Rollout-Modus: Bestehende Nutzer schrittweise begrüßen (z. B. nach Aktivierung)
- Backfill: Bereits gesehene Nutzer aus der Nachrichtenhistorie als „gegrüßt" markieren
- Dead-Air-Delay: Wartet, ob ein Mensch begrüßt, bevor der Bot antwortet
- Levenshtein-Ähnlichkeit: Erkennt Nutzer trotz leicht geänderter ID
Konfiguration
[Greeter_Command]
enabled = true
# Begrüßungstext – Platzhalter: {sender}
greeting_message = Willkommen im Mesh, {sender}! Du bist das erste Mal hier.
# Mesh-Info anhängen?
include_mesh_info = true
mesh_info_format = \n\n📡 Mesh: {total_contacts} Kontakte, {repeaters} Repeater
# Mehrteilige Begrüßung (Pipe-getrennt, werden als separate Nachrichten gesendet)
# greeting_message = Hallo {sender}, willkommen!|Hier ein paar Infos zum Mesh…
# Kanäle auf denen der Greeter aktiv ist (leer = alle monitor_channels)
channels = Public,#dd-ping
# Kanal-spezifische Begrüßungen
# channel_greetings = Public:Willkommen im Public-Kanal, {sender}!
# Nur einmal global (false) oder einmal pro Kanal (true)?
per_channel_greetings = false
# Rollout: Vorhandene Nutzer über N Tage nachträglich begrüßen (0 = deaktiviert)
rollout_days = 0
# Backfill beim Start: Bereits gesehene Nutzer als gegrüßt markieren?
auto_backfill = false
backfill_lookback_days = 30
# Warte N Sekunden, ob ein Mensch zuerst begrüßt (0 = sofort)
dead_air_delay_seconds = 0
# Begrüßung zurückhalten wenn ein anderer Nutzer bereits gegrüßt hat?
defer_to_human_greeting = false
# Levenshtein-Distanz für ähnliche IDs (0 = exakt)
levenshtein_distance = 0
Template-Variablen
| Variable | Bedeutung |
|---|---|
{sender} |
Sender-ID des neuen Nutzers |
{total_contacts} |
Gesamtzahl bekannter Kontakte im Mesh |
{repeaters} |
Anzahl aktiver Repeater |
{companions} |
Anzahl Companion-Nodes |
{recent_activity_24h} |
Aktive Kontakte der letzten 24h |
Rollout-Modus
Beim erstmaligen Aktivieren des Greeters wurden alle bisherigen Nutzer noch nie begrüßt. Der Rollout sendet die Begrüßung schrittweise über mehrere Tage:
rollout_days = 7 # Verteile alle Begrüßungen über 7 Tage
auto_backfill = true # Nutzer aus den letzten 30 Tagen als gegrüßt markieren
Mit auto_backfill = true werden Nutzer aus dem konfigurierten Zeitfenster beim Start als bereits gegrüßt markiert — verhindert Spam bei Reaktivierung.
Web-Viewer
Der Greeter ist unter /greeter im Web-Viewer sichtbar:
- Liste der gegrüßten Nutzer (Zeitpunkt, Kanal)
- Rollout-Status und Fortschritt
- Manuelles Aufheben einer Begrüßung (re-greet)
Technische Details
- Tracking in der Tabelle
greeted_users(sender_id, channel, Zeitstempel) - Trigger: jede eingehende Kanal-Nachricht (
message_handler.py) - Kein Keyword notwendig — läuft parallel zu allen anderen Commands
- Rate-Limit: nutzt globalen Bot-TX-Limiter
Navigation
Einstieg
Konfiguration
Web Viewer
Bot-Befehle
Service Plugins
Weitere