mIRC Away-Script
Da ein paar anfragen waren ... hab ich das eben hergezaubert
Was soll dieses Away-Script machen?
Du hast das sicherlich schonmal im IRC gesehen. Ein User ist mal nicht am PC und dann kommen so Sachen, wie:
[11:00] * darude ist nicht da (Grund: Away from Keyboard)-(time: 11:00 Uhr)
[11:00] * darude is now known as darude`awy
Das ist ein Away-Script. In diesem Tutorial will ich erklären, wie man so etwas bastelt. Das Script soll folgendes tun:
» Alle Channels benachrichtigen, dass man away ist
» Die Zeit speichern, wann man away gegangen ist
» Den Nick ändern
» Über Funktionstasten bedienbar sein
Die Konfiguration mittles Dialog will ich hier noch nicht erläutern.
Die Aliases
Das Script besteht grundsätzlich aus zwei Aliases. Eines zum Away gehen und eins um den Away-Status aufzuheben.
Fangen wir mit dem ersten an. Es soll das Script aktivieren. Die Erläuterungen zum Alias stehen unter dem Sourcecode.
Alias zu Starten des Scripts:
Beispiel:/setaway {
if ( %away.cause ) { echo -a FEHLER: Das Script ist bereits aktiv. | halt }
set %away.cause $?="Warum bist du away?"
if (! %away.cause ) { echo -a FEHLER: Du hast keinen Grund eingegeben. | halt }
set %away.time $ctime
set %away.notawaynick $me
away %away.cause
ame ist nicht da - GRUND: %away.cause - UHRZEIT: $time
nick $me $+ away
echo -a Das Away-Script ist jetzt aktiv. Zum deaktivieren /setback eingeben.
}
Wenn man nun /setaway eingibt (und nicht bereits away ist) sollte sich ein kleiner Eingabedialog öffnen, in den man den Grund seines Awayseins eingibt.
Gibt man nichts ein, wird das Script angehalten, gibt man etwas ein, speichert es die aktuelle Zeit in die Variable %away.time und den aktuellen Nickname in %away.notawaynick.
Dann sollte z.B. folgendes in jedem Fenster des Chats stehen:
[11:01] * darude ist nicht da - GRUND: Away from keyboard - UHRZEIT: 11:02:45
[11:01] * darude ist now known as darude`awy
Das Script hängt automatisch away an den aktuellen Nickname.
Nun zum Alias, mit dem man das Away-Script deaktivieren kann:
Beispiel:
/setback {
if (! %away.cause ) { echo -a FEHLER: Das Script ist nicht aktiv. | halt }
set %away.time.calc $duration( $calc( $ctime - %away.time ) )
away
ame ist wieder zurück - VON: %away.cause - DAUER: %away.time.calc
nick %away.notawaynick
echo -a Das Away-Script ist jetzt deaktiviert.
unset %away.*
}
Wenn man das Away-Script aktiviert hat, kann man es nun mit /setback beenden.
Gibt man es ein, sollte folgendes in jedem Fenster des Chats stehen:
[11:04] * darude ist wieder zurück - VON: Away from keyboard - DAUER: 3min
[11:04] * darude`awy is now known as Tar-Minyatur
Der Befehl unset %away.* löscht alle Variablen, die mit "%away." beginnen.
Die Funktionstastenbelegung
Damit man nicht immer die Aliases eingeben muss, kann man auch eine Funktionstaste definieren. Das funktioniert so:
Beispiel:/F12 {
if ( %away.cause ) { setback }
else { setaway }
}
Wenn man nun die Funktionstaste F12 drückt, überprüft mIRC, ob ein Grund für das Awaysein gegeben ist. Ist es so, nimm es an, dass das Away-Script aktiv ist, und führt /setback aus. Andernfalls startet es das Away-Script.
Nun solltest du in der Lage sein, dir dein eigenes Away-Script zu basteln. Have fun. ;o)
mfg darude