Modul: User

Ein User ist ein Nutzer des Chats, in dem die App läuft.

Methoden

addNicklistIcon

(
  • imagePath
  • imageWidth
)

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 removeNicklistIcon 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

Prüft ob der Client des User's den übergebenen AppContent anzeigen kann.

Das Senden eines AppContents während gerade ein anderer AppContent gesendet wird ist nicht möglich. Dies ist vor allem bei der Verwendung des closeListeners zu beachten.

Parameter:

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

Prüft ob der Client des Users den übergebenen AppViewMode (für sendAppContent) anzeigen kann.

Parameter:

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);

equals

(
  • user
)
Boolean

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.');
}

getAge

() Number

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

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

Parameter:

Rückgabewert:

AppContentSession:

appContentSession für übergebenen AppViewMode, ansonsten null

Beispiel:

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

getAppContentSessions

(
  • [appViewMode]
)
AppContentSession[]

Liefert die AppContentSessions, die der User mit einem bestimmten AppViewMode 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

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

Liefert die ChannelTalkPermission für diesen Nutzer in diesem Channel.

Rückgabewert:

Beispiel:

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

getClientType

() ClientType

Liefert den aktuellen ClientType des Nutzers oder Offline wenn er nicht im Chat online ist.

Rückgabewert:

Beispiel:

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

getGender

() Gender

Liefert das Geschlecht des Nutzers.

Rückgabewert:

Beispiel:

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

getGenderDetailed

() GenderDetailed

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

Liefert den KnuddelAccount des Nutzers.

Rückgabewert:

Beispiel:

var knuddelAccount = user.getKnuddelAccount();

getKnuddelAmount

() KnuddelAmount

Liefert die Anzahl der Knuddel, die der Nutzer besitzt.

Rückgabewert:

KnuddelAmount:

Anzahl der Knuddel

Beispiel:

var knuddelAmount = user.getKnuddelAmount();

getLastOnlineTime

() Date

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.

getNick

() String

Liefert den Nicknamen des Nutzers.

Rückgabewert:

Beispiel:

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

getOnlineMinutes

() Number

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

Liefert ein UserPersistence-Objekt für diesen Nutzer. Mit diesem Objekt kann eine App 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

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

Verfügbar ab Version AppServer 82290, ChatServer 82290

Liefert das QuestAccess-Objekt für diesen Nutzer in dieser App.

Rückgabewert:

QuestAccess:

questAccess

Beispiel:

var questAccess = user.getQuestAccess();

getReadme

() String

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

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

Liefert die eindeutige Nutzerkennung des Nutzers.

Rückgabewert:

Beispiel:

var userId = user.getUserId();

getUserStatus

() UserStatus

Liefert den UserStatus des Nutzers.

Rückgabewert:

Beispiel:

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

getUserType

() UserType

Liefert den UserType des Nutzers.

Rückgabewert:

Beispiel:

var userType = UserType.Human;

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

hasProfilePhoto

() Boolean

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

Liefert die Information, ob das Alter des Users verifiziert ist.

Rückgabewert:

Beispiel:

var isAgeVerified = user.isAgeVerified();

isAppDeveloper

() Boolean

Liefert Information, ob dieser Nutzers der Entwickler der App ist.

Rückgabewert:

Beispiel:

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

isAppManager

() Boolean

Liefert die Information, ob dieser Nutzer ein AppManager für diese App 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

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

Verfügbar ab Version AppServer 92701, ChatServer 92701

Liefert die Information, ob der Nutzer im harten Kern des Channels der App ist.

Rückgabewert:

Beispiel:

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

isChannelModerator

() Boolean

Liefert Information, ob dieser Nutzer Channelmoderator im Channel der App ist.

Rückgabewert:

Beispiel:

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

isChannelOwner

() Boolean

Liefert die Information, ob dieser Nutzer Channelbesitzer im Channel der App ist.

Rückgabewert:

Beispiel:

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

isColorMuted

() Boolean

Liefert Information, ob dieser Nutzer beim Schreiben öffentlicher Nachrichten im Channel 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

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

Liefert Information, ob dieser Nutzer Eventmoderator im Channel der App ist.

Rückgabewert:

Beispiel:

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

isInTeam

(
  • teamName
  • [subTeamName]
)
Boolean

Prüft, ob der User 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

Liefert die Information, ob der Channel der App 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

Liefert Information, ob dieser Nutzer derzeit für das Betreten des Channel gesperrt ist.

Rückgabewert:

Beispiel:

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

isMuted

() Boolean

Liefert Information, ob dieser Nutzer derzeit für das Schreiben öffentlicher Nachrichten im Channel 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

Liefert die Information, ob der Nutzer irgendwo im Chat online ist.

Siehe auch:

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

Liefert die Information, ob der Nutzer online im Channel der App ist.

Rückgabewert:

Beispiel:

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

isProfilePhotoVerified

() Boolean

Liefert die Information, ob der User ein verifiziertes Profilbild hat.

Rückgabewert:

Beispiel:

var isProfilePhotoVerified = user.isProfilePhotoVerified();

isStreamingVideo

() Boolean

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

Rückgabewert:

Beispiel:

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

removeNicklistIcon

(
  • imagePath
)

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

(Er)setzt den übergebenen AppContent 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

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
)

Shortcut-Funktion um mit dem DefaultBotUser eine /m zu versenden.

Parameter:

  • topic String

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

  • text String

    Inhalt der Nachricht. Der Inhalt kann maximal 10.000 Zeichen lang sein.

Beispiel:

var message = 'Neue Funktionen in ' + KnuddelsServer.getChannel() + '. Schau doch mal vorbei!';

if (user.isOnline())
{
    user.sendPrivateMessage(message);
}
else
{
    user.sendPostMessage('Neue Funktionen', message);
}

sendPrivateMessage

(
  • message
)

Shortcut-Funktion um mit dem DefaultBotUser eine private Nachricht zu versenden.

Parameter:

  • message String

    Inhalt der Nachricht. Die Nachricht kann maximal 100.000 Zeichen lang sein.

Beispiel:

var message = 'Herzlich Willkommen in meinem Channel.';

user.sendPrivateMessage(message);

triggerDice

(
  • diceConfiguration
)

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);

Beispiel-Code

In diesen Beispielen wird diese Klasse verwendet: