Modul: Knuddel

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.

Methoden

accept

()

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:

accept, addToPot, reject

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

(
  • 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:

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

(
  • pot
)
Boolean

Liefert die Information, ob ein bestimmter KnuddelTransfer zu einem KnuddelPot hinzugefügt werden kann.

Parameter:

Rückgabewert:

Beispiel:

if (knuddelTransfer.canAddToPot(knuddelPot))
{
    knuddelTransfer.addToPot(knuddelPot)
}
else
{
    knuddelTransfer.reject('Sorry, ich kann deine Knuddel nicht dem KnuddelPot hinzufügen.');
}

getKnuddelAmount

() KnuddelAmount

Liefert die Anzahl der Knuddel, die mit diesem Transfer überwiesen werden.

Rückgabewert:

Beispiel:

var knuddelAmount = knuddelTransfer.getKnuddelAmount();

getReceiver

() BotUser

Liefert 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

() User

Liefert den User, der den KnuddelTransfer ausgelöst hat.

Rückgabewert:

User:

Beispiel:

var sendingUser = knuddelTransfer.getSender();
sendingUser.sendPrivateMessage('Danke für die Knuddel :)');

getTransferReason

() String

Liefert 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

() Boolean

Liefert 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

(
  • 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:

Beispiel:

if (knuddelTransfer.getSender().isAppDeveloper()) {
    knuddelTransfer.accept();
} else {
    knuddelTransfer.reject('Sorry, Knuddel nehme ich von meinem Herrchen an.');
}