
kobold
------

 KOMMANDO:
    kobold [<schalter>]

 ARGUMENTE:

     <schalter> (optional)
        'ein'
          der Kobold merkt sich Mitteilungen an Dich, wenn Du online oder
          offline bist
        'online'
          der Kobold merkt sich Mitteilungen an Dich, wenn Du online bist
        'offline'
          der Kobold merkt sich Mitteilungen an Dich, wenn Du offline bist
        'aus'
          der Kobold merkt sich keine Mitteilungen an Dich

 BESCHREIBUNG:
    Der Kobold hat mehrere Funktionen, die mit dem Speichern von
    Mitteilungen in Zusammenhang stehen.

    Mit 'kobold offline' merkt sich der Kobold Teile-mit, die an Dich
    geschickt werden, wenn Du nicht anwesend (offline) bist. Nach dem
    naechsten Login kannst Du sie dann mit dem Befehl 'kobold' anzeigen
    lassen.

    Mit 'kobold online' merkt sich der Kobold bestimmte Kommunikation, die
    beim Bearbeiten oder Lesen eines Textes oder anderere Aktionen eingeht.
    Diese wird Dir dann nicht direkt angezeigt und stoert Dich so nicht.
    Wenn man damit fertig ist, kann dann mittels `kobold', ohne Argumente,
    abgerufen werden, was er sich gemerkt hat. Das sollte aber im Normalfall
    nicht noetig sein, da sich der Kobold automatisch meldet.

    Mit `kobold ein' schaltet man beide Funktionen des Kobolds ein.

    Wuenscht man keine solche Ruhemassnahme oder Speicherung von TMs, wenn
    man offline ist, kann man den Kobold mit 'kobold aus' wieder abschalten.

    Standardmaessig ist der Kobold auf 'offline' geschaltet.

    Der Kobold kann sich max. 255 Mitteilungen merken, sind diese
    ueberschritten, gehen neuere Mitteilungen verloren bzw. koennen keine
    weiteren mehr zugestellt werden.

    Abgeblockt werden im 'online'-Modus folgende Meldungen:
    mrufe, Ebenen, Mitteilungen (erzaehle, teile mit)

    Nicht abgeblockt werden hingegen folgende Meldungen:
    sage, jegliche lokalen Emotionen sowie sonstige lokale (also im selben
    Raum) erzeugte Meldungen, rufe, ...

    *Merke*: Die 'online'-Funktion des Kobolds funktioniert nur, wenn man
    einen Text liest und more benutzt wird oder wenn man einen Text editiert
    (z.B. beim Postschreiben, Artikelschreiben). Die 'offline'-Funktion
    speichert nur Teile-Mit an Dich, keine andere Kommunikation.

 SIEHE AUCH:
    rufe, teile (mit), weg, ebenen

 LETZTE AeNDERUNG:
    24.02.2022, Zesstra

