-
Notifications
You must be signed in to change notification settings - Fork 1
KCode
KCode ist das Markup-System für Nachrichten auf Knuddels. Damit kannst du Texte formatieren, klickbare Links erstellen, Bilder manipulieren und interaktive Elemente einbetten.
Hinweis: Einige erweiterte KCode-Features (Buttons, Countdown, Textausrichtung) funktionieren nur in der PC-App. In anderen Clients wird stattdessen ein einfacher Link oder gar nichts angezeigt.
var bot = KnuddelsServer.getDefaultBotUser();
// Fett
bot.sendPublicMessage('_Das ist fett_');
// Kursiv
bot.sendPublicMessage('Das ist °#°kursiv°#°');
// Fett und kursiv
bot.sendPublicMessage('_°#°Fett und kursiv°#°_');// Vordefinierte Farbkürzel
°R°Rot°#° °G°Grün°#° °B°Blau°#°
°E°Rot2°#° °W°Weiß°#° °K°Schwarz°#°
°Y°Gelb°#° °C°Cyan°#° °M°Magenta°#°
// RGB-Farbcode
°#FF0000°Roter Text°#°
°#00FF00°Grüner Text°#°
// Größe 0–9 (Standard ist normal)
°1°Kleine Schrift°#°
°5°Größere Schrift°#°
°9°Sehr große Schrift°#°
°>LEFT<°Linksbündig
°>CENTER<°Zentriert
°>RIGHT<°Rechtsbündig
°>JUSTIFY<°Blocksatz
// Prozentuale Einrückung
°%20°20% eingerückt
°%50°50% eingerückt
Die wichtigste KCode-Funktion: Text, der beim Klick einen Befehl ausführt.
// Syntax: °>BEFEHL|ANZEIGETEXT<°
// Chat-Befehl ausführen
bot.sendPublicMessage('Klicke °>/start|hier<° um zu starten!');
// Profil öffnen
bot.sendPublicMessage('Besuche ' + user.getProfileLink() + ' im Profil!');
// Eigener Anzeigetext für Profillink
bot.sendPublicMessage('Besuche ' + user.getProfileLink('diesen Nutzer') + '!');user.sendPrivateMessage(
'Was möchtest du tun?\n' +
'°>/spielen|Spielen<°\n' +
'°>/highscore|Highscore anzeigen<°\n' +
'°>/hilfe|Hilfe<°'
);Im Chat können grafische Buttons dargestellt werden:
// Syntax: °>{button}TEXT|ID<°
°>{button}Klick mich|btn1<°
// Button mit Befehl
°>{button}Spielen||call|/start<°
// Deaktivierter Button
°>{button}Gesperrt||enabled|0<°
// Button mit Icon
°>{button}Hallo||icon|sm_00.gif<°
// Größe anpassen
°>{button}Großer Button||width|200|height|30<°
// Textschatten
°>{button}Schatten||textshadow|1<°
Buttons können mit Farbverläufen gestaltet werden. Der Gradient definiert drei Farben (oben, mitte, unten) als RGB-Werte, getrennt durch ~:
// Komplett roter Button
°>{button}Rot||color|255,0,0~255,0,0~255,0,0<°
// Regenbogen-Gradient
°>{button}Bunt||color|255,0,0~0,255,0~0,0,255<°
Vordefinierte Stile sind ebenfalls verfügbar (z.B. |color|green, |color|blue).
Bilder werden mit °>BILDPFAD<° eingebettet. Den Pfad erhältst du über KnuddelsServer.getFullImagePath():
var imgPath = KnuddelsServer.getFullImagePath('mein-bild.png');
bot.sendPublicMessage('°>' + imgPath + '<°');°>bild_normal.gif|bild_hover.gif<°
°>bild_normal.gif|bild_hover.gif<>|/mein-befehl<°
°>{table}BREITE<°
°>{tr}<°
°>{tc}BREITE<°Zelle 1
°>{tc}BREITE<°Zelle 2
°>{tr}<°
°>{tc}BREITE<°Zelle 3
°>{tc}BREITE<°Zelle 4
- KCode funktioniert in allen Nachrichtentypen: öffentlich, privat und Post-Nachrichten
- Encoding: Dateien müssen als UTF-8 ohne BOM gespeichert sein, sonst werden Sonderzeichen (ä, ö, ü) falsch dargestellt
- Client-Kompatibilität: Nicht alle KCode-Features funktionieren in allen Clients. Teste immer in PC-App, Web-Client und mobilen Apps
- Verschachtelte Formatierungen sind möglich, aber halte es einfach
- Erste Schritte – Voraussetzungen, Einrichtung, deine erste App
-
Projektstruktur – Dateien, Ordner und
app.config - Dev-Server – Entwicklungsumgebung und Testen
-
App-Lifecycle und Hooks –
onAppStart,onUserJoinedund Co. -
Server-API Grundlagen –
KnuddelsServer,Channel,Logger - Client-Server-Kommunikation – Events zwischen Frontend und Backend
-
Benutzer und Nachrichten –
User,BotUser, Nachrichten senden - HTML-UI und AppContent – Popups, Overlays, Globale Apps-UI
-
Datenspeicherung –
AppPersistence,UserPersistence -
Knuddel und Zahlungen – Transfers, Käufe,
KnuddelAccount - Toplisten – Ranglisten und Highscores
- Globale Apps – Apps im "Apps & Spiele"-Menü
- Quests – Aufgaben für Nutzer
- Externe Server-Kommunikation – HTTP-Requests an externe APIs
- Tutorials – Übersicht aller Tutorials
- Tic-Tac-Toe – Multiplayer-Spiel mit Bestenliste
- Best Practices – Tipps, Limits und häufige Fehler
- FAQ – Häufig gestellte Fragen
- KCode-Formatierung – Nachrichten-Formatierung mit KCode