Hallo

Ich möchte gerne eine "variable" Ausgabe bei einem Befehl erzeugen in diesem Fall: der user schaltet den newsletter ein/aus dann soll die meldung lauten "Du hast den newsletter erfolgreich NEUERSTATUS" wobei NEUERSTATUS einfach durch "deaktiviert" oder "aktiviert" getauscht werden soll

Das habe ich nun so gemacht:

Code:
    'lnewsletter': function (user, params, command) {

        var newsletter = user.getPersistence().getNumber('Newsletter', 0);
        var newsswitch;

        if(newsletter == 1) {
            newsswitch = 'deaktiviert';
            setUserNewsletter(user, 2);
        }
        else {
            newsswitch = 'aktiviert';
            setUserNewsletter(user, 1);
        }

        lang['AppNewsletterSwitch'] = lang['AppNewsletterSwitch'].replace(/\$SWITCH/g, newsswitch);
        BOTUSER.sendPrivateMessage(lang['AppNewsletterSwitch'], user);

    }


Problem ist nun:

das wort das beim ersten benutzen der funktion gesetzt wird, bleibt für immer
Wenn der Newsletter beim ersten mal also aktiviert war und dann deaktiviert wird, ist es egal wie oft ich die funktion verwende, es wird mir immer ausgegeben "Du hast den Newsletter erfolgreich deaktiviert"
Seltsamerweise wird sonst alles richtig ausgeführt (status von 1 auf 2 und umgekehrt funktioniert immer richtig) nur das wort ändert sich nie solange wie die app läuft

Was ich nun alles probiert habe:

Am ende variable auf den wert null setzen
Die variable zu einem leeren string ändern
Ich hab auch versucht die letzten beiden zeilen in die anweisungen zu packen und statt mit einer variable das wort zu ersetzen das wort direkt in die replace anweisung zu schreiben

Nichts geht... das kann doch nicht so schwer sein? :-D