Anzeige:
Anzeige:

IRC-Coding

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv

Der Editor des mIRC

Hier wird der Editor des mIRC vorgestellt und seine wichtigsten Funktionen erklärt. Ausserdem werden die einzelnen Elemente bezeichnet so wie ich sie später im Tutorial auch benenne. Zuerst mal ein Bild vom Editor und danach folgen dann die Erklärungen.

mIRC Editor

Das Aussehen kann leicht variieren, je nach Einstellungen im Windows. Die Elemente sollten aber Identisch sein. Es werden nicht alle Punkte bis ins letzte erklärt, aber genug damit ihr mit dem Editor vernünftig arbeiten könnt. Aufgerufen wird der Editor über das Symbol mit dem grünen Quadrat und dem weissen /a und rotem Punkt rechts oben. Oder über die Tastenkombination "Alt+R" beziehungsweise über das Menü Tools.

 

Die Menüleiste

Der erste Punkt heisst File (Datei), darunter kann man alle Aktionen durchführen die einzelne Scriptdateien betreffen. Dazu gehört, neue Datei anlegen, Script laden oder entladen und Dateien speichern. Des weiteren lässt sich hier die Schrift auswählen und der Editor schliessen, also ähnlich wie in andere Dateimenüs. Im zweiten Menüpunkt Edit (Bearbeiten), findet Ihr auch übliche Einträge zur Textbearbeitung. Der nächste Punkt heisst View und dort können die einzelnen Dateien gewählt werden zum editieren. Gehen wir also direkt zum vierten Punkt, wobei es korrekter heissen müsste zu den vierten Punkten. Denn je nachdem welcher Reiter angewählt ist, ändert sich der Name und die Funktionen dieses Menüpunktes. Bei Aliases heisst er Alias und man kann die einzelnen Aliasfunktionen anwählen. Ist der Popups Reiter aktiv so sieht man dort das aktuelle Popupmenü. Bei den letzten drei Reitern heisst der Punkt immer Listen und es können verschiedene Events gewählt werden auf die mIRC reagieren soll. Die letzten 2 Punkte hab ich noch nicht wirklich gebraucht, deshalb gehe ich jetzt nicht näher darauf ein.

 

Die 5 Reiter

Die Bezeichnung Reiter stammt von Akten oder Telefonbüchern, im Scripting sind es eigentlich Tabs, doch ich benutze trotzdem den Ausdruck Reiter. Die ersten drei Reiter sind zum Anwählen der einzelnen Scripting Bereiche: Alias, Popup und Remote. Der Remotebereich ist der umfangreichste, hier lassen sich ebenfalls Aliases und Popups erstellen. Unter dem Reiter Users kann man Nicknamen oder Adressen eintragen die einen speziellen Level haben sollen. Der Standardlevel des mIRC ist normal 1, diesen könnt ihr im Editor unter dem Menüpunkt Options einstellen. Durch die Level lässt sich ein Zugriff auf die vorhandenen Scripte regeln. Der letzte Reiter Variables zeigt alle aktuell im mIRC verwendeten Variablen an. Dort stehen selbstverständlich nur globale Variablen weil die Lokalen ja sofort nach Ausführung des Scriptes vom mIRC gelöscht werden.

 

Der Codebereich und die Anzeigen

Der Codebereich ist das eigentliche Editfenster, dort wird also der Scriptcode hineingeschrieben und editiert. Die unterschiedlichen Anzeigen geben und Auskünfte über die akuell zu editierende Datei. Dazu gehören der Dateiname und Ort wo sie gespeichert ist. Dann die Position des Cursors in der Datei, sowie die aktuelle Grösse. Zuletzt sind da noch die Button zum suchen von Worten im Code oder anspringen von bestimmten Zeilen. Der letzte kleine Button dient zum auffinden unvollständiger Klammerpaaren. Ich denke das damit alles über den Editor gesagt ist, was zur Arbeit mit ihm benötigt wird.

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv

Einführung in das Tutorial

Hier findet ihr Tipps und Hinweise wie mit dem Tutorial gearbeitet werden sollte. Ausserdem gibt es hier ein kurzen Überblick über die einzelnen Kapitel des Tutorials. Es sollte jedem klar sein das hier keine kompletten Bots oder MP3-Player gezeigt werden, weil so umfangreiche Scripte den Rahmen des Tutorials bei weitem sprengen würden. Trotzdem habe ich versucht nützliche Funktionen zu scripten, so dass ihr diese in euren eigenen Scripten weiter verwenden könnt. Die Scripte sind zu gunsten der Übersichtlichkeit nicht immer maximal optimiert. Jeder Scripter hat seinen eigenen Stil, so auch ich, aber ich denke das mein Stil nicht der schlechteste ist. Alle hier gezeigten Beispiele sind nicht die einzige Lösung um die Funktion zu implementieren, also sind sie nicht verbindlich sondern dienen nur als Anregung.

 

