Anzeigen:
Modul: Knuddel

Repräsentiert einen KnuddelPot. Ein KnuddelPot kann nur durch Factory-Methoden des KnuddelsServer erzeugt werden: createKnuddelPot.

Wird die App heruntergefahren, so werden alle KnuddelPots, die nicht gesealt sind automatisch refunded.

Methoden

addWinner

(
  • user
  • [weight]
)

Fügt einen Gewinner in die Liste der Gewinner hinzu. Der zweite Parameter ist die Gewichtung mit der ausgezahlt werden soll. Wird der Parameter weggelassen, so ist er automatisch 1.

Parameter:

  • user User
  • [weight] Number optional
    • 1, wenn nicht übergeben

Beispiel:

var participants = knuddelPot.getParticipants();

var winner = RandomOperations.getRandomObject(participants);

knuddelPot.addWinner(winner);

var reason = 'Das Spiel ist vorbei. ' + winner + ' ist als Sieger daraus hervorgegangen.'

knuddelPot.payout(reason);

getFeeMultiplier

() Number

Liefert den mit setFee gesetzten Multiplikator der Gebühr.

Rückgabewert:

Beispiel:

var feeMultiplier = knuddelPot.getFeeMultiplier(); // i.e.: 0.05

getFeeUser

() User

Liefert den mit setFee gesetzten BotUser an den die Gebühr ausbezahlt wird.

Rückgabewert:

User:

Beispiel:

var feeUser = knuddelPot.getFeeUser(); // i.e.: User:MyAppBot

getId

() Number

Liefert die id des KnuddelPot.

Rückgabewert:

Number:

id

Beispiel:

var potId = knuddelPot.getId(); // i.e.: 11

getKnuddelAmountPerParticipant

() KnuddelAmount

Liefert den beim Kreieren des KnuddelPots festgelegten KnuddelAmount, den jeder Teilnehmer zahlen muss.

Rückgabewert:

Beispiel:

var knuddelAmount = knuddelPot.getKnuddelAmountPerParticipant();

getKnuddelAmountTotal

() KnuddelAmount

Liefert den KnuddelAmount, der bisher insgesamt in den KnuddelPot eingezahlt wurde.

Rückgabewert:

Beispiel:

var getKnuddelAmountTotal = knuddelPot.getKnuddelAmountTotal();

getMaxFeeMultiplier

() Number

Liefert den höchsten Multiplikator, der gültig ist.

Rückgabewert:

Beispiel:

var maxFeeMultiplier = knuddelPot.getMaxFeeMultiplier(); // i.e. 0.25

var botUser = KnuddelsServer.getDefaultBotUser();

knuddelPot.setFee(botUser, maxFeeMultiplier);

getParticipants

() User[]

Liefert die Liste der Teilnehmer, die bisher in den KnuddelPot eingezahlt haben.

Rückgabewert:

Beispiel:

var participants = knuddelPot.getParticipants();

participants.forEach(function(user) 
{
    participants.sendPrivateMessage('Das Spiel wurde gestartet.');
});

getState

() KnuddelPotState

Liefert den Status des KnuddelPot.

Rückgabewert:

Beispiel:

var state = knuddelPot.getState(); // i.e.: KnuddelPotState.Open

payout

(
  • [text]
)
asynchron

Zahlt den KnuddelPot an die mit addWinner gesetzten Gewinner aus.

Parameter:

Beispiel:

var participants = knuddelPot.getParticipants();

var winner = RandomOperations.getRandomObject(participants);

knuddelPot.addWinner(winner);

var reason = 'Das Spiel ist vorbei. ' + winner + ' ist als Sieger daraus hervorgegangen.'

knuddelPot.payout(reason);

refund

(
  • [reason]
)

Bezahlt alle Einsätze an die Teilnehmer zurück und informiert mit dem übergeben Text über den Grund.

Parameter:

Beispiel:

knuddelPot.refund('Die App fährt gleich für ein Update herunter.');

seal

()

Versiegelt den KnuddelPot, sodass keine weiteren Einzahlungen vorgenommen werden können und Gewinne ausgeschüttet werden können.

Beispiel:

var state = knuddelPot.getState();

if (state == KnuddelPotState.Open)
{
    knuddelPot.seal();
}
else
{
    // Bereits versiegelt oder ausgezahlt...
}

setFee

(
  • feeUser
  • feeMultiplier
)

Setzt den BotUser, der den Anteil der Einzahlungen nach dem Spiel erhält und den Anteil, vom Gesamtpot, den er erhalten soll.

Parameter:

Beispiel:

var bot = KnuddelsServer.getDefaultBotUser();
var fee = 0.1;

knuddelPot.setFee(bot, fee);

Beispiel-Code

In diesen Beispielen wird diese Klasse verwendet: