KnuddelTransfer Klasse Feedback
Ein KnuddelTransfer ist ein Container-Objekt für die Daten, die bei einer Knuddel-Transaktion von einem User an eine App anfallen.
Implementiert man den App-Hook onBeforeKnuddelReceived
, so kann man dort entscheiden, ob man den KnuddelTransfer
annimmt oder ablehnt.
Übersicht
Methoden
accept Feedback
()Nimmt die Knuddel aus dem KnuddelTransfer an und übergibt sie an den BotUser,
der mit getReceiver()
abgefragt werden kann.
Diese Methode wirft eine Exception, wenn sie auf einen bereits verarbeiteten Transfer aufgerufen wird.
Sie kann nur erfolgreich aus dem AppHook onBeforeKnuddelReceived
aufgerufen werden.
In der Methode onBeforeKnuddelReceived
kann genau ein Aufruf einer dieser drei Methoden gemacht werden:
Beispiel:
this.onBeforeKnuddelReceived = function(knuddelTransfer) {
if (knuddelTransfer.getSender().isAppDeveloper()) {
// Nimmt die Knuddel an und sendet sie an den Bot.
// Im Anschluss wird onKnuddelReceived aufgerufen.
knuddelTransfer.accept();
knuddelTransfer.getSender().sendPrivateMessage('Vielen Dank!');
} else {
// Lehnt die Knuddel ab und sendet sie zurück an den absendenden
// User oder KnuddelAccount.
knuddelTransfer.reject('Sorry, Knuddel nehme ich von meinem Herrchen an.');
}
};
addToPot Feedback
-
knuddelPot
Nimmt die Knuddel aus dem KnuddelTransfer an und übergibt sie an den übergebenen KnuddelPot.
Diese Methode funktioniert analog zu accept, nur dass die Knuddel im KnuddelPot statt beim BotUser landen.
Diese Methode wirft eine Exception, wenn sie auf einen bereits verarbeiteten Transfer aufgerufen wird.
Sie kann nur erfolgreich aus dem AppHook onBeforeKnuddelReceived
aufgerufen werden.
In der Methode onBeforeKnuddelReceived
kann genau ein Aufruf einer dieser drei Methoden gemacht werden:
accept,
addToPot,
reject
Parameter:
-
knuddelPot
KnuddelPot
Beispiel:
if (knuddelTransfer.canAddToPot(knuddelPot))
{
// Nimmt die Knuddel an und sendet sie an den KnuddelPot.
knuddelTransfer.addToPot(knuddelPot);
}
else
{
// Lehnt die Knuddel ab und sendet sie zurück an den absendenden
// User oder KnuddelAccount.
knuddelTransfer.reject('Sorry, grade ist kein KnuddelPot offen.');
}
canAddToPot Feedback
-
pot
Liefert die Information, ob ein bestimmter KnuddelTransfer zu einem KnuddelPot hinzugefügt werden kann.
Parameter:
-
pot
KnuddelPot
Rückgabewert:
Beispiel:
if (knuddelTransfer.canAddToPot(knuddelPot))
{
knuddelTransfer.addToPot(knuddelPot)
}
else
{
knuddelTransfer.reject('Sorry, ich kann deine Knuddel nicht dem KnuddelPot hinzufügen.');
}
getKnuddelAmount Feedback
() KnuddelAmountLiefert die Anzahl der Knuddel, die mit diesem Transfer überwiesen werden.
Rückgabewert:
Beispiel:
var knuddelAmount = knuddelTransfer.getKnuddelAmount();
getReceiver Feedback
() BotUserLiefert den BotUser, der die Knuddel des KnuddelTransfer erhält, wenn dieser mit KnuddelPot/accept:method angenommen wurde.
Rückgabewert:
Beispiel:
var receivingBotUser = knuddelTransfer.getReceiver();
getSender Feedback
() UserLiefert den User, der den KnuddelTransfer ausgelöst hat.
Rückgabewert:
Beispiel:
var sendingUser = knuddelTransfer.getSender();
sendingUser.sendPrivateMessage('Danke für die Knuddel :)');
getTransferReason Feedback
() StringLiefert den Grund für den Transfer, der bei der Überweisung angegeben wurde mit
/appknuddel BOTNICK:KNUDDEL:GRUND
.
Rückgabewert:
Beispiel:
var transferReason = knuddelTransfer.getTransferReason();
var knuddelAmount = knuddelTransfer.getKnuddelAmount();
var sender = knuddelTransfer.getSender().getProfileLink();
var logger = KnuddelsServer.getDefaultLogger();
var logMsg = sender + ' hat gerade ' + knuddelAmount + ' Knuddel überwiesen.' + '°#°Grund: ' + transferReason;
logger.info(logMsg);
isProcessed Feedback
() BooleanLiefert die Information, ob der KnuddelTransfer bereits verarbeitet wurde.
Falls die Methode false
zurückliefert muss noch entschieden werden, ob der
KnuddelTransfer angenommen oder abgelehnt wird.
Rückgabewert:
reject Feedback
-
reason
Lehnt die Knuddel aus dem KnuddelTransfer ab und sendet sie zurück an den Absender.
Als Grund sieht der Absender den übergebenen reason
.
Diese Methode wirft eine Exception, wenn sie auf einen bereits verarbeiteten Transfer aufgerufen wird.
Sie kann nur erfolgreich aus dem AppHook onBeforeKnuddelReceived
aufgerufen werden.
In der Methode onBeforeKnuddelReceived
kann genau ein Aufruf einer dieser drei Methoden gemacht werden:
accept,
addToPot,
reject
Parameter:
-
reason
StringGrund für das Ablehnen des KnuddelTransfer
Beispiel:
if (knuddelTransfer.getSender().isAppDeveloper()) {
knuddelTransfer.accept();
} else {
knuddelTransfer.reject('Sorry, Knuddel nehme ich von meinem Herrchen an.');
}