Verbesserungsvorschläge
-
user.sendActionMessage()
Es wäre geil, wenn uns die Möglichkeit geboten wird auch im Namen des Users eine Art /me-Funktion verwenden kann. So könnte man das Problem der fehlenden Unterstüztung der MyChannelMacros im HTML-Chat umgehen.
Beispiel:
user.sendActionMessage(' begrüßt XY herzlich im Channel.');//Ausgabe
IgelchenM begrüßt XY herzlich im Channel.15 votes -
DevServer per rsync oder ähnlichen updaten
Aktuell wird beim updaten einer App die gesamte App neu vom FTP auf den DevServer kopiert, dies kann bei größeren Apps aber auch mal sehr lange dauern wodurch ein flüssiges und nervensparendes Entwickeln nicht gefördert wird
Bei mir liegt die Wartezeit inzwischen bei ~45 Sekunden pro Update, da wir viele aufwendige (bereits optimierte) Grafiken für unsere UserInterfaces verwenden
Daher wäre es wünschenswert, wenn die App zukünftig nurnoch die geänderten Files seit dem letzten Update (z.B. per rsync) aktuallisiert anstatt die gesamte App neu zu laden
15 votes -
BotUser sendEventMessage
Es wäre schön, wenn der Bot auch EventMessages schicken kann die in Blau sind und ggf. mit >>> eingerückt sind um z.B. /d zu simulieren oder andere wichtige aktionen die sich in der Farbe abheben sollen.
15 votes -
/applogs hide|show
Ich mag Applogs. Finde diese super toll und hilfreich. Aber oft ist es so, dass ich für eine Zeit keine Logs sehen will. Da ich mir die Logs garnicht deaktivieren möchte (abgesehen davon, dass ich das nicht immer kamm), da ich die in der Regel nicht selber wieder aktivieren kann wünsche ich mir eine Option um Applogs auszublenden, so dass ich diese nicht mehr bekomme, ohne dass die Logseinstellungen verändert werden. Dies ist z.B. der Fall wenn ich mit dem Handy online bin.
Daher wünsche ich mir die Funktion
/applogs hide <<< blendet alle applogs aus
/applogs show <<< zeigt…15 votesHallo,
ich bin unsicher, ob die Idee in diesem Sinne gut ist, um das dahinterliegende Problem zu lösen. Wir werden das im Auge behalten.
Knuddelige Grüße
Ironist -
user getLastOnlineDate
Ich hätte gerne eine Funktion um den Zeitpunkt des letzten Logins eines Users auszulesen. Hierbei geht es primär um die Bereinigung von Datenleichen. Ich denke ich kann hier insgesamt über 100.000 Datenleichen entfernen!
15 votesAhoi,
wir finden diese Idee spannend und haben geplant sie umzusetzen.
Knuddelige Grüße
Ironist -
der AppBot User aus dem Channel kicken kann.
Hallo Zusammen,
ich fände es Sinnvoll, wenn der App-Bot die Rechte zum kicken eines Users bekommen könnte.
Da ich gerne eine Art "Vote" System bauen möchte mit der Chatter die sich lange in einem Channel aufhalten jemanden entfernen können der sich im Video Chat freizügig zeigt oder blank zieht ohne dass ein MCM online ist.In dieses System würde ich noch ein paar mehr parameter einfließen lassen, aber im großen und ganzen wäre das gerade für Video Channel eine Sinnvolle Art und Weise den Stammgästen den aufenthalt angenehmer zu gestalten.
15 votes -
ChannelDesign mehr getter
http://developer.knuddels.de/docs/classes/ChannelDesign.html
getChannelRed
getChannelBlue
getChannelBlue
getLineHeight (leerzeilengröße?)
getMinimumFontSize
getMaximumFontSIze
getDefaultFontSize
allowColorMessages
allowBoldAndItalicMessagesDer Bot kann theoretisch die Schriftgrößenbeschränkung etc. umgehen. Um individuell je nach Channeleinstellung dies eben nicht zu umgehen, wäre es gut wenn man per API dieses nachprüfen könnte.
Ebenso um eine Nickliste für SPiele in einem Popup nachzustellen, wäre es notwendig alle Farben des Channels auslesen zu können.15 votes -
Background Upload für DEV
Es wäre gut, wenn man auf dem DEV einen Channelhintergrund hochladen kann umso seine App auch optisch auf Feinheiten zu testen, damit dies nicht auf dem Liveserver erst passieren muss.
12 votes -
RowPersistence
Ich wünsche mir eine row-basierte Persistence mit der es möglich ist, mehrere Einträge unter einem key abzulegen und ähnlich wie UserPersistenceNumbers diese auch abzufragen
Hier ein paar Beispiele
KnuddelsServer.getPersistence().addEntry(key, sameData)
KnuddelsServer.getPersistence().getEntry(key, index)
PersistenceRows.eachEntry(key, someFilter)
PersistenceRows.deleteAll(key)
PersistenceRows.count(key)user.getPersistence().addEntry(key, sameData)
user.getPersistence().getEntry(key, index)
UserPersistenceRows.eachEntry(key, someFilter)
UserPersistenceRows.deleteAll(key)
UserPersistenceRows.count(key)Anwendungsbeispiele wären z.B. Logs (Spiele, Auszahlungen) oder Appbasierte Datenbanken mit z.B. dem CMV Verlauf, eigenen Fragendatenbanken für "Ich hab noch nie", "Wer bin ich","Wahrheit oder Pflicht", "WordMix 2.0?"... oder aktive Spiele
12 votes -
Mentorsystem adaptiert auf User Apps Coaches
Das Mentorsystem zeigt derzeit automasiert Möglichkeiten an, neue User zu empfangen. Derjenige, bei dem sich der Schützling am besten aufgehoben fühlt, wird entsprechend belohnt.
Das System kann man auch für User Apps bauen, wenn sich jemand dazu entschließt, Apple Entwickler zu werden: "<Nick> möchte gern User Apps programmieren und hat seine Kenntnisse als <Anfänger|Erfahren|Profi> angegeben. Wie würdest du ihm helfen?" Buttons: [Hi, willkommen im Club!] [Hi, wollen wir den Apps Server hacken?] [01111000011100001111000011100110000]
Das ist nur ein Beispiel. Alle registrierten User App Coaches können sich nun dem Schützling annehmen und ebenfalls Mentorpunkte verdienen. Zu diskutieren wäre, ob diese mit den…
12 votesSascha Hameister responded
Ahoi,
den Kern dieser Idee finden wir sehr spannend. Wir haben das Learning-Thema bereits im Auge und durch die Entwickler Coaches – die bereits fleißig neue Entwickler unterstützt haben – im ersten Ansatz testweise minimal implementiert.
Es ist durchaus denkbar, dass wir ein automatisiertes System zur Unterstützung neuer Entwickler einführen.
Wann es soweit ist und wie das dann aussieht können wir derzeit noch nicht sagen.
Knuddelige Grüße
Ironist -
Android: Popups "minimieren"
Derzeit ist die Handhabung von Popups auf einem Android-Gerät suboptimal.
Durch den "Back"-Button schließt man die jeweilige View.
Bei einigen Spielekonzrpten darf das Popup aber nicht so einfach geschlossen werden, nehmen wir das Beispiel von Billard/8-Ball:
Wenn der Nutzer "kurz" mal in den Channel schauen möchte um zu sehen, ob ihm jemand geschrieben hat, beendet dieser damit das Spiel, da eben das Fenster geschlossen wird.Ich könnte mit folgende Lösung vorstellen:
Der Back-Button minimiert das popup, am besten könnte man dies so wie die Privatnachrichten lösen, dass oben rechts im Channel dann eine kleine Box angezeigt wird
Ein zusätzliches "X"…12 votes -
KCode-Parser als Modul für UI-Apps
Im Zuge der HTML-Chat entwicklung wird der KCode-Parser abgekappselt und als eigenständiges Modul entwickelt, sodass dieser auch für andere Komponenten genutzt werden kann.
Diesen für UI-Apps bereitzustellen (auch wenn Obfuscated, mit einer Schnittstelle) wäre enorm hilfreich, insbesondere wenn man in einer UI-App einen separaten Chat für das Spiel realisieren will. So braucht man sich nicht mehr um wesentlichr Fotmatierungen kümmern, sondern arbeitet direkt mit KCode.
12 votesAhoi,
wir haben geplant das Modul, das KCode in HTML umwandelt für App-Entwickler freizugeben. Derzeit kann ich noch nicht sagen, wann es soweit sein wird.
Knuddelige Grüße
Ironist -
[User-Objekt] user.isDeveloperVerified();
Ich möchte überprüfen, ob ein Nutzer bei dem Developer-Programm von Knuddels teilnimmt und sich mit /apps developer erfolgreich registriert hat.
Grund dafür ist, dass ich explizit für AppDeveloper einige Komponenten anbieten möchte. Ist der Nutzer kein AppDeveloper, so soll dem Nutzer erst darauf aufmerksam gemacht werden, wie er sich in Knuddels für das Programm anmeldet.
12 votes -
getAllKeys() auch auf die AppPersistence anwenden
Für die User kann man bereits getAllKeys anwenden. Genau so praktisch ist es aber, wenn es die Methoden auch auf der AppPersistence hätte. Schnell kann man den Überblick über die gespeicherten Keys in der AppPersistence verlieren. Man muss ständig einen Blick haben, was gespei hert wurde. Gerade am Anfang, wenn man viel testet, kann dies sehr demotivierend sein.
12 votes -
Prüfen ob onPrivateMessage() per /p oder per /m kommt...
In einigen fällen kann es sinnvoll sein zu prüfen ob eine Nachricht per /p oder per /m kommt. Im meinem Fall möchte ich Wahlweise per /m oder per /p antworten wenn der user einen Link in einer /p oder in einer /m anklickt ... dies ist jedoch aktuell nicht möglich ohne 2 verschiedene Funktionen zu nutzen.
Bei App.onPrivateMessage().privateMessage() könnte man doch sowas wie
recievedAs()
anbieten und dann wahlweise P oder M ausgeben.
Wäre super12 votes -
Eine Funktion mit der ich Grafiken, direkt über der Eingabezeile setzen kann
Ich wünsche mir eine Funktion, mit der ich Grafiken direkt über der Eingabezeile anzeigen lassen kann und positionieren kann.
So wie beispielsweise beim Smileyfeature James Dance, wo James über der Eingabezeile tanzt, oder auch polonaise, wo die Polonaise über der Eingabezeile her läuft.
Damit lassen sich durch aus auch nette andere Sachen machen, die ich dann gerne umsetzen würde. Allerdings ist das über die bisherige Option mit dem bgimage sehr kompliziert und umfangreich und nicht zielführend.
Weshalb ich mir dafür eine spezielle Funktion/Möglichkeit wünsche.
Am besten mit Möglichkeit ob es nur bei einem oder bei allen angezeigt werden soll. Bzw.…12 votes -
11 votes
Hallo,
den Hintergrund des Channels via API zu ändern für alle Nutzer und die Information dann in den Channeleinstellungen zu persistieren ist geplant. Bis wir das realisiert haben, könnt ihr folgenden KCode nutzen:
°>{bgimage}Bild-URL|Modus<°
Modus ist eine Zahl zwischen 1 und 100. Experimentiert damit herum, bis ihr den Modus gefunden habt, der euch gefällt. :-)
-
checkFile(filename) zur vorherigen Prüfung
Damit liese sich überprüfen ob das Entsprechende File innerhalb der App verfügbar oder bereits geladen wurde.
Anwendungsbeispiele sind z.B. Modulare Apps oder auch Eventsysteme
Aktuell kann auch requireFehler nicht try/catch´n drum wäre dies eine Lösung um solch fehler darstellbar zu machen.
const FileStatus = {
NotExists: 'NotExists',
AlreadyLoaded: 'AlreadyLoaded',
Unused: 'Unused'
};if(checkFile('events/bingo.js') === FileStatus.NotExists) {
//das event bingo gibts nicht
}if(checkFile('events/bingo.js') === FileStatus.Unused) {
require('events/bingo.js');
}11 votes -
Serverseitiger Support für JSON-Dateien
Ein serverseitiger Support für JSON-Dateien wäre super!
also sowas wie
var data = loadjson("myfile.json");
oder ähnliches11 votes -
Channelfeedbackinformationen verwertbar machen
Hallo Gemeinde,
seit geraumer Zeit gibt es das Channelfeedback. Schade ist, dass diese Informationen nicht mit der API auswertbar sind. Dies kann z.B. sinnvoll sein, wenn man Belohnungen Abhängig von der Bewertung machen möchte.Hierfür könnte ich mir vorstellen, dass die ChannelInformation-Klasse dahingehend neue Methoden bekommt, um das Ranking, die Nutzung und die einzelnen Votingergebnisse auslesen zu können.
11 votesAhoi,
dies ist eine gute Idee. Wir haben definitiv vor die Informationen aus der Channeltransparenz per API zugreifbar zu machen.
Knuddelige Grüße
Ironist