Extends User
Modul: User

Ein BotUser repräsentiert einen Nutzer, der für die App als Nutzer im Channel interagieren kann.

Die Instanz für den Standard-BotUser erhält man über das KnuddelsServer-Objekt mit KnuddelsServer.getDefaultBotUser()

Methoden

addNicklistIcon

(
  • imagePath
  • imageWidth
)

Geerbt von User:

Setzt dem Nutzer ein Icon in die Nickliste, das auf der rechten Seite seines Nicks angezeigt wird. Der Eintrag wird automatisch entfernt, sobald der Nutzer den Channel verlässt, kann aber auch mit {{#crossLink "User/removeNicklistIcon:method"}}{{/crossLink}} entfernt werden.

Parameter:

  • imagePath String
    Absoluter Pfad zum Bild (Erlaubte Dateitypen sind .gif und .png)
  • imageWidth Number
    Anzeigebreite des Bildes (Ganzzahl zwischen 1 und 100)

Beispiel:

var imagePath = KnuddelsServer.getFullSystemImagePath('cubes/cubes_prefix_blue.png');
user.addNicklistIcon(imagePath, 50);

canSendAppContent

(
  • appContent
)
Boolean

Geerbt von User:

Prüft ob der Client des User's den übergebenen {{#crossLink "AppContent"}}{{/crossLink}} anzeigen kann. Das Senden eines {{#crossLink "AppContent"}}AppContents{{/crossLink}} während gerade ein anderer {{#crossLink "AppContent"}}{{/crossLink}} gesendet wird ist nicht möglich. Dies ist vor allem bei der Verwendung des {{#crossLink "AppContent/addCloseListener:method"}}closeListeners{{/crossLink}} zu beachten.

Parameter:

  • appContent AppContent
    Der {{#crossLink "AppContent"}}{{/crossLink}}, der geprüft werden soll.

Rückgabewert:

Beispiel:

var htmlFile = new HTMLFile('index.html');

var appContent = AppContent.overlayContent(htmlFile);

var message;

if (user.canSendAppContent(appContent))
{
    message = 'Du kannst die App benutzen. Viel Spaß!';
}
else
{
    message = 'Du kannst diese App mit diesem Gerät leider nicht benutzen.';
}

user.sendPrivateMessage(message);

canShowAppViewMode

(
  • mode
)
Boolean

Geerbt von User:

Prüft ob der Client des Users den übergebenen {{#crossLink "AppViewMode"}}{{/crossLink}} (für {{#crossLink "User/sendAppContent:method"}}{{/crossLink}}) anzeigen kann.

Parameter:

  • mode AppViewMode
    Der {{#crossLink "AppViewMode"}}{{/crossLink}}, der geprüft werden soll.

Rückgabewert:

Beispiel:

var message;

if (user.canShowAppViewMode(AppViewMode.Overlay))
{
    message = 'Du kannst die App benutzen. Viel Spaß!';
}
else
{
    message = 'Du kannst diese App leider nicht benutzen.';
}

user.sendPrivateMessage(message);

canTransferKnuddelToApp

() Boolean

Geerbt von User:

Verfügbar ab Version AppServer 20240408-213104, ChatServer 20240408-213104

Gibt true zurück, wenn der Nutzer die übergebene Menge an Knuddel aktuell in der App verwenden kann. Ansonsten false. Siehe {{#crossLink "User/getMaxKnuddelToApp:method"}}{{/crossLink}} für mehr Informationen.

Rückgabewert:

destroyKnuddel

(
  • knuddelAmount
  • reason
  • [parameters]
)
asynchron

Verfügbar ab Version AppServer 20200212-112449

"Vernichtet" die übergebene Anzahl Knuddel auf dem BotUser. Dies ist nur möglich, wenn diese Funktion für den entsprechenden Channel freigeschaltet wurde.

Bei erfolgreicher Knuddelvernichtung wird der onSuccess-Callback aufgerufen. Andernfalls (z.B. wenn KnuddelAmount negativ oder größer als verfügbare Knuddel auf dem BotUser), wird der onError-Callback aufgerufen, wobei ihm ein String mit der konkreten Fehlermeldung übergeben wird.

Wichtiger Hinweis: Durch den Aufruf dieser Methode werden ggf. Knuddel vernichtet. Das lässt sich nicht rückgängig machen.

Parameter:

  • knuddelAmount KnuddelAmount

    Anzahl der Knuddel, die vom BotUser vernichtet werden sollen.

  • reason String

    Info-Text zu der Aktion. z.B. eigene Tracking-Nummer oder ausführender Nick. (Max-Länge: 1000)

  • [parameters] Object optional

    Objekt mit optionalen Callbacks

    • [onSuccess] Function optional

      Callback, der bei erfolgreicher Knuddelvernichtung aufgerufen wird.

    • [onError] Function optional

      Callback, der bei einem Fehler aufgerufen wird.

Beispiel:

var logger = KnuddelsServer.getDefaultLogger();
var botUser = KnuddelsServer.getDefaultBotUser();

botUser.destroyKnuddel(new KnuddelAmount(100), "Knuddel vernichten", {
    onSuccess: function(knuddelAmount, reason) {
        logger.info("Knuddel erfolgreich vernichtet.");
    },
    onError: function(knuddelAmount, reason, msg) {
        logger.warn("Knuddel konnten nicht vernichtet werden. Grund: " + msg);
    }
});

equals

(
  • user
)
Boolean

Geerbt von User:

Vergleicht den übergebenen Nutzer und liefert true, falls der übergebene Nutzer identisch ist mit dem aktuellen Nutzer.

Parameter:

Rückgabewert:

Beispiel:

var appAccess = KnuddelsServer.getAppAccess();
var appDeveloper = appAccess.getOwnInstance().getAppInfo().getAppDeveloper();
if (user.equals(appDeveloper)) {
    user.sendPrivateMessage('Du bist der Entwickler der App.');
}

exists

()

Geerbt von User:

Gibt zurück ob es sich um einen validen Nutzer, der nicht gelöscht ist, handelt.

Beispiel:

user.exists();

getAge

() Number

Geerbt von User:

Liefert das Alter des Nutzers. Bei Nutzern, die bereits sehr lange in der Plattform sind kann es vorkommen, dass kein Alter angegeben wurde. In diesem Fall ist das Alter 0.

Rückgabewert:

Beispiel:

var age = user.getAge(); // z.B. 30

getAppContentSession

(
  • appViewMode
)
AppContentSession

Geerbt von User:

Liefert die {{#crossLink "AppContentSession"}}{{/crossLink}}, die der {{#crossLink "User"}}{{/crossLink}} mit einem bestimmten {{#crossLink "AppViewMode"}}{{/crossLink}} aktuell geöffnet hat. Achtung: Für {{#crossLink "AppViewMode/Global"}}{{/crossLink}} wird immer null zurück gegeben, da es hierfür mehrere Sessions geben kann. Siehe auch: {{#crossLink "GlobalAppInstance/getActiveSession:method"}}{{/crossLink}} oder {{#crossLink "GlobalAppInstance/getActiveSessions:method"}}{{/crossLink}}.

Parameter:

Rückgabewert:

AppContentSession: appContentSession für übergebenen AppViewMode, ansonsten null

Beispiel:

var appContentSession = user.getAppContentSession(AppViewMode.Popup);

getAppContentSessions

(
  • [appViewMode]
)
AppContentSession[]

Geerbt von User:

Liefert die {{#crossLink "AppContentSession"}}{{/crossLink}}s, die der {{#crossLink "User"}}{{/crossLink}} mit einem bestimmten {{#crossLink "AppViewMode"}}{{/crossLink}} aktuell geöffnet hat. Wird null oder kein Parameter übergeben, so werden alle Sessions zurückgeliefert.

Parameter:

Rückgabewert:

AppContentSession[]: die aktiven appContentSessions für den übergebenen AppViewMode dieses Users

Beispiel:

const allSessions = user.getAppContentSessions();
const globalSessions = user.getAppContentSessions(AppViewMode.Global);

getAuthenticityClassification

() AuthenticityClassification

Geerbt von User:

Verfügbar ab Version AppServer 94663, ChatServer 94663

Liefert eine Information darüber, wie echt dieser Nutzer vom Knuddels-System eingeschätzt wird.

Rückgabewert:

Beispiel:

var authenticityClassification = user.getAuthenticityClassification();

getChannelTalkPermission

() ChannelTalkPermission

Geerbt von User:

Liefert die {{#crossLink "ChannelTalkPermission"}}{{/crossLink}} für diesen Nutzer in diesem {{#crossLink "Channel"}}{{/crossLink}}.

Rückgabewert:

Beispiel:

var channelTalkPermission = user.getChannelTalkPermission(); // z.B. ChannelTalkPermission.Default

getClientType

() ClientType

Geerbt von User:

Liefert den aktuellen {{#crossLink "ClientType"}}{{/crossLink}} des Nutzers oder Offline wenn er nicht im Chat online ist.

Rückgabewert:

Beispiel:

var clientType = user.getClientType(); // z.B. ClientType.Applet

getGender

() Gender

Geerbt von User:

Liefert das Geschlecht des Nutzers.

Rückgabewert:

Beispiel:

var gender = user.getGender(); // z.B. Gender.Male

getGenderDetailed

() GenderDetailed

Geerbt von User:

Verfügbar ab Version AppServer 20220811170542

Liefert das Geschlecht des Nutzers mit erweiterten Optionen.

Rückgabewert:

Beispiel:

var genderDetailed = user.getGenderDetailed(); // z.B. GenderDetailed.NonBinaryHe

getKnuddelAccount

() KnuddelAccount

Geerbt von User:

Liefert den {{#crossLink "KnuddelAccount"}}{{/crossLink}} des Nutzers.

Rückgabewert:

Beispiel:

var knuddelAccount = user.getKnuddelAccount();

getKnuddelAmount

() KnuddelAmount

Geerbt von User:

Liefert die Anzahl der Knuddel, die der Nutzer besitzt.

Rückgabewert:

KnuddelAmount: Anzahl der Knuddel

Beispiel:

var knuddelAmount = user.getKnuddelAmount();

getLastOnlineTime

() Date

Geerbt von User:

Gibt den Zeitpunkt zurück, zu dem der Nutzer das letzte Mal in einem Channel online war. Wenn der Nutzer gerade online ist, wird die aktuelle Zeit zurückgegeben.

Rückgabewert:

Date: Zeitpunkt, zu dem der Nutzer das letzte Mal in einem Channel online war.

getMaxKnuddelToApp

() KnuddelAmount

Geerbt von User:

Verfügbar ab Version AppServer 20240408-213104, ChatServer 20240408-213104

Gibt die maximale Menge an Knuddel zurück {{#crossLink "KnuddelAmount"}}{{/crossLink}}, die der Nutzer aktuell in der App verwenden kann. Dieser Wert ist abhängig vom eingestellten Tageslimit des Nutzers im {{#crossLink "Channel"}}{{/crossLink}} und der im {{#crossLink "Channel"}}{{/crossLink}} bereits am aktuellen Tag ausgegebenen Knuddel. Ist das eingestellte Tageslimit des Nutzers im {{#crossLink "Channel"}}{{/crossLink}} erreicht, so wird 0 zurückgegeben.

Rückgabewert:

getNick

() String

Geerbt von User:

Liefert den Nicknamen des Nutzers.

Rückgabewert:

Beispiel:

var nick = user.getNick(); // i.e. 'Holgi'

getOnlineMinutes

() Number

Geerbt von User:

Liefert die vom Nutzer verbrachte Zeit im gesamten Chatsystem In Minuten. Hinweis: Die Minutenzahl wird derzeit immer nur zu dem Zeitpunkt aktualisiert, wenn der Nutzer offline geht.

Rückgabewert:

Beispiel:

var onlineMinutes = user.getOnlineMinutes(); // z.B. 300000

getPersistence

() UserPersistence

Geerbt von User:

Liefert ein {{#crossLink "UserPersistence"}}UserPersistence-Objekt{{/crossLink}} für diesen Nutzer. Mit diesem Objekt kann eine {{#crossLink "App"}}{{/crossLink}} sich Dinge über diesen speziellen Nutzer merken.

Rückgabewert:

Beispiel:

user.getPersistence().setNumber('points', 300);
var points = user.getPersistence().getNumber('points', 0);

getProfilePhoto

(
  • width
  • height
)
String

Geerbt von User:

Liefert die URL zum Profilfoto des Nutzers. Die übergebene Breite und Höhe liefern dem Server einen Anhaltswert, um das bestmögliche Foto zu finden, sind aber keine Garantie, dass das Foto diese Ausmaße haben wird.

Parameter:

Rückgabewert:

Beispiel:

if (user.hasProfilePhoto())
{
    var profilePhoto = user.getProfilePhoto(200, 200);

    user.sendPrivateMessage('Hübsches Foto! °>' + profilePhoto + '<°');
}

getQuestAccess

() QuestAccess

Geerbt von User:

Verfügbar ab Version AppServer 82290, ChatServer 82290

Liefert das {{#crossLink "QuestAccess"}}QuestAccess-Objekt{{/crossLink}} für diesen Nutzer in dieser App.

Rückgabewert:

QuestAccess: questAccess

Beispiel:

var questAccess = user.getQuestAccess();

getReadme

() String

Geerbt von User:

Liefert die Readme des Nutzers, die er mit /readme TEXT in sein Profil gesetzt hat.

Rückgabewert:

String: Readme des Nutzers

Beispiel:

var readme = user.getReadme();

if (readme.contains(KnuddelsServer.getChannel().getChannelName()))
{
    user.sendPrivateMessage('Danke für die Unterstützung!');
}

getRegDate

() Date

Geerbt von User:

Liefert den Zeitpunkt der Registrierung des Nutzers.

Rückgabewert:

Date:

Beispiel:

var regDate = user.getRegDate(); // z.B. 10.08.2015 10:24 (als <code>Date</code>-Objekt)

getUserId

() Number

Geerbt von User:

Liefert die eindeutige Nutzerkennung des Nutzers.

Rückgabewert:

Beispiel:

var userId = user.getUserId();

getUserStatus

() UserStatus

Geerbt von User:

Liefert den {{#crossLink "UserStatus"}}{{/crossLink}} des Nutzers.

Rückgabewert:

Beispiel:

var userStatus = user.getUserStatus(); // z.B. UserStatus.Stammi

getUserType

() UserType

Geerbt von User:

Liefert den {{#crossLink "UserType"}}{{/crossLink}} des Nutzers.

Rückgabewert:

Beispiel:

var userType = UserType.Human;

var onlineHumans = KnuddelsServer.getChannel().getOnlineUsers(userType);

hasProfilePhoto

() Boolean

Geerbt von User:

Liefert die Information, ob der Nutzer ein Profilfoto hat.

Rückgabewert:

Beispiel:

if (user.hasProfilePhoto())
{
    user.sendPrivateMessage('Du hast ein Profilbild.');
}
else
{
    user.sendPrivateMessage('Du hast leider kein Profilbild.');
}

isAgeVerified

() Boolean

Geerbt von User:

Liefert die Information, ob das Alter des {{#crossLink "User"}}Users{{/crossLink}} verifiziert ist.

Rückgabewert:

Beispiel:

var isAgeVerified = user.isAgeVerified();

isAppDeveloper

() Boolean

Geerbt von User:

Liefert Information, ob dieser Nutzers der Entwickler der {{#crossLink "App"}}{{/crossLink}} ist.

Rückgabewert:

Beispiel:

if (user.isAppDeveloper())
{
    user.sendPrivateMessage('Du bist der Entwickler der App.');
}

isAppManager

() Boolean

Geerbt von User:

Liefert die Information, ob dieser Nutzer ein AppManager für diese {{#crossLink "App"}}{{/crossLink}} ist. Die Channelbesitzer zählen automatisch auch als AppManager.

Rückgabewert:

Beispiel:

if (user.isAppManager())
{
    user.sendPrivateMessage('Du bist berechtigt, diese App zu verwalten.');
}

isAway

() Boolean

Geerbt von User:

Liefert die Information, ob der Nutzer sich mittels /away-Funktion kurz abgemeldet hat.

Rückgabewert:

Beispiel:

var isAway = user.isAway(); // z.B. false

isChannelCoreUser

() Boolean

Geerbt von User:

Verfügbar ab Version AppServer 92701, ChatServer 92701

Liefert die Information, ob der Nutzer im harten Kern des {{#crossLink "Channel"}}Channels{{/crossLink}} der {{#crossLink "App"}}{{/crossLink}} ist.

Rückgabewert:

Beispiel:

 if (user.isChannelCoreUser())
 {
     user.sendPrivateMessage('Hey! Give me five! Cool, dass du da bist.');
 }
 else
 {
     user.sendPrivateMessage('Hallo!');
 }

isChannelModerator

() Boolean

Geerbt von User:

Liefert Information, ob dieser Nutzer Channelmoderator im {{#crossLink "Channel"}}{{/crossLink}} der {{#crossLink "App"}}{{/crossLink}} ist.

Rückgabewert:

Beispiel:

var isCM = user.isChannelModerator(); // z.B. false

isChannelOwner

() Boolean

Geerbt von User:

Liefert die Information, ob dieser Nutzer Channelbesitzer im {{#crossLink "Channel"}}{{/crossLink}} der {{#crossLink "App"}}{{/crossLink}} ist.

Rückgabewert:

Beispiel:

var isChannelOwner = user.isChannelOwner(); // z.B. true

isColorMuted

() Boolean

Geerbt von User:

Liefert Information, ob dieser Nutzer beim Schreiben öffentlicher Nachrichten im {{#crossLink "Channel"}}{{/crossLink}} derzeit für die Verwendung von Textformatierungen, Farben und Smileys gesperrt ist.

Rückgabewert:

Beispiel:

var isColorMuted = user.isColorMuted();

if (isColorMuted)
{
    var message = 'Du darfst momentan in diesem Channel keine Textformatierungen, Farben oder Smileys verwenden.';

    user.sendPrivateMessage(message);
}

isConnectedWithK3Client

() Boolean

Geerbt von User:

Liefert, ob der Nutzer mit einem K3-Client verbunden ist. Ist der Nutzer offline, wird false zurückgegeben.

Rückgabewert:

Beispiel:

var isConnectedWithK3Client = user.isConnectedWithK3Client(); // e.g.: true

isEventModerator

() Boolean

Geerbt von User:

Liefert Information, ob dieser Nutzer Eventmoderator im {{#crossLink "Channel"}}{{/crossLink}} der {{#crossLink "App"}}{{/crossLink}} ist.

Rückgabewert:

Beispiel:

var isEventModerator = user.isEventModerator(); // z.B. false

isInTeam

(
  • teamName
  • [subTeamName]
)
Boolean

Geerbt von User:

Prüft, ob der {{#crossLink "User"}}{{/crossLink}} in dem angegebenen Team ist. Dies funktioniert derzeit nur für Teams, die öffentlich im Profil sichtbar sind. Achtung: Bei Nutzern, die neu in ein Team kommen, funktioniert die Abfrage erst dann korrekt, wenn er sich neu in den Channel eingeloggt hat.

Parameter:

  • teamName String
    Der Name des Hauptteams, welches geprüft werden soll.
  • [subTeamName] String optional
    Der Name des Sub-Teams (des Hauptteams), das geprüft werden soll.

Rückgabewert:

Beispiel:

var isInFotoTeam = user.isInTeam('Foto');

isLikingChannel

() Boolean

Geerbt von User:

Liefert die Information, ob der {{#crossLink "Channel"}}{{/crossLink}} der {{#crossLink "App"}}{{/crossLink}} ein Lieblingschannel des Nutzers ist.

Rückgabewert:

Beispiel:

 if (user.isLikingChannel())
 {
     user.sendPrivateMessage('Hey! Give me five! Cool, dass du da bist.');
 }
 else
 {
     user.sendPrivateMessage('Hallo!');
 }

isLocked

() Boolean

Geerbt von User:

Liefert Information, ob dieser Nutzer derzeit für das Betreten des {{#crossLink "Channel"}}{{/crossLink}} gesperrt ist.

Rückgabewert:

Beispiel:

var isLocked = user.isLocked(); // z.B. false

isMuted

() Boolean

Geerbt von User:

Liefert Information, ob dieser Nutzer derzeit für das Schreiben öffentlicher Nachrichten im {{#crossLink "Channel"}}{{/crossLink}} gesperrt ist.

Rückgabewert:

Beispiel:

var isMuted = user.isMuted();

if (isMuted)
{
    var message = 'Du darfst momentan in diesem Channel nicht öffentlich schreiben.';
    user.sendPrivateMessage(message);
}

isOnline

() Boolean

Geerbt von User:

Liefert die Information, ob der Nutzer irgendwo im Chat online ist. Siehe auch:
  • {{#crossLink "UserAccess/eachAccessibleUser:method"}}UserAccess.eachAccessibleUser(){{/crossLink}} (parameters.online)
  • {{#crossLink "UserPersistenceNumbers/each:method"}}UserPersistenceNumbers.each(){{/crossLink}} (parameters.online)
  • {{#crossLink "UserPersistenceStrings/each:method"}}UserPersistenceStrings.each(){{/crossLink}} (parameters.online)
  • {{#crossLink "UserPersistenceObjects/each:method"}}UserPersistenceObjects.each(){{/crossLink}} (parameters.online)

Rückgabewert:

Boolean: true, falls der Nutzer online ist.

Beispiel:

var message = 'Neue Funktionen in ' + KnuddelsServer.getChannel() + '. Schau doch mal vorbei!';
if (user.isOnline())
{
    user.sendPrivateMessage(message);
}
else
{
    user.sendPostMessage('Neue Funktionen', message);
}

isOnlineInChannel

() Boolean

Geerbt von User:

Liefert die Information, ob der Nutzer online im {{#crossLink "Channel"}}{{/crossLink}} der {{#crossLink "App"}}{{/crossLink}} ist.

Rückgabewert:

Beispiel:

var isOnlineInChannel = user.isOnlineInChannel(); // z.B. true

isProfilePhotoVerified

() Boolean

Geerbt von User:

Liefert die Information, ob der {{#crossLink "User"}}{{/crossLink}} ein verifiziertes Profilbild hat.

Rückgabewert:

Beispiel:

var isProfilePhotoVerified = user.isProfilePhotoVerified();

isStreamingVideo

() Boolean

Geerbt von User:

Liefert die Information, ob der Nutzer gerade sein Video streamt.

Rückgabewert:

Beispiel:

var isStreamingVideo = user.isStreamingVideo(); // z.B. false

removeNicklistIcon

(
  • imagePath
)

Geerbt von User:

Entfernt dem Nutzer ein über die API gesetztes Icon in die Nickliste.

Parameter:

  • imagePath String
    Absoluter Pfad zum Bild

Beispiel:

var imagePath = KnuddelsServer.getFullSystemImagePath('cubes/cubes_prefix_blue.png');
user.removeNicklistIcon(imagePath);

sendAppContent

(
  • appContent
)
AppContentSession

Geerbt von User:

(Er)setzt den übergebenen {{#crossLink "AppContent"}}{{/crossLink}} beim Nutzer.

Parameter:

Rückgabewert:

AppContentSession: appContentSession, null, falls die interne Prüfung von canShowAppContent false geliefert hat

Beispiel:

var htmlFile = new HTMLFile('index.html');

var appContent = AppContent.overlayContent(htmlFile);

if (user.canSendAppContent(appContent))
{
    var appContentSession = user.sendAppContent(appContent);
}
else
{
    var message = 'Du kannst diese App leider auf deinem Gerät nicht benutzen.';
    user.sendPrivateMessage(message);
}

sendEvent

(
  • type
  • data
)
Veraltet

Geerbt von User:

Veraltet: Verwende stattdessen AppContentSession.sendEvent(). Siehe auch User.getAppContentSessions().

Sendet Daten an den verbundenen Client.

Parameter:

  • type String
    darf maximal 100 Zeichen lang sein. Das einzelne Zeichen '*' kann nicht als type verwendet werden.
  • data Object
    Daten, die übermittelt werden sollen. Werden als JSON übermittelt und dürfen maximal 10.000 Zeichen lang sein (bei DirectConnection: 1MB).

Beispiel:

var points = user.getPersistence().getNumber('points');
var data = {
    points: points
}
user.sendEvent('getPoints', data);
// Mit Client.addEventListener('getPoints', callback) kann das Event im Client empfangen werden.

sendPostMessage

(
  • topic
  • text
  • [receivingUser]
)

Geerbt von User

Sendet eine persistente Nachricht an einen bestimmten Nutzer.

Parameter:

  • topic String

    Betreff der Nachricht. Der Betreff kann maximal 1.000 Zeichen lang sein.

  • text String

    Nachricht, die gesendet werden soll. Die Nachricht kann maximal 10.000 Zeichen lang sein.

  • [receivingUser] User optional

    Nutzer, der die Nachricht erhalten soll. (nur optional, um Vererbung in JavaScript korrekt darzustellen)

sendPrivateMessage

(
  • message
  • [users]
)

Geerbt von User

Sendet eine private Nachricht an bestimmte Nutzer.

Parameter:

  • message String

    Nachricht, die gesendet werden soll. Die Nachricht kann maximal 100.000 Zeichen lang sein.

  • [users] User[] optional

    Nutzer, die die Nachricht erhalten sollen. (nur optional, um Vererbung in JavaScript korrekt darzustellen)

sendPublicActionMessage

(
  • actionMessage
)

Sendet eine öffentliche Handlung in den Channel. Dies funktioniert so, als ob der BotUser /me TEXT im Chat eingeben würde.

Parameter:

  • actionMessage String

    Handlung, die angezeigt werden soll. Die Nachricht kann maximal 10.000 Zeichen lang sein.

Beispiel:

this.onUserJoined = function(user)
{
    var botUser = KnuddelsServer.getDefaultBotUser();
    
    var actionMessage = 'öffnet ' + user.getNick() + ' die Tür.';
    
    botUser.sendPublicActionMessage(actionMessage);
}

sendPublicMessage

(
  • message
)

Sendet eine öffentliche Nachricht in den Channel.

Parameter:

  • message String

    Nachricht, die angezeigt werden soll. Die Nachricht kann maximal 10.000 Zeichen lang sein.

Beispiel:

this.onUserJoined = function(user)
{
    var botUser = KnuddelsServer.getDefaultBotUser();
    
    var channel = KnuddelsServer.getChannel().getChannelName();
    
    var message = 'Hallo ' + user.getNick() + '. Willkommen im Channel ' + channel + '!';
    
    botUser.sendPublicMessage(message);
}

transferKnuddel

(
  • receivingUser
  • knuddelAmount
  • [parameters]
)
asynchron

Transferiert eine bestimmte Anzahl Knuddel an einen Zielnutzer.

Wichtiger Hinweis: Sollte die App versuchen mehr Knuddel zu transferieren, als sie besitzt, so wird der onError-Callback aufgerufen und die App transferiert so viele Knuddel, wie möglich. Zudem werden die Schulden für den Channelbesitzer gemerkt. Sobald sich der Channelbesitzer einloggt, erhält er einen Hinweis über offene Schulden und sollte diese direkt begleichen. Hat ein Channelbesitzer eine gewisse Menge Schulden angesammelt, so schalten wir alle Apps in diesem Channel ab.
Es können nur Knuddel transferiert werden zu Nutzern mit UserType.Human.

Parameter:

  • receivingUser User

    Nutzer, der die Knuddel erhalten soll.

  • knuddelAmount KnuddelAmount

    Anzahl der Knuddel. Muss mindestens 0.01 sein. Bei ungültigen Werten wird ein Fehler geworfen.

  • [parameters] Object optional

    Objekt, das optionale Parameter beinhaltet.

    • [displayReasonText] String optional

      Grund für den Transfer.

    • [transferDisplayType] KnuddelTransferDisplayType optional

      Entscheidet die Art der Darstellung der Knuddel-Überweisung (default: KnuddelTransferDisplayType.Public).

    • [onSuccess] Function optional

      Callback, der aufgerufen wird, nachdem der Transfer erfolgreich abgeschlossen wurde.

    • [onError] Function optional

      Callback, der aufgerufen wird, wenn der Transfer fehlgeschlagen ist.

Beispiel:

this.onUserJoined = function(user)
{
    var logger = KnuddelsServer.getDefaultLogger();
    
    var botUser = KnuddelsServer.getDefaultBotUser();
    var knuddelAmount = new KnuddelAmount(1);
    
    var transferOptions = {
        displayReasonText: 'weil ich dich einfach mag',
        transferDisplayType: KnuddelTransferDisplayType.Private,
        onSuccess: function()
        {
            logger.info('Knuddel transferiert');
        },
        onError: function(logMsg)
        {
            logger.warn('Knuddeltransfer fehlgeschlagen', logMsg);
        }
    };
    
    botUser.transferKnuddel(user, knuddelAmount, transferOptions);
}

transferKnuddelToApp

(
  • knuddelAmount
  • displayReasonText
  • [parameters]
)

Geerbt von User:

Verfügbar ab Version AppServer 20240408-213104, ChatServer 20240408-213104

Versucht eine bestimmte Menge Knuddel zu verwenden. Dies ist nur möglich, wenn der {{#crossLink "User"}}{{/crossLink}} genug Knuddel besitzt und online im {{#crossLink "Channel"}}{{/crossLink}} ist oder eine {{#crossLink "GlobalAppConfig"}}globale App{{/crossLink}} offen hat. Knuddel vom des Besitzer des {{#crossLink "Channel"}}{{/crossLink}} können auch abgebucht werden, wenn dieser nicht im Channel online ist. Ist das Event App.onBeforeKnuddelReceived implementiert, so wird dieses direkt nach dem transferKnuddelToApp aufgerufen, um zu entscheiden, ob die Knuddel angenommen werden sollen.

Hinweis: Knuddel an einen Nutzer senden kannst du mit der Methode {{#crossLink "BotUser/transferKnuddel:method"}}{{/crossLink}}.

Parameter:

  • knuddelAmount KnuddelAmount
  • displayReasonText String
    für die Anzeige im /knuddelaccount-Kontoauszug.
  • [parameters] Object optional
    • [transferReason] String optional

      transferReason, intern für die App. Limit: 200 Zeichen.

    • [onError] Function optional

      Callback, der aufgerufen wird, falls das Nutzen der Knuddel fehlschlägt.

    • [onSuccess] Function optional

      Callback, der aufgerufen wird, falls das Nutzen der Knuddel erfolgreich ist.

Beispiel:

var knuddelAmount = new KnuddelAmount(1);

var options = {
    onError: function(message)
    {
        KnuddelsServer.getDefaultLogger().info('Knuddel Abbuchen fehlgeschlagen: ' + message);
    },
    onSuccess: function()
    {
        KnuddelsServer.getDefaultLogger().info('Knuddel Abbuchen erfolgreich.');
    }
}

    user.transferKnuddelToApp(knuddelAmount, 'Spiel starten', options);

triggerDice

(
  • diceConfiguration
)

Geerbt von User:

Verfügbar ab Version AppServer 89159, ChatServer 89159

Startet einen Würfelwurf für den Nutzer, falls er online im Channel ist und er nicht gemuted ist oder eine globale App dieser User App offen hat.

Parameter:

Beispiel:

var diceConfiguration = DiceConfigurationFactory.fromString('/dice 1w20');
user.triggerDice(diceConfiguration);