KI fragen
Deutsch DE
Zu Watbot

Variablen

Variablen des Kontakts speichern die Daten einer Person: Stadt, gewählter Strauß, Bestellsumme. Globale Variablen gelten für den ganzen Bot: Adresse des Ladens, Wechselkurs, Bestellzähler. Wo sie angezeigt werden und wie Sie sie in eine Nachricht einfügen, steht unter Daten zum Einfügen.

Was die Funktionen schreiben, wird gespeichert, nachdem der Code ohne Fehler beendet wurde. Innerhalb des Codes sieht das Lesen das Geschriebene bereits.

getContactVariable

getContactVariable(name)

Liefert den Wert einer Variablen des Kontakts.

Parameter Typ Was übergeben wird
name Zeichenkette Name der Variablen wie in der Kontaktkarte. Leerzeichen und Umlaute sind erlaubt

Liefert den Wert als Zeichenkette oder undefined, wenn der Kontakt keine solche Variable hat. Für Berechnungen umschließen Sie den Wert mit Number().

var count = Number(getContactVariable('anzahl_rosen') || 0);

if (count >= 11) {
    setContactVariable('rabatt', 10);
}

Hat derselbe Code die Variable geschrieben, liefert die Funktion den Wert in der Form, in der er geschrieben wurde: Eine Zahl bleibt eine Zahl.

setContactVariable

setContactVariable(name, value)

Schreibt eine Variable des Kontakts. Gibt es die Variable nicht, wird sie angelegt.

Parameter Typ Was übergeben wird
name Zeichenkette Name der Variablen
value Zeichenkette, Zahl, true oder false Wert

Liefert nichts.

Ein Objekt, ein Array, null und undefined werden nicht unverändert gespeichert — die Variable erhält einen leeren Wert. Um ein Objekt oder Array zu speichern, wandeln Sie es in eine Zeichenkette um und lesen es beim Abruf zurück:

setContactVariable('warenkorb', JSON.stringify(['Rosen', 'Tulpen']));

var cart = JSON.parse(getContactVariable('warenkorb') || '[]');

Wahrheitswerte speichern Sie besser als Zeichenketten, etwa 'ja' und 'nein': true und false kommen beim nächsten Lesen in einem anderen Block als Zeichenketten '1' und '' zurück.

deleteContactVariable

deleteContactVariable(name)

Löscht eine Variable des Kontakts.

Parameter Typ Was übergeben wird
name Zeichenkette Name der Variablen

Liefert nichts. Nach dem Löschen liefert getContactVariable mit diesem Namen undefined.

deleteContactVariable('gutscheincode');

getGlobalVariable

getGlobalVariable(name)

Liefert den Wert einer globalen Variablen des Bots.

Parameter Typ Was übergeben wird
name Zeichenkette Name der globalen Variablen

Liefert den Wert als Zeichenkette oder undefined, wenn es keine solche Variable gibt.

var freeDelivery = Number(getGlobalVariable('gratis_lieferung_ab') || 0);
var sum = Number(getContactVariable('bestellsumme') || 0);

if (sum >= freeDelivery) {
    sendMessage('Die Lieferung ist für Sie kostenlos.');
}

setGlobalVariable

setGlobalVariable(name, value)

Schreibt eine globale Variable des Bots. Gibt es die Variable nicht, wird sie angelegt. Der Wert ist sofort für alle Kontakte des Bots sichtbar.

Parameter Typ Was übergeben wird
name Zeichenkette Name der globalen Variablen
value Beliebig Wert. Er wird als Zeichenkette gespeichert: Die Zahl 5 wird zu '5', ein Objekt zu '[object Object]', wandeln Sie Objekte daher mit JSON.stringify in eine Zeichenkette um

Liefert nichts.

var orders = Number(getGlobalVariable('bestellungen_heute') || 0);
setGlobalVariable('bestellungen_heute', orders + 1);

Achtung

Läuft Code mit einem solchen Schreibzugriff für mehrere Kontakte gleichzeitig, liest jeder denselben alten Wert, und ein Teil der Erhöhungen geht verloren. Für genaues Zählen eignet sich ein solcher Zähler nicht.

deleteGlobalVariable

deleteGlobalVariable(name)

Löscht eine globale Variable des Bots.

Parameter Typ Was übergeben wird
name Zeichenkette Name der globalen Variablen

Liefert nichts.

deleteGlobalVariable('angebot_des_tages');