Anzeigen:
Modul: Core

KnuddelsServer ist die 'Einstiegsklasse'. Mit den statischen Methoden des KnuddelsServer erhält man Zugriff auf viele Objekte und Klassen, die im Verlauf der App-Entwicklung benötigt werden.

Übersicht

Methoden

Methoden

canAccessUser

(
  • userId
)
Boolean Veraltet static

Veraltet: nun verfügbar via KnuddelsServer.getUserAccess().mayAccess(userId)

Parameter:

Rückgabewert:

createKnuddelPot

(
  • knuddelAmount
  • [params]
)
KnuddelPot static

Erzeugt einen KnuddelPot.

Ist ein KnuddelPot 30 Minuten nach dem Erzeugen noch nicht gesealt, so wird vom Server automatisch ein refund ausgelöst.

Parameter:

  • knuddelAmount KnuddelAmount
  • [params] Object optional
    • [payoutTimeoutMinutes] Number optional

      Anzahl der Minuten nachdem der Pot spätestens ausgezahlt wird. Der Standardwert ist 720 Minuten (12 Stunden). Der erlaubte Minimalwert ist 1 Minute und der erlaubte Maximalwert 10.800 Minuten (7 Tage).

    • [shouldSealPot] Function optional

      Methode, die nach dem erfolgreichen Hinzufügen eines Participants aufgerufen wird. Gibt man hier als return-value true an, so wird der Pot geschlossen. Diese Callback-Methode erhält als ersten Parameter den KnuddelPot.

    • [onPotSealed] Function optional

      Diese Methode wird aufgerufen, sobald der Pot erfolgreich mit shouldSealPot oder knuddelPot.seal() gesealt wurde. Diese Callback-Methode erhält als ersten Parameter den KnuddelPot.

Rückgabewert:

Beispiel:

var knuddelAmount = KnuddelAmount.fromKnuddel(1);
var knuddelPot = KnuddelsServer.createKnuddelPot(knuddelAmount, {
    onPotSealed: function(pot)
    {
        // Tun, was getan werden soll, nachdem der KnuddelPot gesealt wurde.
    },
    shouldSealPot: function(pot)
    {
        // Entscheiden, ob der KnuddelPot geschlossen werden soll.
        return pot.getParticipants().length >= 2;
    },
    payoutTimeoutMinutes: 5
});

execute

(
  • fileName
)
static

Führt das angegebene Script aus. Vergleichbar mit require(), jedoch kann es wiederholt verwendet/ausgeführt werden. Dies kann z.B. in Verbindung mit RootAppInstance.updateAppFiles() benutzt werden um Teile der App im laufenden Betrieb auszutauschen bzw. neu zu laden.

Achtung: Natürlich muss der App-Code dafür entsprechend ausgelegt sein / damit zurecht kommen.

Parameter:

Rückgabewert:

Beispiel:

KnuddelsServer.execute('my/awesome/script.js');

getAllKnuddelPots

() KnuddelPot[] static

Liefert alle für die App noch verwaltbaren KnuddelPot-Objekte.

Rückgabewert:

Beispiel:

var allknuddelPots = KnuddelsServer.getAllKnuddelPots();

allknuddelPots.forEach(function (knuddelPot)
{
    if (knuddelPot.getState() == KnuddelPotStart.Open) 
    {
        knuddelPot.seal();
    }
});

getAppAccess

() AppAccess static

Liefert das AppAccess-Object.

Rückgabewert:

Beispiel:

var appAccess = KnuddelsServer.getAppAccess();

var ownInstance = appAccess.getOwnInstance();

getAppDeveloper

() User Veraltet static

Veraltet: nun verfügbar via KnuddelsServer.getAppAccess().getOwnInstance().getAppInfo().getAppDeveloper()

Rückgabewert:

User:

getAppId

() String Veraltet static

Veraltet: nun verfügbar via KnuddelsServer.getAppAccess().getOwnInstance().getAppInfo().getAppId()

Rückgabewert:

String:

appId

getAppInfo

() AppInfo Veraltet static

Veraltet: nun verfügbar via KnuddelsServer.getAppAccess().getOwnInstance().getAppInfo()

Rückgabewert:

getAppManagers

() User[] Veraltet static

Veraltet: nun verfügbar via KnuddelsServer.getAppAccess().getOwnInstance().getAppInfo().getAppManagers()

Rückgabewert:

getAppName

() String Veraltet static

Veraltet: nun verfügbar via KnuddelsServer.getAppAccess().getOwnInstance().getAppInfo().getAppName()

Rückgabewert:

String:

Name der App

getAppProfileEntryAccess

() AppProfileEntryAccess static

Liefert das AppProfileEntryAccess-Objekt, über das App-Profileinträge erzeugt und verwaltet werden können.

Rückgabewert:

Beispiel:

var appProfileEntryAccess = KnuddelsServer.getAppProfileEntryAccess();

getAppServerInfo

() AppServerInfo static

Liefert die Informationen über den AppServer auf dem die App läuft.

Rückgabewert:

Beispiel:

var appServerInfo = KnuddelsServer.getAppServerInfo();

var revision = appServerInfo.getRevision();

user.sendPrivateMessage('Der AppServer läuft momentan mit der Revision ' + revision);

getAppVersion

() String Veraltet static

Veraltet: nun verfügbar via KnuddelsServer.getAppAccess().getOwnInstance().getAppInfo().getAppVersion()

Rückgabewert:

getChannel

() Channel static

Liefert den Channel in dem die App läuft.

Rückgabewert:

Beispiel:

var channel = KnuddelsServer.getChannel();

user.sendPrivateMessage('Willkommen im Channel ' + channel);

getChatServerInfo

() ChatServerInfo static

Liefert die Informationen über den ChatServer auf dem die App läuft.

Rückgabewert:

Beispiel:

var chatServerInfo = KnuddelsServer.getChatServerInfo();

var revision = chatServerInfo.getRevision();

user.sendPrivateMessage('Der ChatServer läuft momentan mit der Revision ' + revision);

getDefaultBotUser

() BotUser static

Liefert den BotUser, der standardmäßig zur App gehört.

Rückgabewert:

Beispiel:

var botUser = KnuddelsServer.getDefaultBotUser();

botUser.sendPublicMessage('Hallo, mein Name ist ' + botUser.getProfileLink() + ' und ich bin ein AppBot!');

getDefaultLogger

() Logger static

Liefert den Standard-Logger für diese App. Alles, was geloggt wird, wird vom Nutzer "App-Logs" als private Nachricht zugestellt.

Rückgabewert:

Beispiel:

var logger = KnuddelsServer.getDefaultLogger();

logger.debug('Der Logger wurde aufgerufen.');

getExternalServerAccess

() ExternalServerAccess static

Liefert ein ExternalServerAccess-Objekt, mit dem andere Server angesteuert werden können.

Rückgabewert:

Beispiel:

var externalServerAccess = KnuddelsServer.getExternalServerAccess();

getFullImagePath

(
  • imageName
)
String static

Liefert den Pfad eines Bildes zur Integration in der eigenen App. Alle Bilder, die im Ordner /www in der App abgelegt werden können hier referenziert werden.

Parameter:

Rückgabewert:

String:

Absoluter Pfad zum Einbinden der Grafik

Beispiel:

var fullImagePath = KnuddelsServer.getFullImagePath('test.png');

var message = 'Nachricht mit Bild: °>' + fullImagePath + '<°';

user.sendPrivateMessage(message);

getFullSystemImagePath

(
  • imageName
)
String static

Liefert den Pfad eines Systembildes zur Integration in der eigenen App. Alle Bilder, die unter http://apps6.knuddels.biz/kimg/ erreichbar sind können hier referenziert werden.

Parameter:

Rückgabewert:

String:

Absoluter Pfad zum Einbinden der Grafik

Beispiel:

