Vor über einem Jahr wurde sich bereits gewünscht, dass man mit der API Nutzern in der Nickliste eigene Icons geben kann. Diesem Wunsch sind wir nun nachgekommen und ab heute ist es auf dem Liveserver möglich. Hier erkläre ich kurz, wie es geht.
So kann es aussehen:
So einfach ist es:
Wenn ein Nutzer in seiner Nachricht das Wort Fußball erwähnt, dann wollen wir einen Fußball neben seinem Nick anzeigen. Sobald er eine Nachricht ohne das Wort Fußball verfasst, entfernen wir das Icon wieder.
this.onPublicMessage = function(publicMessage) { // Bild laden var icon = KnuddelsServer.getFullSystemImagePath('objects/side_soccerball.png'); var user = publicMessage.getAuthor(); if (publicMessage.getText().contains('Fußball')) { // Bild in Nickliste anzeigen user.addNicklistIcon(icon, 13); } else { // Bild aus Nickliste entfernen user.removeNicklistIcon(icon); } }
Eigene Bilder laden
Wenn du statt der vordefinierten Icons vom Knuddels-Server eigene Icons nutzen möchtest, dann musst du die Bilder im www-Ordner deiner App ablegen und die Methode KnuddelsServer.getFullImagePath zum Laden der URL deines Bildes nutzen.
Ich bekomme da kein Icon angezeigt, selbst wenn ich Hallo sage , hab ja im Trace nun Hallo stehen, passiert nichts ….
Hier mein Einbau :
this.onPublicMessage = function(publicMessage)
{
// Bild laden
var icon = KnuddelsServer.getFullSystemImagePath(‚http://scripts.knuddels.de/ww/images/sm_02.gif‘);
var user = publicMessage.getAuthor();
if (publicMessage.getText().contains(‚Hallo‘))
{
// Bild in Nickliste anzeigen
user.addNicklistIcon(icon, 13);
}
else
{
// Bild aus Nickliste entfernen
user.removeNicklistIcon(icon);
}
}
Alles so gut so weit, ich hab in diesem Fall mal ein Mentorsmiley zum jucks genommen mit voller URL, aber selbst hier, es geschieht nichts ! -.-
Was mach ich falsch ?
LikeLike
Ich habs nun hinbekommen, aber wie mache ich es mit mehreren ?
Ich habe festgestellt, wenn ich mehrere untereinander mache, akzeptiert der Code das nicht mehr an, ab 2 Stück macht er nur noch den letzteren im Script ….
Kann man das irgendwie beheben ?
LikeLike
Ich habe genau das selbe Problem. Wäre schön wenn jemand was dazu sagen kann.
LikeLike
auch bei Ironist oben in der Liste ist eine Ordnungszahl angegeben… Versuche mal dies so bei Dir einzubauen… 😉
LikeLike