Aufbau des Tutorials

Das gesamte Tutorial ist fortlaufend aufgebaut, so wie die Kapitel in dem Menü aufgeführt sind. In den einzelnen Kapiteln wird jeweils ein Thema komplett abgehandelt. Zu den meisten Themen gibt es ein Musterscript das ausgiebig erklärt wird. Die Themen auf den einzelnen Seiten solltet ihr auch von oben nach unten durcharbeiten. Wenn ihr ein Thema nicht auf anhieb versteht müsst ihr die Seite vielleicht auch ein zweitesmal durcharbeiten oder selber ein wenig im mIRC herumprobieren. Geht auf jeden Fall erst dann zum nächsten Thema wenn ihr das Aktuelle komplett verstanden habt. Als fortgeschrittener Scripter kann man die einzelnen Themen auch nutzen um sich eine spezielle Funktion in Erinnerung zu rufen.

 

Der Themenüberblick

Der mIRC Editor: Hier wird der mIRC eigene Scriptingeditor gezeigt und erklärt. Das erstellen oder bearbeiten aller Scripte sollte ausschliesslich mit diesem Editor geschehen. Die mIRC Scriptdateien haben in der Regel die Dateiendungen .ini und .mrc, wobei ich persönlich .ini vorziehe.

Die mIRC Aliases: Dort findet ihr die ersten Zeilen Code für den Aliasbereich. Es werden die grundlegende Syntax der mIRC Scriptsprache sowie der Anwendungsbereich für Aliases erläutert. Die Aliases sind eines der vielseitigsten Mittel im mIRC Scripting.

Die mIRC Popups: Es werden hier die Grundlagen erklärt also der Aufbau von Popupmenüs. Spezielle Scriptfunktionen können dann später in diesen Popups eingebaut werden. Aber alles was benötigt wird um die Popus zu designen wird hier gezeigt.

Die mIRC Remote: Hier werden die mIRC Remote genau erklärt. Es werden der Aufbau der verschiedenen Remote, sowie die Ersatzzeichen die eingesetzt werden können gezeigt. Die Remote dienen zum automatisieren oder fernauslösen von Scriptfunktionen.

Fehlersuche: Auf dieser Seite wird erklärt wie man Fehler in Scripten aufspüren kann. Dabei geht es nicht nur um Syntaxfehler sondern auch um Logigfehler. Das richtige testen von Scripten ist sicherlich eines der wichtigsten Dinge beim scripten.

Abfragen: Die Abfragen werden benötigt um den Ablauf eines Scriptes zu steuern. Hierbei werden Identifer oder Variablen auf ihre Werte überprüft und je nach Wert wird die Ausführung des Scriptes fortgesetzt. Es wird nur die Funktionsweise erklärt eine Operatoren übersicht gibt es dort nicht.

Schleifen: Dort wird eine komplette Schleifen erklärt. Schleifen werden benötigt um bestimmte Scriptteile mehrfach hintereinander ausführen zu lassen. Es wird dort nur die /while Schleife genauer erklärt.

Timer: Hier erfahrt ihr eigentlich alles was zur Arbeit mit Timern benötigt wird. Wie sie gestartet oder angehalten werden und welche verschidenen Arten von Timern es gibt. Mit Timern lassen sich Scripte nach oder zu einer bestimmten Zeit ausführen.

Spezial Remote Raw & CTCP: Dieses sind vom Prinzip her auch Remote, allerdings haben sie eine etwas andere Syntax. Ausserdem erfordert der Umgang mit diesen speziellen Remote ein wenig Übung und Erfahrung. Deshalb erfolgt hier auch nur ein grundlegende Einführung.

 
Haftungsausschluss:

Dieses Tutorial erhebt keinen Anspruch auf Vollständigkeit, ebenso besteht kein Recht auf ständige Verfügbarkeit. Alle hier gezeigten Funktionen sind ausgiebig getestet, doch trotzdem kann für Schäden die durch deren Benutzung entstehen keine Haftung übernommen werden.

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv

Variablen im Scripting

