Anzeigen:
Extends AppInstance
Modul: Core

Repräsentiert die Root-Instanz einer App, die im Hauptchannel läuft.

Die Instanz für die RootAppInstance erhält man über das AppInstance-Objekt mit appInstance.getRootInstance()

Methoden

getAllInstances

(
  • [includeSelf]
)
AppInstance[]

Geerbt von AppInstance:

Liefert alle App-Instanzen dieser App in diesem Channel und Subchannels. Mit includeSelf = false kann man die eigene Instanz ausschließen.

Parameter:

  • [includeSelf] Boolean optional

    true by default.

Rückgabewert:

Beispiel:

var otherInstances = ownInstance.getAllInstances(false);

getAppInfo

() AppInfo

Geerbt von AppInstance:

Liefert die AppInfo.

Rückgabewert:

Beispiel:

var appInfo = ownInstance.getAppInfo();

getChannelName

() String

Geerbt von AppInstance:

Liefert den Namen des Channels in dem diese AppInstance läuft.

Rückgabewert:

Beispiel:

var channelName = appInstance.getChannelName(); // i.e. String[ '/Knuddelonia' ]

getRegisteredChatCommandNames

() String[] | Null

Geerbt von AppInstance:

Liefert die Namen der ChatCommands, die diese AppInstnce derzeit registriert hat.

Rückgabewert:

String[] | Null:

Beispiel:

var registeredChatCommandNames = appInstance.getRegisteredChatCommandNames(); // i.e. String[ 'blacklist', 'sayHello' ]

getRootInstance

() RootAppInstance

Geerbt von AppInstance:

Liefert die Root-Instanz der aktuellen App-Instanz.

Rückgabewert:

Beispiel:

const kEventCountOnlineMinutes = 'kEventCountOnlineMinutes';

function storeOnlineMinutes(onlineMinutes)
{
    var ownInstance = KnuddelsServer.getAppAccess().getOwnInstance();
    
    if (!ownInstance.isRootInstance())
    {
        ownInstance.getRootInstance().sendAppEvent(kEventCountOnlineMinutes, {
            onlineMinutes : onlineMinutes
        });
    }
    else
    {
        KnuddelsServer.getPersistence().addNumber('onlineMinutes', onlineMinutes);
    }
}

this.onAppEventReceived = function(appInstance, type, data)
{
    if (type == kEventCountOnlineMinutes)
    {
        var onlineMinutes = data['onlineMinutes'];
        storeOnlineMinutes(onlineMinutes);
    }
}

getStartDate

() Date

Geerbt von AppInstance:

Liefert den Startzeitpunkt dieser AppInstance.

Rückgabewert:

Date:

Beispiel:

var startDate = ownInstance.getStartDate(); // i.e. Date[Tue Jan 05 2016 23:00:11 GMT+0100 (MEZ)]

isRootInstance

() Boolean

Geerbt von AppInstance:

Informiert, ob die aktuelle AppInstanz eine Root-Instanz ist.

Rückgabewert:

Beispiel:

var isRootInstance = ownInstance.isRootInstance();

sendAppEvent

(
  • type
  • data
)

Geerbt von AppInstance:

Sendet ein App-Event an diese App-Instanz.

Parameter:

Beispiel:

const kEventCountJoin = 'kEventCountJoin';

App.onUserJoined = function(user)
{
    var eventPayload = {
        nick: user.getNick()
    };
    
    ownInstance.getRootInstance().sendAppEvent(kEventCountJoin, eventPayload);
}

stopApp

(
  • [message]
  • [logMessage]
)

Stoppt diese App.

Parameter:

  • [message] String optional

    Öffentliche Nachricht, die allen Nutzern beim Stoppen der App angezeigt wird.

  • [logMessage] String optional

    Nachricht, die im App-Logfile angezeigt wird.

Beispiel:

var ownInstance = KnuddelsServer.getAppAccess().getOwnInstance();

var rootInstance = ownInstance.getRootInstance();

var publicMessage = 'Die App wurde von einem AppManager gestoppt.';

var logEntry = 'Forced App Stop';

rootInstance.stopApp(publicMessage, logEntry);

updateApp

(
  • [message]
  • [logMessage]
)

Aktualisiert diese App im Channel (und ggf. vorhandenen Tochterchanneln) auf die neueste Version.

Parameter:

  • [message] String optional

    Öffentliche Nachricht, die allen Nutzern beim Aktualisieren der App angezeigt wird.

  • [logMessage] String optional

    Nachricht, die im App-Logfile angezeigt wird.

Beispiel:

var ownInstance = KnuddelsServer.getAppAccess().getOwnInstance();

var rootInstance = ownInstance.getRootInstance();
var publicMessage = 'Die App wird aktualisiert und steht sofort wieder zur Verfügung.';

var logEntry = 'Forced App Update';

rootInstance.updateApp(publicMessage, logEntry);