Knuddels lebt von den vielen kleinen und großen Befehlen, die man im Chat anwenden kann. Mit deiner App kannst du ganz eigene Befehle entwickeln, die die Benutzer dann anwenden können. Das geht ganz einfach.
Um eigene Slash-Funktionen anzulegen gibt es in User Apps eine Konvention. Für diese Funktionen gibt es eine Konvention. Im App-Objekt wird eine Map mit dem Namen chatCommands angelegt, in der der Name auf die jeweilige Funktion gemappt wird:
var App = (new function(){ this.chatCommands = { 'bar': function(user, params, command) { var message = user + ' hat mich gerade an dir Bar geschickt'; var botUser = KnuddelsServer.getDefaultBotUser(); botUser.sendPublicMessage(message); } }; }());
Wichtig zu wissen ist, dass in einem Channel nur eine App laufen kann, die einen Slash-Befehl reserviert. Wenn eine weitere App starten möchte, die einen Befehl belegen möchte, den bereits eine andere App nutzt, so wird der Start verhindert.
Warum ist das so?
Wenn mehrere Apps auf denselben Befehl reagieren könnten, dann wüsste der AppServer nicht, welche App jetzt gemeint ist. Damit hier keine Probleme auftreten, haben wir entschlossen, dieses Limit einzuführen.
Halli Hallo,
Ihr wollt durch ein Slash Befehl, eine Private Nachricht bekommen die einen weiteren Befehl zum anklicken beinhaltet? Kein Problem!
this.chatCommands =
{
befehl1: function(user, param, command)
{
user.sendPrivateMessage(‚_°BB>Klick mich|/befehl2<°°°_');
},
befehl2: function(user, param, command)
{
user.sendPrivateMessage('Klasse, Jetzt weißt du es wie es geht :)');
},
};
MfG Fabian
LikeLike
Korrektur :
‚befehl1‘: function(user, params, command)
{
var befehl1 = user.sendPrivateMessage(‚_°BB>Klick mich|/befehl2<°°°_');
},
'befehl2': function(user, params, command)
{
var befehl2 = user.sendPrivateMessage('Klasse, Jetzt weißt du es wie es geht')
}
LikeLike
Wo ist da eine Korrektur?
this.chatCommands =
{
}
muss mit dahin =)
LikeLike