Tutorial: Eigene Funktionen für den MyChannel zur Verfügung stellen – Teil 2

Bereits im letzten Beitrag haben wir uns damit beschäftigt eine erste User App zu schreiben, mit der ihr euren Besuchern zwei Funktionen zur Verfügung stellen könnt. Heute kümmern wir uns darum, diese Funktionen etwas spannender zu machen.


Aufgabenstellung:

Deine User App soll nach der Verwendung von /huhu oder /byebye nicht mehr den User privat Begrüßen / Verabschieden sondern soll eine öffentliche Nachricht für alle User posten.


Hinweis: Bei diesem Tutorial wird vorausgesetzt, dass du einen aktiven Entwickler-Account und Zugang zum FTP-Server hast und bereits mit Hilfe von diesem Beitrag eine eigene App erstellen kannst.

Schritt 1:

Öffne mit deinem Editor die main.js und ersetze die grau hinterlegten Zeilen im Code durch die weiter unten hervorgehobenen Code-Blöcke.

var App = (new function(){
this.chatCommands = {
 // Anfang von Funktion huhu
 huhu: function(user, params, command)
 {
 // Jemand im Chat hat /huhu eingegeben.
 user.sendPrivateMessage('Schön das du da bist!');
 },
// Ende von Funktion huhu
// Anfang von Funktion byebye
byebye: function(user, params, command)
 {
 // Jemand im Chat hat /byebyeeingegeben.
 user.sendPrivateMessage('Mach es gut!');
 }
// Ende von Funktion byebye
};
}());
 huhu: function(user, params, command)
 {
 // Jemand im Chat hat /huhu eingegeben.
 bot.sendPublicMessage('Ich soll alle von '+user.getProfileLink()+' freundlich begrüßen.'); // Hier wird öffentlich eine Nachricht gepostet!
 },
 byebye: function(user, params, command)
 {
 // Jemand im Chat hat /huhu eingegeben.
 bot.sendPublicMessage(''+user.getProfileLink()+' will sich verabschieden. Ich helfe mal beim rausfinden.'); // Hier wird öffentlich eine Nachricht gepostet!
 }

Wenn ihr diese Änderungen abspeichert und versucht hochzuladen, werdet ihr feststellen, dass eure App nicht funktioniert und Fehler gemeldet werden. Keine Angst, das ist noch ganz normal, da wir in den Funktionen etwas verwenden, was unsere App noch gar nicht kennt!

In den Zeilen 4 (in den oberen Beispielen grau hinterlegt), wird die öffentliche Nachricht mit Hilfe von bot.sendPrivateMessage() versucht zu veröffentlichen. Doch wir haben noch gar nicht bot definiert! Damit die User App nun weis, dass damit der verknüpfte App-Bot gemeint ist, müssen wir unser Script noch anpassen!

Schritt 2:

Dafür müssen wir ganz an den Anfang unserer main.js eine Variable definieren. Dazu verwenden wir den folgenden Einzeiler. Wichtig ist, dass ihr diesen Einzeiler noch vor die Definierung der App-Variable (var App) packt!

var bot = KnuddelsServer.getDefaultBotUser(); // Hier wird der BotUser definiert.

Im unten stehenden Beispiel seht ihr, wie eure main.js nun aussehen sollte, damit euere User App problemlos laufen kann.

var bot = KnuddelsServer.getDefaultBotUser(); // Hier wird der BotUser definiert.
var App = (new function(){
this.chatCommands = {
 // Anfang von Funktion huhu
 huhu: function(user, params, command)
 {
 // Jemand im Chat hat /huhu eingegeben.
 bot.sendPublicMessage('Ich soll alle von '+user.getProfileLink()+' freundlich begrüßen.'); // Hier wird öffentlich eine Nachricht gepostet!
 },
// Ende von Funktion huhu
// Anfang von Funktion byebye
 byebye: function(user, params, command)
 {
 // Jemand im Chat hat /huhu eingegeben.
 bot.sendPublicMessage(''+user.getProfileLink()+' will sich verabschieden. Ich helfe mal beim rausfinden.'); // Hier wird öffentlich eine Nachricht gepostet!
 }
// Ende von Funktion byebye
};
}());

Wenn ihr bis hier hin alles richtig gemacht habt, dann können euere User nun öffentlich alle User im Channel begrüßen und verabschieden (der App Bot veröffentlicht die Nachricht).

Im nächsten Teil des Tutorials werden wir uns darum kümmern, dass zufällige Texte ausgegeben bzw. verwendet werden. Damit sollten eure Funktionen für etwas mehr Abwechslung sorgen und ihr könnt eurer Kreativität freien Lauf lassen.

Wenn ihr Fragen und Anregungen zum Tutorial habt, so könnt ihr diese jederzeit hier im Blog unter den Kommentaren hinterlassen.

Ein Gedanke zu “Tutorial: Eigene Funktionen für den MyChannel zur Verfügung stellen – Teil 2

  1. Es sollte erwähnt werden, dass Globale Variablen, nachdem wir sie nun oben definiert haben, NICHT mehr extra definiert werden müssen sie werden nun in der gesammten App erkannt. (fast) Alles was vom Knuddelsserver kommt (als „var“) kann man global definieren

    Like

Hinterlasse einen Kommentar