var fullSystemImagePath = KnuddelsServer.getFullSystemImagePath('james/sm_james-xx.gif');

var message = 'Oh nein, Sie haben Kenny,... äääh James getötet. °>' + fullSystemImagePath + '<°';

user.sendPrivateMessage(message);

getKnuddelPot

(
  • id
)
KnuddelPot | Null static

Liefert den KnuddelPot mit der angegeben id.

Parameter:

Rückgabewert:

KnuddelPot | Null:

getNickCorrectCase

(
  • userId
)
String Veraltet static

Veraltet: nun verfügbar via KnuddelsServer.getUserAccess().getNick(userId)

Parameter:

Rückgabewert:

getPaymentAccess

() PaymentAccess static

Verfügbar ab Revision AppServer 108571, ChatServer 108571

Liefert das PaymentAccess-Objekt, über das Aktionen, die mit Echtgeld zu tun haben, gesteuert werden können.

Rückgabewert:

Beispiel:

var paymentAccess = KnuddelsServer.getPaymentAccess();

getPersistence

() AppPersistence static

Liefert die AppPersistence, mit der sich Zahlen, Strings und Javascript-Objekte langfristig und über die Session einer App hinaus gespeichert werden können.

Rückgabewert:

Beispiel:

var appPersistence = KnuddelsServer.getPersistence();

getToplistAccess

() ToplistAccess static

Liefert das ToplistAccess-Objekt, über das Toplisten erzeugt und verwaltet werden können.

Rückgabewert:

Beispiel:

var toplistAccess = KnuddelsServer.getToplistAccess();

getUser

(
  • userId
)
User Veraltet static

Veraltet: nun verfügbar via KnuddelsServer.getUserAccess().getUserById(userId)

Parameter:

Rückgabewert:

User:

getUserAccess

() UserAccess static

Liefert das UserAccess-Objekt, über das User zugreifbar werden.

Rückgabewert:

Beispiel:

var userAccess = KnuddelsServer.getUserAccess();

getUserId

(
  • nick
)
Number Veraltet static

Veraltet: nun verfügbar via KnuddelsServer.getUserAccess().getUserId(nick)

Parameter:

Rückgabewert:

isTestSystem

() Boolean Veraltet static

Veraltet: Siehe #getChatServerInfo().isTestSystem()

Rückgabewert:

listFiles

(
  • path
)
String[] static

Mit dieser Funktion lassen sich alle Dateien und Ordner innerhalb eines Pfades des App-Runtime Ordners auflisten. Ruft man es mit "." oder "/" auf, so bekommt man die Dateien und Ordner auf der obersten Ebene. Zur Unterscheidung haben Ordner einen "/" am Ende, wohingegen Dateien dies nicht haben. Die Ausgabe ist alphabetisch (ignore case) sortiert, jedoch zuerst die Ordner und dann die Dateien. Die Ausgabe ist NICHT rekursiv. Dies kann aber leicht selbst gebaut werden, indem man einfach für jeden Ordner nochmals die Funktion aufruft.

Parameter:

Rückgabewert:

Beispiel:

var files = KnuddelsServer.listFiles('my/awesome/directory');

refreshHooks

() static

Aktualisiert die Liste der genutzten Hooks. Werden zur Laufzeit chatCommands oder App-Hooks (wie mayJoinChannel) dynamisch erzeugt oder gelöscht, so muss danach refreshHooks() aufgerufen werden, damit diese Änderung wirksam wird.

Beispiel:

this.chatCommands['newCommand'] = function (user, params, command)
{
};

KnuddelsServer.refreshHooks();
// Ab hier kann nun /newCommand von den Nutzern benutzt werden

delete this.chatCommands['newCommand'];
KnuddelsServer.refreshHooks();
// Ab hier ist /newCommand nicht mehr verfügbar.

userExists

(
  • nick
)
Boolean Veraltet static

Veraltet: nun verfügbar via KnuddelsServer.getUserAccess().exists(nick)

Parameter:

Rückgabewert: