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');