UserPersistenceNumbers Klasse Feedback
Mit dieser Klasse ist es möglich nicht User-spezifische Abfragen auf die UserPersistence
auszuführen.
Übersicht
Methoden
- addNumber static
- deleteAll static
- each static
- getAllKeys static
- getCount static
- getNicksByKey
- getPosition static
- getRank static
- getSortedEntries static
- getSortedEntriesAdjacent static
- getSum static
- getUserIdsByKey
- updateKey static
- updateValue static
Methoden
addNumber Feedback
-
key
-
value
-
[parameters]
Addiert einen Wert für Einträge mit einem bestimmten key
in der UserPersistence.
Hinweis: Da diese Methode ein Batch-Update ist werden keine Change-Listener (ToplistRankChangeEvent, ToplistLabelChangeEvent) ausgelöst.
Parameter:
-
key
StringName des keys, der betrachtet werden soll
-
value
NumberWert der addiert werden soll
-
[parameters]
Object optionalObjekt, mit dem bestimmt werden kann, welche Einträge betrachtet werden sollen
-
[minimumValue]
Number optionalMindestwert, den der Eintrag haben muss, um für die Änderung in Betracht zu kommen
-
[maximumValue]
Number optionalHöchstwert, den der Eintrag haben darf, um für die Änderung in Betracht zu kommen
-
[targetUsers]
User[] optionalNutzer, auf die die Abfrage limitiert werden soll. Achtung: Es wird keine Änderung vorgenommen, falls der Nutzer für diesen
key
keinen Eintrag hat
-
Rückgabewert:
Anzahl der Einträge, die geändert wurden
Beispiel:
UserPersistenceNumbers.addNumber('gold', 100, {
minimumValue: 0,
maximumValue: 500
});
deleteAll Feedback
-
key
Löscht alle gespeicherten Zahlen-Werte für den übergebenen key
.
Parameter:
-
key
String
Rückgabewert:
Anzahl der gelöschten Einträge
Beispiel:
var deleted = UserPersistenceNumbers.deleteAll('knuddelSpent');
each Feedback
-
key
-
callback
-
[parameters]
Ruft eine Funktion für alle Nutzer auf, die einen bestimmten key
in der UserPersistence
gesetzt haben.
Hierbei greifen die übergebenen Filter.
Parameter:
-
key
String -
callback
Functionwird asynchron für jeden Eintrag aufgerufen. Wenn diese Methode
false
returned, dann wird für alle weiteren Einträge der callback nicht aufgerufen. -
[parameters]
Object optional-
[ascending]
Boolean optionalEntscheidet, ob numerisch aufwärts (
true
, default) oder abwärts (false
) sortiert werden soll. -
[minimumValue]
Number optional -
[maximumValue]
Number optional -
[maximumCount]
Number optionalMaximale Anzahl an Elementen, für die each aufgerufen werden soll.
-
[onStart]
Function optionalMethode, die aufgerufen wird, bevor damit begonnen wird für jedes Element die
callback
-Methode aufzurufen. -
[onEnd]
Function optionalMethode, die aufgerufen wird, nachdem für jedes Element die
callback
-Methode aufgerufen wurde oder die callback-Methodefalse
returned hat. -
[online]
Boolean optionalcallback
nur für User mit dem entsprechenden Online Status aufgerufen (so wieuser.isOnline() == online
). Es wird aber empfohlen anstattuser.isOnline()
diesen Parameter zu verwenden, da dieser intern optimiert ist und nur die passenden User überhaupt lädt.
-
Beispiel:
UserPersistenceNumbers.each('points', function(user, value, index, totalCount, key) {
var place = index + 1;
user.sendPostMessage('Toplistenplatzierung', 'Gratulation. Du hast diesen Monat den ' + place + '. Platz gemacht.');
return place <= 10;
}, { ascending: false, maximumCount: 10 });
getAllKeys Feedback
-
[filterKey]
Liefert alle keys, die für User in der Persistence gespeichert wurden.
Parameter:
-
[filterKey]
String optionalZeichenkette, die im key vorkommen muss, damit sie für die Rückgabe relevant ist
Rückgabewert:
Liste mit allen keys
Beispiel:
var allKeys = UserPersistenceNumbers.getAllKeys(); // i.e.: [ 'points', 'knuddelLost' ]
getCount Feedback
-
key
-
[parameters]
Liefert die Anzahl aller unterschiedlichen Nutzer, die Werte für einen bestimmten key
gespeichert haben.
Hierbei kann optional der Wertebereich über die parameters
eingegrenzt werden.
Parameter:
Rückgabewert:
Beispiel:
var usersPlayed = UserPersistenceNumbers.getCount('usersPlayed');
getNicksByKey Feedback
-
key
-
callback
Liefert ein Array von Nicks für einen bestimmten key
.
Beispiel:
UserPersistenceNumbers.getNicksByKey(
"playedGame",
function(nicks) {
KnuddelsServer
.getDefaultBotUser()
.sendPublicMessage(JSON.stringify(nicks))
}
);
getPosition Feedback
-
key
-
user|userId
-
[parameters]
Liefert die absolute Position des Nutzers in der Liste. Die Position ist im Gegensatz zum Rang immer eindeutig.
Bei gleichem Wert hat der Nutzer die höhere Position, der zuerst einen Eintrag in der Persistenz hatte.
Mit der Methode getRank kann man den Rang des Nutzers herausfinden. Dieser ist identisch, wenn unterschiedliche Nutzer denselben Wert haben.
Parameter:
Rückgabewert:
Beispiel:
var position = UserPersistenceNumbers.getPosition('points', user, {
ascending: false
}); // i.e.: 2
getRank Feedback
-
key
-
user|userId
-
[parameters]
Liefert den Rang des Nutzers. Der Rang ist nicht eindeutig. Bei gleicher Punktzahl haben Nutzer denselben Rang. Mit der Methode getPosition kann man die Position eindeutige Position, statt des Ranges herausfinden.
Parameter:
Rückgabewert:
Beispiel:
var rank = UserPersistenceNumbers.getRank('points', user, {
ascending: false
}); // i.e.: 1
getSortedEntries Feedback
-
key
-
[parameters]
Liefert ein Array mit UserPersistenceNumberEntry
-Objekten für einen bestimmten key
.
Hierdurch kann beispielsweise eine blätterbare Topliste abgebildet werden.
Parameter:
-
key
String -
[parameters]
Object optional-
[ascending]
Boolean optionalEntscheidet, ob numerisch aufwärts (
true
, default) oder abwärts (false
) sortiert werden soll. -
[count]
Number optionalAnzahl der Einträge (default 25, maximal 100)
-
[page]
Number optionalSeite, die abgerufen werden soll (default 0)
-
[minimumValue]
Number optional -
[maximumValue]
Number optional
-
Rückgabewert:
Gefundene Elemente - falls keine Elemente vorhanden sind ist das Array leer.
Beispiel:
var bestUsers = UserPersistenceNumbers.getSortedEntries('points', {
ascending: false,
count: 10,
});
getSortedEntriesAdjacent Feedback
-
key
-
user|userId
-
[parameters]
Liefert ein Array mit UserPersistenceNumberEntry
-Objekten für einen bestimmten key
. Hierbei werden die nähesten Elemente gewählt,
die am übergebenen User/UserId liegen.
Beispiel: Der Nutzer ist in der Liste auf Position 20, dann werden die Resultate von 14-24 bei einem Count von 10 ausgegeben. Beispiel: Der Nutzer ist in der Liste auf Position 3, dann werden die Resultate von 1-10 bei einem Count von 10 ausgegeben.
Parameter:
Rückgabewert:
Gefundene Elemente - falls keine Elemente vorhanden sind ist das Array leer.
Beispiel:
var toplistForUser = UserPersistenceNumbers.getSortedEntriesAdjacent('points', user, {
ascending: false,
count: 10,
});
getSum Feedback
-
key
Liefert die Summe aller via UserPersistence
gespeicherten Zahlen für den übergebenen key
.
Parameter:
-
key
String
Rückgabewert:
Summe
Beispiel:
var totalKnuddelSpent = UserPersistenceNumbers.getSum('knuddelSpent');
getUserIdsByKey Feedback
-
key
-
callback
Liefert ein Array von UserIds für einen bestimmten key
.
Beispiel:
UserPersistenceNumbers.getUserIdsByKey(
"playedGame",
function(userIds) {
KnuddelsServer
.getDefaultBotUser()
.sendPublicMessage(JSON.stringify(userIds))
}
);
updateKey Feedback
-
oldKeyName
-
newKeyName
Ändert einen bestimmten key
bei allen UserPersistence.
Parameter:
Rückgabewert:
Anzahl der aktualisierten Nutzer
Beispiel:
var keyChangeCount = UserPersistenceNumbers.updateKey('foo', 'bar');
updateValue Feedback
-
key
-
oldValue
-
newValue
Ändert alle Werte für einen bestimmten key
, die vorher einen bestimmten anderen Wert hatten in der UserPersistence.
Hinweis: Da diese Methode ein Batch-Update ist werden keine Change-Listener (ToplistRankChangeEvent, ToplistLabelChangeEvent) ausgelöst.
Parameter:
Rückgabewert:
Anzahl der Einträge, die geändert wurden
Beispiel:
UserPersistenceNumbers.updateValue('points', 0, 1000);