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:
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
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!
Bei 1 und 3 kann ich dir wohl schnell helfen:
1.) Erledigt.
3.) Probiere mal das:
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:
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:
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
Re: Script: Timestamp bei away-Meldungen
Verfasst: 06.01.2013, 21:42
von Mogli
@Maxs: Funktioniert einwandfrei. Vielen Dank.
@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!
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:
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:
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!