Seite 1 von 2

Script: Timestamp bei away-Meldungen

Verfasst: 11.03.2010, 16:19
von Linus
So, hier mal wieder ein kleines Script von mir, das auf dem Code für die Badwords basiert (genau genommen der Teil, der die Eingabezeile ausliest bevor sie gesendet wird).

Was tut das Script?
Es ergänzt bei einer Away-Meldung die aktuelle Uhrzeit. Ich persönlich fand es immer lästig, wenn ich in einer Away las: "Für 10 Minuten weg" oder ähnliches. Dieses Script ergänzt die aktuelle Zeitangabe ;)

Wie sieht das dann aus?
(16:15) Linus meldet sich kurz ab ((seit 16:12)) <-- Wenn ohne Angabe eines Grundes gesendet
(16:15) Linus meldet sich kurz ab (Grund (seit 16:12)) <-- Wenn mit Angabe eines Grundes gesendet

Und nun das Script:
Script:Zeigen

Code: Alles auswählen

function awaytime(){
	parent.info.document.eingabe.onsubmit= function(e){
		if (parent.info.document.eingabe.message.value==""){
			return false;
		}
		if (parent.info.document.eingabe.message.value.match(/^\/away(.+)?/i)){
			var x=new Date();
			var Stunden = (x.getHours()<10)?"0"+x.getHours():x.getHours()
			var Minuten = (x.getMinutes()<10)?"0"+x.getMinutes():x.getMinutes();
			var stamp = Stunden+":"+Minuten;
			parent.info.document.eingabe.message.value=parent.info.document.eingabe.message.value.replace(/^\/away(.+)?/i, "/away$1 (seit "+stamp+")");
		}
    window.setTimeout("parent.info.document.eingabe.message.value=''",20);
	}
    
}
window.setTimeout("awaytime()", 1000);
Gemacht für eine JS-Datei, bei Entfernung der Zeilenumbrüche auch Ankündigungstauglich :)
Anpassen müsst ihr nichts mehr, ansonsten könnt ihr, falls gewünscht, die Variable stamp ändern, und auch "/away$1 (seit "+stamp+")" kann für eine andere Darstellung verändert werden.

Viel Spaß damit ;)

Re: Script: Timestamp bei away-Meldungen

Verfasst: 11.03.2010, 16:34
von hamigra
Edit:
Beitrag entfernt um User, die es nicht wissen, auch noch auf die Möglichkeit der Umgehung aufmerksam zu machen.
Sorry - eben doch ERST denken und DANN schreiben :wink:

Re: Script: Timestamp bei away-Meldungen

Verfasst: 14.03.2010, 15:37
von Linus
Linus hat geschrieben:Eben nochmal geupdatet, gab vorher Probleme im IE mit doppelt gesendeten Texten (danke für den Hinweis moni :) )
Und noch ein Update: Vorher konnten damit leere Textzeilen gesendet werden... was nun nichtmehr geht ;)

Re: Script: Timestamp bei away-Meldungen

Verfasst: 06.01.2013, 14:52
von Mogli
Hallo Linus,

1.) Das Skript ist gar nicht in der Skriptübersicht. Vielleicht könnte man das noch in die Skriptübersicht mit aufnehmen?

2.) Könnte man das Skript noch dahingehend modifizieren, daß man beim Zurückmelden auch den Grund und die Uhrzeit sieht (wie beim abmelden)? Daß man also die gleiche Meldung, die man beim Abmelden auch beim Zurückmelden, sieht?

3.) Könnte man das Skript auch kompatibel mit dem Away-Kästchen-Skript von Maxs machen?

Schöne Grüße
Mogli

Re: Script: Timestamp bei away-Meldungen

Verfasst: 06.01.2013, 20:29
von Maxs
Hallo Mogli! :D
Bei 1 und 3 kann ich dir wohl schnell helfen:

1.) Erledigt. ;)

3.) Probiere mal das:
Script:Zeigen

Code: Alles auswählen

function awaytime(){
   parent.info.document.eingabe.onsubmit= function(e){
      if (parent.info.document.eingabe.message.value==""){
         return false;
      }
      if (parent.info.document.eingabe.message.value.match(/^\/away(.+)?/i)){
         var x=new Date();
         var Stunden = (x.getHours()<10)?"0"+x.getHours():x.getHours()
         var Minuten = (x.getMinutes()<10)?"0"+x.getMinutes():x.getMinutes();
         var stamp = Stunden+":"+Minuten;
         parent.info.document.eingabe.message.value=parent.info.document.eingabe.message.value.replace(/^\/away(.+)?/i, "/away$1 (seit "+stamp+")");
      }
      if (parent.info.document.forms[0].abwesend.checked && parent.info.document.eingabe.message.value.search("/f ") != 0) {
        parent.info.document.forms[0].abwesend.checked = false;
        Awaybox.antiSpam();
      }
      
    window.setTimeout("parent.info.document.eingabe.message.value=''",20);
   }
   
}
window.setTimeout("awaytime()", 1000);
Du musst nur darauf achten, dass dieses Script (Timestamp bei away-Meldungen) nach (am besten weit nach) dem Away-Kästchen-Script steht.
Außerdem musst du noch folgenden Code im Away-Kästchen-Script anpassen:
Script:Zeigen

Code: Alles auswählen

// Führt die Befehle aus, wenn man auf die Checkbox klickt
  this.exec = function() {
    var abwesendcb = parent.info.document.forms[0].abwesend;
    if (abwesendcb.checked) {
      sendeText("/away");
      parent.info.document.forms[0].abwesend.title = 'Sich im Chat wieder zurückmelden';
    } else {
      sendeText(AwayboxText);
      Awaybox.antiSpam();
    }
  }
wird zu:
Script:Zeigen

Code: Alles auswählen

// Führt die Befehle aus, wenn man auf die Checkbox klickt
  this.exec = function() {
    var abwesendcb = parent.info.document.forms[0].abwesend;
    if (abwesendcb.checked) {
      var x=new Date();
      var Stunden = (x.getHours()<10)?"0"+x.getHours():x.getHours()
      var Minuten = (x.getMinutes()<10)?"0"+x.getMinutes():x.getMinutes();
      var stamp = Stunden+":"+Minuten;
      sendeText("/away (seit " + stamp + ")");
      parent.info.document.forms[0].abwesend.title = 'Sich im Chat wieder zurückmelden';
    } else {
      sendeText(AwayboxText);
      Awaybox.antiSpam();
    }
  }
Hab's nicht getestet, wäre also schön, wenn du eine Rückmeldung geben könntest. Das Script funktioniert übrigens nicht zusammen mit dem Badword-Script. ;)

Re: Script: Timestamp bei away-Meldungen

Verfasst: 06.01.2013, 20:42
von bine_1
Hallu.
Also bei mir Funzt das nicht, mit dem Away-Kasten. :|

Re: Script: Timestamp bei away-Meldungen

Verfasst: 06.01.2013, 20:50
von Maxs
Ja, habe an etwas nicht gedacht. Hab den obigen Post ergänzt. Das ausführen und es sollte funktionieren. ;)

Re: Script: Timestamp bei away-Meldungen

Verfasst: 06.01.2013, 20:54
von bine_1
Funzt perfekt :mrgreen:

Re: Script: Timestamp bei away-Meldungen

Verfasst: 06.01.2013, 21:42
von Mogli
@Maxs: Funktioniert einwandfrei. Vielen Dank. :D

@Linus: Ich habe soeben festgestellt, dass das Timestamp-Skript das Farbänderungsskript von 1. FC Keller ausser Kraft setzt!

Und ich hatte mich gefreut, daß Maxs das Problem mit dem Farbänderungsskript auch gefixt hatte, weil auf einmal der Haken verschwunden war, als ich ich mich über Schreibzeile zurück gemeldet hatte. Bis ich dann mal festgestellt habe, daß auch meine Schriftfarbe weg ist! :lol:

Edit 06.01.2013, 21:57: @Maxs: Ich habe alle Skripte auf WK-Tools hochgeladen. Da kann ich leider die Reihenfolge der Skripte nicht ändern!

Re: Script: Timestamp bei away-Meldungen

Verfasst: 06.01.2013, 23:46
von Maxs
Da das Farbänderungsscript auch auf die gleiche Funktion zurückgreift, musst du dieses Timestamp-Script nehmen:
Script:Zeigen

Code: Alles auswählen

function awaytime(){
   parent.info.document.eingabe.onsubmit= function(e){
      if (parent.info.document.eingabe.message.value==""){
         return false;
      }
      if (parent.info.document.eingabe.message.value.match(/^\/away(.+)?/i)){
         var x=new Date();
         var Stunden = (x.getHours()<10)?"0"+x.getHours():x.getHours()
         var Minuten = (x.getMinutes()<10)?"0"+x.getMinutes():x.getMinutes();
         var stamp = Stunden+":"+Minuten;
         parent.info.document.eingabe.message.value=parent.info.document.eingabe.message.value.replace(/^\/away(.+)?/i, "/away$1 (seit "+stamp+")");
      }
      if (parent.info.document.forms[0].abwesend.checked && parent.info.document.eingabe.message.value.search("/f ") != 0) {
        parent.info.document.forms[0].abwesend.checked = false;
        Awaybox.antiSpam();
      }
      if(parent.info.document.eingabe.message.value.search('/') != 0){
        parent.info.document.eingabe.message.value = '<font color=' + farbe + '>' + parent.info.document.eingabe.message.value + '</font>';
      }
     
    window.setTimeout("parent.info.document.eingabe.message.value=''",20);
   }
   
}
window.setTimeout("awaytime()", 1000);
Auch ungetestet. ;)
Wie immer: Nach dem Farbänderungsscript und nach dem Away-Kästchen-Script einfügen.

Zu wkTools: Keine Ahnung, ob die Scripts nach der Zeit des Einfügens sortiert werden, aber ich hoffe es einfach mal. Falls es nicht funktioniert, musst du die 1000 in der letzten Zeile mal auf 1500 oder 2000 setzen. Falls es dann noch nicht funktioniert, nochmal melden bitte. ;)

Re: Script: Timestamp bei away-Meldungen

Verfasst: 07.01.2013, 00:00
von Mogli
Hallo Maxs!

Das Skript funktioniert leider auch nicht. Ebenso hat die Erhöhung von 1000 auf 2000 nichts gebracht. Bei dem Skript bleibt sogar teilweise das getippte in der Schreibzeile stehen und wird nicht gelöscht, wie es sonst üblich ist.

Re: Script: Timestamp bei away-Meldungen

Verfasst: 07.01.2013, 00:06
von Maxs
Probier mal das:
Script:Zeigen

Code: Alles auswählen

function awaytime(){
   parent.info.document.eingabe.onsubmit= function(e){
      if (parent.info.document.eingabe.message.value==""){
         return false;
      }
      if (parent.info.document.eingabe.message.value.match(/^\/away(.+)?/i)){
         var x=new Date();
         var Stunden = (x.getHours()<10)?"0"+x.getHours():x.getHours()
         var Minuten = (x.getMinutes()<10)?"0"+x.getMinutes():x.getMinutes();
         var stamp = Stunden+":"+Minuten;
         parent.info.document.eingabe.message.value=parent.info.document.eingabe.message.value.replace(/^\/away(.+)?/i, "/away$1 (seit "+stamp+")");
      }
      if (parent.info.document.forms[0].abwesend.checked && parent.info.document.eingabe.message.value.search("/f ") != 0) {
        parent.info.document.forms[0].abwesend.checked = false;
        Awaybox.antiSpam();
      }
      if(parent.info.document.eingabe.message.value.search('/') != 0){
        parent.info.document.eingabe.message.value = '<font color=' + farbe + '>' + parent.info.document.eingabe.message.value + '</font>';
      }
      parent.info.submitForm(parent.info.document.eingabe);
      return false;
   }
   
}
window.setTimeout("awaytime()", 1000);

Re: Script: Timestamp bei away-Meldungen

Verfasst: 07.01.2013, 00:11
von Mogli
Geht leider auch nicht. Auch bei dem Skript bleibt das geschriebene in der Schreibzeile.

Re: Script: Timestamp bei away-Meldungen

Verfasst: 07.01.2013, 00:33
von Maxs
Und wieder ein Unachtsamkeitsfehler von mir (wird wohl spät :?). Man muss wohl oder übel das Farbänderungsscript komplett umändern. Aber heute schaffe ich das nicht mehr, werde versuchen, mich im Laufe der Woche daran zu setzen.

Re: Script: Timestamp bei away-Meldungen

Verfasst: 07.01.2013, 00:34
von Mogli
Ok, danke für deine Mühe bis jetzt! :)