Als erstes erkläre ich was Variablen überhaupt sind. Ganz allgemein kann man Variablen als Speicherbereiche bezeichnen. Es lassen sich also verschiedene Daten in Variablen speichern. Das ist so zwar nicht ganz richtig aber es beschreibt die Funktion von Variablen ganz gut. Die Daten, oder auch Werte genannt, können verschiedene Formen haben. Diese Formen sind Zahlen, Zeichen (Text, Sonderzeichen) oder boolische Werte (TRUE = wahr; FALSE = falsch). Der Wert einer Variablen kann jederzeit im Script verändert oder neu gesetzt werden. Ebenfalls kann das Script jederzeit den Wert der Variablen auslesen.

 

Variablen im mIRC

Im mIRC gibt es zwei Arten von Variablen, das sind lokale und globale Variablen. Lokale Variablen werden die mit dem Befehl "/var" gesetzt. Die globalen Variablen hingegen können mit "/set" oder durch den Zuweisungsoperator (=) gesetzt werden. Der Unterschied zwischen den Beiden besteht darin das globale Variablen nach Ausführung des Scriptes erhalten bleiben und somit vom nächsten Script weiter verarbeitet werden können. Im Gegensatz dazu werden lokale Variablen am Ende des Scriptes vom mIRC automatisch gelöscht. Alle Variablen können auch über ein Befehl (/unset) gelöscht werden. Hier mal ein Beispiel mit ein paar Variablen denen verschiedene Werte zugewiesen werden.

/var %zähler 1 /set %username User %k_text = Ein kurzer Text

Wie man sieht besteht eine Variable immer aus einem Prozentzeichen gefolgt von dem Namen. Nach dem einer Variablen ein Wert zugewiesen wurde, kann die Wert überall im Script durch hinschreiben der Variablen wieder abgerufen werden. Das heisst, dass mIRC die Variable durch den ihr zugewiesenen Wert ersetzt. Im mIRC spielt die Form des Wertes keine Rolle, so kann einer Zahlenvariable im gleichen Script auch Text zugewiesen werden. Natürlich ist der Speicherplatz in Variablen begrenzt, im mIRC können sie nicht mehr als 942 Zeichen aufnehmen. Das mIRC ist im Umgang mit Variablen sehr flexibel, sie können an fast jeder Stelle im Script gesetzt werden. Ich persönlich nutze Variablen nur als Kurzzeitspeicher und achte darauf das sie am ende eines Scriptes wieder gelöscht werden. Sollen Daten für längere Zeit gespeichert werden benutze ich dafür .txt oder .ini Dateien. Das kann natürlich jeder nach seinem Geschmack selber bestimmen. Ihr werdet feststellen das Scripten ohne Variablen zwar möglich aber eher umständlich sind. Ich denke das dies als erste Einführung in Variablen mehr als ausreichend ist.

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv

Identifer im mIRC

Die Bezeichnung Identifer ist sehr mIRC spezifisch und kommt in anderen Scriptsprachen so nicht vor. In anderen Scriptsprachen würden Identifer wohl eher als Systemvariablen bezeichnet. Identifer liefern einen bestimmten Wert zurück, je nach dem wo und mit welchen Parametern sie aufgerufen werden. Zunächst mal ein Beispiel eines Identifer mit verschiedenen Parametern:

$nick $nick(RAUMNAME,1) $nick(RAUMNAME,3).idle

Wir stellen fest das Identifer immer mit einem Dollarzeichen beginnen gefolgt von dem Identifernamen. Was wir noch sehen ist, dass es Identifer gibt die mit und ohne Parameter aufgerufen werden können. Im Moment spielt es für uns noch keine Rolle welchen Wert ein Identifer liefert darauf gehe ich später im Tutorial genauer ein. Identifer bilden eine Art Schnittstelle zwischen den Script und dem Programm. Das heisst, sollen Werte (Daten) aus dem mIRC heraus im Script verarbeitet oder benutzt werden, so werden diese Daten über einen Identifer zur Verfügung gestellt. Es gibt so gut wie keine andere Möglichkeit Daten aus dem mIRC herauszulesen. Theoretisch ist es sogar möglich Identifer direkt in der Eingabe des Chatfensters zu verwenden, aber das wird in der Praxis kaum gemacht. Was nicht zuletzt daran liegt das man nicht alle Identifer an jeder Stelle eines Scriptes einsetzen kann.

 

Was genau sind Identifer?

