App Klasse Feedback
App ist die abstrakte Klasse einer konkreten App, die ein Entwickler schreiben kann. Im eigenen Javascript-Code muss eine Variable mit dem Namen App vorhanden sein, damit eine App lauffähig ist.
Übersicht
Methoden
-
mayJoinChannel
-
mayShowPublicActionMessage
-
mayShowPublicMessage
-
mayUserDice
-
onAccountChangedKnuddelAmount deprecated
-
onAccountReceivedKnuddel deprecated
-
onAppEventReceived
-
onAppRequestReceived
-
onAppStart
-
onBeforeKnuddelReceived
-
onDebtsUpdate
-
onDeveloperCommand
-
onEventReceived
-
onKnuddelAmountChanged
-
onKnuddelPurchaseFailed
-
onKnuddelPurchaseSuccess
-
onKnuddelReceived
-
onMaxKnuddelToAppChanged
-
onPrepareShutdown
-
onPrivateMessage
-
onPublicActionMessage
-
onPublicEventMessage
-
onPublicMessage
-
onShutdown
-
onUserDeleted
-
onUserDiced
-
onUserJoined
-
onUserLeft
Eigenschaften
Beispiel-Code
Methoden
mayJoinChannel Feedback
-
user
Dieses Methode wird aufgerufen, sobald ein Nutzer versucht den Channel zu betreten. Die App kann nun entscheiden, ob der Nutzer den Channel betreten darf.
Hinweis: Um ein responsives User Interface für den Nutzer, der den Channel betreten möchte zu garantieren, muss die App innerhalb von einer Sekunde auf diese Anfrage reagieren, damit ihre Antwort in das Ergebnis einfliesst.
Mit bestimmten Smileyfeatures ist es derzeit trotzdem möglich, den Channel zu betreten. Diese Nutzer können nicht ausgesperrt werden:
- Channelbesitzer
- Channelmoderatoren und CLT
- Admins (sofern notwendig)
- Sysadmins
- User Apps Team (Mitarbeiter von Knuddels)
Ist der Channel mit einem Passwort geschützt und der Nutzer, der versucht den Channel zu betreten kennt das Passwort, so kann er nicht aus dem Channel ausgeschlossen werden.
Parameter:
-
user
User
Rückgabewert:
Beispiel:
this.mayJoinChannel = function(user)
{
if (user.getAge() < 21)
{
return ChannelJoinPermission.denied('Tut mir leid... In professionelle Casinos kommst du erst mit 21.');
}
return ChannelJoinPermission.accepted();
};
mayShowPublicActionMessage Feedback
-
publicActionMessage
Diese Methode wird jedes Mal aufgerufen, sobald ein Nutzer versucht eine öffentliche Handlung auszuführen. Die App kann nun entscheiden, ob die Handlung ausgeführt werden darf.
Laufen mehrere Apps im selben Channel, so wird die Handlung ausgeführt, sofern alle Apps es erlauben.
Dauert das Fragen aller Apps nach Erlaubnis länger als 10 Sekunden, so wird die Antwort genutzt, die bis dahin gegeben wurde.
Parameter:
-
publicActionMessage
PublicActionMessage
Rückgabewert:
true
, wenn die Handlung ausgeführt werden soll, false
im anderen Fall.
Beispiel:
this.mayShowPublicActionMessage = function(publicActionMessage)
{
return false;
};
mayShowPublicMessage Feedback
-
publicMessage
Diese Methode wird jedes Mal aufgerufen, sobald ein Nutzer versucht eine öffentliche Nachricht zu senden. Die App kann nun entscheiden, ob die Nachricht veröffentlicht werden darf.
Laufen mehrere Apps im selben Channel, so wird die Nachricht veröffentlicht, sofern alle Apps es erlauben.
Dauert das Fragen aller Apps nach Erlaubnis länger als 10 Sekunden, so wird die Antwort genutzt, die bis dahin gegeben wurde.
Parameter:
-
publicMessage
PublicMessage
Rückgabewert:
true
, wenn die Nachricht angezeigt werden soll, false
im anderen Fall.
Beispiel:
this.mayShowPublicMessage = function(publicMessage)
{
var showPublicMessage = publicMessage.getText().length > 5;
if (!showPublicMessage)
{
var author = publicMessage.getAuthor();
author.sendPrivateMessage('Deine Nachricht war etwas kurz und sieht aus wie Spam.');
}
return showPublicMessage;
};
mayUserDice Feedback
-
user
-
diceConfig
Diese Methode wird aufgerufen, wenn ein User im Channel der App über die Systemfunktionen (/dice, /diceo) würfelt. Die App hat Gelegenheit, dem User zu verbieten zu würfeln. Zum Beispiel, weil er nicht dran ist, oder gemutet ist oder mit der falschen DiceConfiguration würfeln will. Falls die App den Hook nicht implementiert hat oder nicht oder zu spät antwortet, darf der User würfeln.
Parameter:
-
user
UserDer User, der würfeln will
-
diceConfig
DiceConfigurationDie DiceConfiguration des Nutzers, der würfeln will.
Rückgabewert:
true
, wenn der User würfeln darf, false
im anderen Fall.
Beispiel:
this.mayUserDice = function(user, diceConfig)
{
if(user.isMuted()) {
user.sendPrivateMessage('Du darfst nicht würfeln, weil du gemutet bist.');
return false;
}
return true;
}
onAccountChangedKnuddelAmount Feedback
-
user
-
KnuddelAccount
-
oldKnuddelAmount
-
newKnuddelAmount
KnuddelAccount wurde abgeschafft. Siehe KnuddelAccount Diese Methode wird aufgerufen, wenn sich die Anzahl der Knuddel eines User geändert hat.
Parameter:
-
user
UserNutzer dessen Knuddelwert sich geändert hat
-
KnuddelAccount
KnuddelAccountvom Nutzer
-
oldKnuddelAmount
KnuddelAmountAnzahl der Knuddel, die der Nutzer vorher besaß
-
newKnuddelAmount
KnuddelAmountAnzahl der Knuddel, die der Nutzer jetzt besitzt
Beispiel:
this.onAccountChangedKnuddelAmount = function(user, knuddelAccount, oldKnuddelAmount, newKnuddelAmount)
{
user.sendPrivateMessage('Die Anzahl deiner Knuddel hat sich von ' + oldKnuddelAmount.asNumber() + ' zu ' + newKnuddelAmount.asNumber() + ' geändert.');
};
onAccountReceivedKnuddel Feedback
-
sender
-
receiver
-
knuddelAmount
-
transferReason
-
knuddelAccount
KnuddelAccount wurde abgeschafft. Siehe KnuddelAccount Diese Methode wird aufgerufen, wenn ein User Knuddel in seinen KnuddelAccount eingezahlt hat.
Parameter:
-
sender
UserAbsender der Knuddel
-
receiver
BotUserBotnutzer, der die Knuddel erhalten sollte
-
knuddelAmount
KnuddelAmountAnzahl Knuddel, die in den Account eingezahlt wurden
-
transferReason
StringGrund, der Knuddel-Einzahlung
-
knuddelAccount
KnuddelAccountAccount des Nutzers, vom dem die Knuddel abgezogen werden können
Beispiel:
this.onAccountReceivedKnuddel = function(sender, receiver, knuddelAmount, transferReason, knuddelAccount)
{
const kNeededKnuddelCount = 10;
var neededAmount = new KnuddelAmount(kNeededKnuddelCount);
if (knuddelAccount.hasEnough(neededAmount))
{
// Auf dem Account sind jetzt genug Knuddel, also kann ein Spiel gestartet werden.
knuddelAccount.use(neededAmount, 'Dein Einsatz für das Spiel');
}
else
{
// 10 Knuddel sind erforderlich, also wird der Nutzer auf den Fehlbetrag hingewiesen
var knuddel = knuddelAccount.getKnuddelAmount().asNumber();
var missing = kNeededKnuddelCount - knuddel;
sender.sendPrivateMessage('Ich habe nun ' + knuddel + ' Knuddel von dir. Zum Spielen fehlen noch ' + missing + ' Knuddel.');
}
};
onAppEventReceived Feedback
-
appInstance
-
type
-
data
Diese Methode wird aufgerufen, wenn aus einer anderen App ein Event mit sendAppEvent versendet wurde.
Parameter:
-
appInstance
AppInstanceInstanz der App, von der das Event kam
-
type
StringTyp, der zur Erkennung mitgesendet wurde
-
data
ObjectDaten, die verschickt wurden
Beispiel:
this.onAppEventReceived = function(appInstance, type, data)
{
// ...
};
onAppRequestReceived Feedback
-
user
-
type
-
data
Diese Methode wird aufgerufen, wenn aus einer anderen App ein Request für Daten geschickt wurde.
Parameter:
Rückgabewert:
Response-Daten
Beispiel:
this.onAppRequestReceived = function(user, type, data)
{
return { 'foo' : 1, 'bar' : 2 };
};
onAppStart Feedback
()Diese Methode wird aufgerufen, sobald die App startet. Dies ist der beste Zeipunkt um Werte zu initialisieren und aus der Persistenz zu lesen.
Beispiel:
this.onAppStart = function()
{
var botUser = KnuddelsServer.getDefaultBotUser();
botUser.sendPublicMessage('Huiuiui... ich bin erwacht und wieder voll einsatzfähig.');
};
onBeforeKnuddelReceived Feedback
-
knuddelTransfer
Diese Methode wird aufgerufen, wenn ein User Knuddel an den BotUser gesendet hat.
Es ist die Aufgabe der App in dieser Methode zu entscheiden, ob sie die Knuddel annimmt oder ablehnt.
Wird diese Methode von der App nicht implementiert, so werden Knuddel automatisch akzeptiert.
Ist diese Methode implementiert und es treten Fehler (Exceptions, Timeout,...) auf oder der Entwickler entscheidet nicht,
was mit den Knuddel geschehen soll, so werden diese vom App-System automatisch an den Absender zurück geschickt.
Wichtig: Zum Zeitpunkt des Aufrufs dieser Methode wurden die Knuddel noch nicht an den BotUser übertragen.
Parameter:
-
knuddelTransfer
KnuddelTransfer
Beispiel:
this.onBeforeKnuddelReceived = function(knuddelTransfer)
{
if (knuddelTransfer.getSender().isAppDeveloper())
{
// Nimmt die Knuddel an und sendet sie an den Bot.
// Im Anschluss wird onKnuddelReceived aufgerufen.
knuddelTransfer.accept();
knuddelTransfer.getSender().sendPrivateMessage('Vielen Dank!');
}
else
{
if (knuddelPot != null && knuddelTransfer.canAddToPot(knuddelPot))
{
// Nimmt die Knuddel an und sendet sie an den KnuddelPot.
knuddelTransfer.addToPot(knuddelPot);
}
else
{
// Lehnt die Knuddel ab und sendet sie zurück an den absendenden
// User oder KnuddelAccount.
knuddelTransfer.reject('Sorry, Knuddel nehme ich von meinem Herrchen an.');
}
}
};
onDebtsUpdate Feedback
-
debts
Diese Methode wird aufgerufen, wenn sich die Schuldenmenge der App verändert.
Parameter:
-
debts
KnuddelAmountaktuelle Schuldenmenge
Beispiel:
this.onDebtsUpdate = function(debts)
{
if(debts.getKnuddelCents()>0)
{
var ownInstance = KnuddelsServer.getAppAccess().getOwnInstance();
var rootInstance = ownInstance.getRootInstance();
var publicMessage = 'Die App wurde von einem AppManager gestoppt.';
var logEntry = 'Forced App Stop Due To Debts';
rootInstance.stopApp(publicMessage, logEntry);
}
};
onDeveloperCommand Feedback
-
user
-
params
Diese Methode wird aufgerufen, wenn der App-Entwickler im Chat den Befehl /apps devCmd:<appKey>:<params> eingibt.
Dabei wird die Methode für ALLE laufenden Instanzen (in allen Channels auf dem gleichen ChatServer) der passenden Apps ausgeführt.
Der <appKey> ist dabei ein App-Ordner-Name (Groß-/Kleinschreibung beachten!), um den Befehl gezielt an eine bestimmte App (alle Installationen) zu senden, oder er ist "*" für alle Apps (alle Installationen aller Apps) des Entwicklers.
Dies trifft ebenfalls auf alle Sub-Channel-Instanzen zu. Falls der Befehl nur in der Root-App benötigt wird, kann dies z.B. selbst per isRootInstance im Code eingeschränkt werden.
Parameter:
Beispiel:
// im Chat ausführen: /apps devCmd:*:Die ist ein Test.
this.onDeveloperCommand = function(user, params) {
user.sendPrivateMessage('developer command empfangen: ' + params);
};
onEventReceived Feedback
-
user
-
type
-
data
-
appContentSession
Diese Methode wird aufgerufen, wenn aus dem HTML User Interface ein Event via Client.sendEvent() gesendet wurde.
Parameter:
-
user
UserNutzer durch dessen User Interface das Event gesendet wurde
-
type
StringTyp, der zur Erkennung mitgesendet wurde
-
data
JSONNutzdaten, die vom Client mitgeschickt wurden
-
appContentSession
AppContentSessionSession, für die das Event ist (falls HTML User Interface bereits geschlossen ist, dann
null
)
Beispiel:
this.onEventReceived = function(user, type, data, appContentSession)
{
if (type == 'greetMe')
{
var botUser = KnuddelsServer.getDefaultBotUser();
botUser.sendPublicMessage('Hallo ' + user.getNick() + '! Willkommen in meinem Channel!');
}
};
onKnuddelAmountChanged Feedback
-
user
-
oldKnuddelAmount
-
newKnuddelAmount
Diese Methode wird aufgerufen, wenn sich die Anzahl der Knuddel eines User geändert hat.
Parameter:
-
user
UserNutzer dessen Knuddelwert sich geändert hat
-
oldKnuddelAmount
KnuddelAmountAnzahl der Knuddel, die vorher im User waren
-
newKnuddelAmount
KnuddelAmountAnzahl der Knuddel, die jetzt im User sind
Beispiel:
this.onKnuddelAmountChanged = function(user, oldKnuddelAmount, newKnuddelAmount)
{
user.sendPrivateMessage('Die Anzahl deiner Knuddel hat sich von ' + oldKnuddelAmount.asNumber() + ' zu ' + newKnuddelAmount.asNumber() + ' geändert.');
};
onKnuddelPurchaseFailed Feedback
-
user
-
startTimestamp
-
errorMessage
Diese Methode wird aufgerufen, wenn ein Knuddelkauf nicht abgeschlossen werden konnte. Siehe auch startKnuddelPurchase.
Parameter:
Beispiel:
this.onKnuddelPurchaseFailed = function(user, startTimestamp, errorMessage)
{
user.sendPrivateMessage('Leider ist beim Kauf der ' + boughtProduct.getKnuddelAmount().asNumber() + ' Knuddel etwas schief gelaufen. Bitte versuche es erneut.');
};
onKnuddelPurchaseSuccess Feedback
-
user
-
startTimestamp
-
boughtProduct
-
toBot
Diese Methode wird aufgerufen, wenn ein Knuddelkauf erfolgreich abgeschlossen wurde. Siehe auch startKnuddelPurchase.
Parameter:
-
user
UserNutzer der den Knuddelkauf gestartet und erfolgreich abgeschlossen hat
-
startTimestamp
NumberZeitpunkt, zu dem der Knuddelkauf gestartet wurde in Millisekunden seit EPOCH
-
boughtProduct
KnuddelShopProductDas Produkt, das gekauft wurde
-
toBot
BooleanParameter der bei Aufruf von startKnuddelPurchase angegeben wurde und angibt ob die gekauften Knuddel direkt nach Kauf zum App-Bot übertragen wurden
Beispiel:
this.onKnuddelPurchaseSuccess = function(user, boughtProduct, toBot)
{
user.sendPrivateMessage('Du hast erfolgreich ' + boughtProduct.getKnuddelAmount().asNumber() + ' Knuddel gekauft. Viel Spaß damit!');
};
onKnuddelReceived Feedback
-
sender
-
receiver
-
knuddelAmount
-
transferReason
Parameter:
-
sender
UserNutzer, der die Knuddel verschickt hat
-
receiver
BotUserBotnutzer, der die Knuddel erhalten hat
-
knuddelAmount
KnuddelAmountMenge der Knuddel, die transferiert worden sind
-
transferReason
String- GRUND aus dem App-Knuddel-Befehl: /appknuddel BOTNICK:KNUDDEL:GRUND
Beispiel:
this.onKnuddelReceived = function(sender, receiver, knuddelAmount, transferReason)
{
receiver.sendPublicMessage('Ein großer Dank gebührt ' + sender + ', der soeben ' + knuddelAmount + ' gespendet hat.');
};
onMaxKnuddelToAppChanged Feedback
-
user
-
oldMaxKnuddelToApp
-
newMaxKnuddelToApp
Diese Methode wird aufgerufen, wenn sich die maximale Anzahl der aktuell im Channel verwendbaren Knuddel vom User geändert hat. Siehe auch getMaxKnuddelToApp.
Parameter:
-
user
UserNutzer dessen maximale Anzahl der aktuell im Channel verwendbaren Knuddel sich geändert hat
-
oldMaxKnuddelToApp
KnuddelAmountAnzahl der maximalen Knuddel, die der Nutzer zuvor im Channel verwenden konnte
-
newMaxKnuddelToApp
KnuddelAmountAnzahl der maximalen Knuddel, die der Nutzer aktuell im Channel verwenden kann
Beispiel:
this.onMaxKnuddelToAppChanged = function(user, oldMaxKnuddelToApp, newMaxKnuddelToApp)
{
user.sendPrivateMessage('Die maximale Anzahl deiner verwendbaren Knuddel hat sich von ' + oldMaxKnuddelToApp.asNumber() + ' zu ' + newMaxKnuddelToApp.asNumber() + ' geändert.');
};
onPrepareShutdown Feedback
-
secondsTillShutdown
Diese Methode wird aufgerufen, wenn die App sich darauf vorbereiten soll heruntergefahren zu werden. Als Parameter wird die geschätzte Zeit übergeben, die die App noch hat, bis sie heruntergefahren wird und der Aufruf App/onShutdown:event folgt.
App/onPrepareShutdown:event kann dazu benutzt werden das Nutzererlebnis zu verbessern, sofern eine App heruntergefahren werden muss (bsp. für Updates). Eine Spiele-App könnte z.B. entscheiden, dass sie keine weiteren Spiele eröffnet und den Spielern offener Spiele die Information anzeigt, wie lange das Spiel noch läuft, bevor es unentschieden endet.
Achtung: Die Methode kann im Lebenszyklus einer App mehrfach aufgerufen werden.
Parameter:
-
secondsTillShutdown
NumberAnzahl der Sekunden, bis die App vorraussichtlich heruntergefahren wird
Beispiel:
this.onPrepareShutdown = function(secondsTillShutdown)
{
var botUser = KnuddelsServer.getDefaultBotUser()
botUser.sendPublicMessage('Die App fährt in ' + secondsTillShutdown + ' Sekunden herunter.');
};
onPrivateMessage Feedback
-
privateMessage
Diese Methode wird aufgerufen, wenn ein BotUser privat angeschrieben wird.
Parameter:
-
privateMessage
PrivateMessage
Beispiel:
this.onPrivateMessage = function(privateMessage)
{
privateMessage.sendReply('Leider kann ich mit ' + privateMessage.getText() + ' nichts anfangen...');
};
onPublicActionMessage Feedback
-
publicActionMessage
Diese Methode wird aufgerufen, wenn im Channel der App eine öffentliche Handlung durchgeführt wird. Für Handlungen von BotUsern wird diese Methode nicht aufgerufen.
Parameter:
-
publicActionMessage
PublicActionMessage
Beispiel:
this.onPublicActionMessage = function(publicActionMessage)
{
if (publicActionMessage.getText().contains('schlafen'))
{
var botUser = KnuddelsServer.getDefaultBotUser();
var message = publicMessage.getAuthor() + ', ich bin auch müde.';
botUser.sendPublicMessage(message);
}
};
onPublicEventMessage Feedback
-
publicEventMessage
Diese Methode wird aufgerufen, wenn im Channel der App eine Event-Nachricht veröffentlicht wird. Für Nachrichten von BotUsern wird diese Methode nicht aufgerufen.
Parameter:
-
publicEventMessage
PublicEventMessage
Beispiel:
this.onPublicEventMessage = function(publicEventMessage)
{
if (publicEventMessage.getText().contains('knuddelt'))
{
var botUser = KnuddelsServer.getDefaultBotUser();
var message = 'Wow, ' + publicEventMessage.getAuthor() + ' hat jemanden geknuddelt!';
botUser.sendPublicMessage(message);
}
};
onPublicMessage Feedback
-
publicMessage
Diese Methode wird aufgerufen, wenn im Channel der App eine öffentliche Nachricht geschrieben wird. Für Nachrichten von BotUsern wird diese Methode nicht aufgerufen.
Parameter:
-
publicMessage
PublicMessage
Beispiel:
this.onPublicMessage = function(publicMessage)
{
if (publicMessage.getText().contains('Zigarette'))
{
var botUser = KnuddelsServer.getDefaultBotUser();
var message = publicMessage.getAuthor() + ', hier wird nicht geraucht.';
botUser.sendPublicMessage(message);
}
};
onShutdown Feedback
()Diese Methode wird aufgerufen, wenn eine App beendet wird. Sobald diese Methode aufgerufen wird, steht nur noch ein begrenzter Teil der API zur Verfügung. Die App sollte den kompletten Zustand in der Persistenz speichern, sodass der Zustand beim nächsten App/onAppStart:event wiederhergestellt werden kann.
Während des Shutdowns können asynchrone each-Methoden, wie each und eachAccessibleUser nicht zuverlässig genutzt werden.
Beispiel:
this.onShutdown = function()
{
var botUser = KnuddelsServer.getDefaultBotUser();
botUser.sendPublicMessage('Die App fährt jetzt herunter. Ihr könnt vorraussichtlich in Kürze wieder spielen.');
};
onUserDeleted Feedback
-
userId
-
userPersistence
Diese Methode wird aufgerufen, wenn ein User gelöscht wurde. Während dem Callback sind noch alle UserPersistence-Daten vorhanden und zugreifbar. Sobald jedoch der Callback verlassen wurde, werden diese Daten automatisch gelöscht.
Der Callback ist dafür da, dass Daten des Users, die an anderen Orten (z.B. in der AppPersistence) gespeichert wurden, gelöscht werden können.
Achtung: Wenn dieser Callback aufgerufen wird wurde der User bereits gelöscht. Daher kann man KEINE Daten mehr über ihn bekommen mit getUser(userId).
Parameter:
-
userId
NumberDie User-ID des Nutzers, der gelöscht wurde
-
userPersistence
UserPersistenceDie UserPersistence des Nutzers, der gelöscht wurde. Nach dem Verlassen der Methode werden alle UserPersistence-Daten zu diesem User gelöscht
Beispiel:
this.onUserDeleted = function(userId, userPersistence)
{
var botUser = KnuddelsServer.getDefaultBotUser();
botUser.sendPublicMessage('Es wurde ein User gelöscht: ' + userId);
};
onUserDiced Feedback
-
diceEvent
Diese Methode wird aufgerufen, wenn ein User im Channel der App über die Systemfunktionen (/dice, /diceo) würfelt. Die App kann auf das Ergebnis zugreifen und die Daten für die Auswertung und Entscheidungen nutzen.
Parameter:
-
diceEvent
DiceEvent
Beispiel:
this.onUserDiced = function(diceEvent)
{
var nick = diceEvent.getUser().getNick();
var totalSum = diceEvent.getDiceResult().totalSum();
var message = 'Wer würfelt denn hier?... Es ist...' + nick + '... und die gewürfelte Zahl lautet... ' + totalSum + '!';
var botUser = KnuddelsServer.getDefaultBotUser();
botUser.sendPublicMessage(message);
};
onUserJoined Feedback
-
user
Parameter:
-
user
UserNutzer, der den Channel betreten hat
Beispiel:
this.onUserJoined = function(user)
{
var botUser = KnuddelsServer.getDefaultBotUser();
botUser.sendPublicMessage('Hi ' + user.getNick() + '!');
};
Eigenschaften
chatCommands Feedback
ObjectErmöglicht das Registrieren eigener Chatbefehle. In einem Channel kann nur eine App laufen, die einen bestimmten Chatbefehl nutzt. Versucht eine zweite App einen Chatbefehl zu registrieren, den eine andere App bereits nutzt, so wird ein Fehler geloggt und die App startet nicht bzw. fährt herunter.
Die Struktur eines registrierten Chatbefehls ist:
commandName: function (user, params, command) {}
commandName
ist der Name der Funktion, wie sie aufgerufen wird (beispielsweise /commandname)user
ist der Nutzer, der die Funktion aufgerufen hatparams
sind die Parameter, die der Nutzer hinter dem Befehl eingegeben hat (beispielsweise /commandname params)command
ist der Name des Befehl selbst (beispielsweise commandName)
Beispiel:
this.chatCommands =
{
foo: function(user, params, command)
{
// Jemand im Chat hat /foo eingegeben.
user.sendPrivateMessage('Foo ist etwas ganz Besonderes!');
},
bar: function(user, params, command)
{
if (params.length != 0)
{
// Jemand hat im Channel '/bar Getränk' eingegeben
user.sendPrivateMessage('In der Bar trinke ich am liebsten ' + params + '!');
}
else
{
// Jemand hat im Channel '/bar' eingegeben
user.sendPrivateMessage('In der Bar trinke ich am liebsten Coconut Kiss!');
}
}
};
Beispiel-Code
In diesen Beispielen wird diese Klasse verwendet: