Du bist nicht angemeldet. [Anmelden]
Seite 26 von 26 < 1 2 ... 24 25 26
Optionen
Thema bewerten
Re: Fragen und Antworten * [Re: Benz] - #3203955 - 04.11.2022, 16:36:17
djchrisnet
​Verified Prototype Hater

Registriert: 27.05.2006
Beiträge: 905
Ort: Rendsburg
Also da ist ziemlich viel durcheinandergeschoben, dass ignorie ich mal.

Der Teil mit this.onEventReceived ... muss jedenfalls in die App function rein, damit this === App ist
_________________________
AppEntwickler
Prototype Hater



[zum Seitenanfang]  
Re: Fragen und Antworten [Re: Benz] - #3203964 - 04.11.2022, 17:30:08
DdvOiD
​Still lovin

Registriert: 24.02.2005
Beiträge: 781
Ort: Deutschland, NRW, Kempen
Antwort auf: Benz

Code:
    var appinstance = this;
	this.onEventReceived = function(user, type, key, data, appContentSession) {
        if(key == "starwars") {
            //Den /entry-Befehl Simulieren
            appinstance.chatCommands.entry(user, data, "starwars");
        }
        else if (key == "closed") {
            hidegb(user);
        }
        else {
            user.sendPrivateMessage("Unbekannter Key: " + key);
        }
    }	 
	




Hier ist ebenfalls die funktion falsch.
Dein onEventReceived hat einen parameter zuviel, wodurch die kontrolle so auch nicht richtig klappt.

falsch: this.onEventReceived = function(user, type, key, data, appContentSession) {

richtig: this.onEventReceived = function(user, type, data, appContentSession) {
_________________________
Ich wei ich bin ein A-loch... :-D , doch Schei egal ob ihr mich liebt... ICH hab mich gern :-]

[zum Seitenanfang]  
Re: Fragen und Antworten [Re: DdvOiD] - #3203973 - 04.11.2022, 18:37:56
Benz
Ehena​mtlic​hes M​onste​r​

Registriert: 09.04.2004
Beiträge: 177
Ort: Landkreis Cuxhaven
Also gehe ich mal deine Version durch......

Code:
    var appinstance = this;
	this.onEventReceived = function(user, type, data, appContentSession) {
        if(key == "starwars") {
            //Den /entry-Befehl Simulieren
            appinstance.chatCommands.entry(user, data, "starwars");
        }
        else if (key == "closed") {
            hidegb(user);
        }
        else {
            user.sendPrivateMessage("Unbekannter Key: " + key);
        }
    }	 
	

msste dann dementsprechen so sein oder ? ....


Ja ich habe viel durcheinander, das ist mir selbst klar, weil ich nur rumprobiere bis es klappt.
Ich war ja schon sehr froh darber, dass das App-Fenster reagiert und sich ffnete und alles anzeigte, was ich in die HTML eingebunden habe. :-D

Die User-App ansich funktioniert ja auch, aber da ich aus der HTML raus will um ein Fenster als JS darzustellen, womit ich auch Befehle im Chat ausfhren kann, bringt mir die gesamte HTML nichts mehr.
Die HTML hat das Problem, das ich sowas in einer Art Homepage ect. machen knnte, aber das nicht mit dem Chat interagieren kann. :((

Hier mal ein Beispiel, welches ich aus Crash festgestellt habe :
Ich klicke etwas im Fenster an, der Chatbot reagiert ffentlich im Channel auf meinem Tun. :-O

Nur leider finde ich nichts geschriebenes, was mir mit der JS als Fenster erlaubt, um auch die Befehle im Chat auszufhren.
Oder gibt es da diesbezglich auch eine HTML-Verlinkung, die mir sowas erlauben wrde ?
Ich pershnlich habe nichts in irgendwelchen Seiten gefunden, die mir meine Antwort nahe gelegt htten. :-|


Bearbeitet von Benz (04.11.2022, 18:39:17)
_________________________
Ich mag evt. ein wenig verrckt sein, aber was ist heute noch normal ?
Jeder Mensch hat in diesem Fall eine eigene Definition :-P

Mit frechen Gren
TMboy :-D

[zum Seitenanfang]  
Re: Fragen und Antworten [Re: Benz] - #3203980 - 04.11.2022, 20:16:36
root

Registriert: 19.03.2011
Beiträge: 1.812
Ein weiterer Fehler wre beispielsweise die Methode setAppContent der Klasse User. Die richtige Methode lautet sendAppContent. Insgesamt wrde ich dir dazu raten, die Best Practices der Software-Entwicklung und die Konventionen der Programmiersprache JavaScript einzuhalten. Beispielsweise ldst du ein Objekt zum Key "gb" aus der Persistenz, was aber nicht erkennen lsst, was sich genau dahinter verbirgt. Offenbar soll es ein Array sein, weil du der Variable data in der else-Klausel ein leeres Array zuweist. Die Funktion hidegb entfernt dann einen Content (und verbirgt ihn nicht), steht wohl aber irgendwie im Zusammenhang mit den gb-Daten. Auch wrde ich dir raten, mit Blockvariablen zu arbeiten (deshalb markiert beispielsweise die IDE Webstorm das Schlsselwort "var"). Ordnung in dem Code macht es spter leichter, ihn zu warten und zu erweitern. Das spart dir viele frustrierende Stunden Code-Arbeit.

Nur rumprobieren bis es klappt ist nicht die beste Idee. Ich empfehle: Wenn dir ein Fehler angezeigt wird, dann recherchiere nach dem Fehler. So sammelst du auf Dauer ntzliche Erfahrungen. Die Fehlermeldung zu lesen und zu verstehen ist von besonderer Bedeutung fr die Programmierarbeit. Rumprobieren und stundenlang festzustellen, dass es nicht funktioniert, frustriert nur und raubt vielen auf Dauer die Motivation.

Zu deiner letzten Frage: Das kannst du regeln, indem du Client.executeSlashCommand(string) nutzt, ist aber eher weniger interessant. Alle Befehle, die nicht auf einer Whitelist stehen, erfordern eine weitere Abfrage durch James. Ich wrde es per Event lsen, welches nach einem Klick im User Interface ein Signal an deine serverseitige Anwendung sendet. Das tatschliche Ereignisse kann dann direkt im Channel ausgelst werden. Mehr dazu findest du in der API-Doku zur Methode sendEvent(string, object).
_________________________
/

[zum Seitenanfang]  
Re: Fragen und Antworten [Re: root] - #3204120 - 05.11.2022, 21:41:07
Benz
Ehena​mtlic​hes M​onste​r​

Registriert: 09.04.2004
Beiträge: 177
Ort: Landkreis Cuxhaven
Antwort auf: its good
Nur rumprobieren bis es klappt ist nicht die beste Idee. Ich empfehle: Wenn dir ein Fehler angezeigt wird, dann recherchiere nach dem Fehler. So sammelst du auf Dauer ntzliche Erfahrungen. Die Fehlermeldung zu lesen und zu verstehen ist von besonderer Bedeutung fr die Programmierarbeit. Rumprobieren und stundenlang festzustellen, dass es nicht funktioniert, frustriert nur und raubt vielen auf Dauer die Motivation.

Da ich keine Fehlermeldungen habe, wre mir ein Fehler nicht aufgefallen, bisher luft alles problemlos.
Ja ich hatte vorher ein Gstebuch als Frame drin, diese habe ich irgendwann einmal ausgetauscht und durch eine HTML ersetzt.
Daher kann es noch sein, das alte Daten vorhanden sind, die noch Daten einer GB abfragen, aber nichtmehr benutzt.
Knnte ich mal rauslschen, danke dir fr den Hinweis. :-]
_________________________
Ich mag evt. ein wenig verrckt sein, aber was ist heute noch normal ?
Jeder Mensch hat in diesem Fall eine eigene Definition :-P

Mit frechen Gren
TMboy :-D

[zum Seitenanfang]  
Seite 26 von 26 < 1 2 ... 24 25 26


Moderator(en):  Misterious