Eigentlich könnte man Identifer auch als Befehle mit Rückgabewert bezeichen. Also sind Identifer auch nichts Anderes als Funktionen die einen bestimmten Wert zurück liefern. Somit ist es für uns möglich auch eigene Identifer in das mIRC neu zu implementieren. Im Gegensatz zu Befehlen, die eigentlich immer was bewirken und wenn es nur eine Fehlermeldung ist, können Identifer auch mal keinen Wert zurückgeben. Dann erscheint auch nicht unbedingt eine Fehlermeldung, sonder das Script arbeitet so als wäre an dieser Stelle garnichts gewesen. Was nicht heisst das es keine Fehlermeldungen gibt wenn man einen Identifer falsch benutzt. Der entscheidende Vorteil bei Identifer liegt darin das sie immer die aktuellen Daten aus dem mIRC auslesen. Wir halten also fest, Identifer sind die einzige Möglichkeit im Script mit ausgewählten aktuellen Programmdaten zu arbeiten. Wenn ihr diesen Leitsatz versteht und behaltet sind wir schon ein gutes Stück weiter und bestens für das Tutorial vorbereitet. Damit können wir die Identifer abschliessen und auch gleichzeitig die Grundlagen beenden. Jetzt solltet ihr das nötige Grundwissen haben welches man braucht um das Tutorial erfolgreich zu erarbeiten.

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv

Befehle im mIRC

Einen mIRC Befehl hat sicher jeder von euch schon einmal benutzt, obwohl mIRC die meisten Grundbefehle auch schon Grafisch oder über Popupmenüs zur Verfügung stellt. Nun folgen 3 Befehle an denen ich euch den Aufbau erklären möchte:

/join /notice /quit

Wie man sieht beginnt ein Befehl im mIRC mit einem Schrägstrich gefolgt von dem Befehlsnamen. Befehle sind nichts anderes als Prozeduren die zum steuern des Programmes implementiert wurden. Einige Befehle benötigen zusätzliche Daten damit sie ausgeführt werden können. Diese Daten nennt man Parameter und sie werden mit dem Befehl zusammen angegeben. Hier nochmal die 3 Befehle, diesmal mit Angabe von Parametern:

/join #RAUMNAME /notice NICKNAME TEXT /quit

Die unterschiedlichen Parameter entscheiden darüber was der Befehle genau bewirkt. Das heisst ein Befehl liefert ein völlig anderes Ergebnis wenn er mit einem anderen Parameter aufgerufen wird. Wie man auch sehen kann kommen einige der Befehle (Hier zum Beispiel "/quit".) ganz ohne Parameter aus. Werden falsche oder ungültige Parameter angegeben gibt das Programm in der Regel eine Fehlermeldung aus.

 

Befehle und Scripte

Was machen nun die Befehle genau in Scripten? Das gleiche als wenn sie von Hand eingegeben werden, sie dienen zum arbeiten mit dem Programm. Genauer könnte man sagen: Ein Script besteht aus einem oder mehreren Befehlen die in einer bestimmten Reihenfolge automatisch Ausgeführt werden . Daraus folgt also je mehr Befehle ihr kennt, desto vielseitiger können eure Scripte sein. Nun reicht es natürlich nicht das ihr alle Befehle auswendig lernt um ein guter Scripter zu werden, weil ein Script nicht nur aus Befehlen besteht. Aber Befehle die man nicht kennt, kann man auch nicht benutzen. Dabei meine ich mit kennen nicht nur den Namen sondern auch die Funktionsweise und Parameter. Denn nur wenn man diese Sachen beherrscht kann man die Befehle richtig einsetzen.

 

 

Neue Befehle ins mIRC einbauen

Da Scripte auch Prozeduren sind, die den Funktionsumfang des mIRC erweitern, lassen sich damit neue Befehle implementieren. Sind solche Scripte erstellt, unterscheiden sich die eigenen Befehle im Prinzip nicht von denen die im mIRC vorhanden sind. Arbeitet ein Befehl mit Parametern, so ist es nicht nur wichtig eine "richtige" Eingabe zu verarbeiten, sondern auch auf fehlende oder falsche Parameter zu reagieren. Stellt euch vor ihr gebt einen "/msg" Befehl ein und nichts passiert, dann wüsstet ihr nicht warum. Kommt aber eine Fehlermeldung wie: ”... No such nick/channel„ weiss jeder wo der Fehler lag. So das soll uns als Einführung in die Befehle genügen, alles weitere folgt später im Tutorial.