Befehlssatz

Die wesentliche Kommunikation zwischen IRC-Client und IRC-Server läuft bei IRC über Befehle ab. Die meisten davon werden jedoch automatisch vom IRC-Client verschickt und sind deswegen nicht unbedingt interessant. Beispielsweise die Befehle, um eine Nachricht zu verschicken oder das Topic eines Channels zu ändern.
Einige nützliche Befehle jedoch kennen die IRC-Clients in der Regel nicht, man muss sie daher "von Hand" abschicken, um sie benutzen zu können. Zu diesen zählen vor allem D-T-Net eigene Befehle oder andere Erweiterungen über den Standard hinaus.
Wie Befehle verschickt werden können, hängt von dem IRC-Client ab. Meistens kann man sie einfach durch einen vorangestellen Slash angeben (z.B. /setinfo test, manchmal muss man aber auch "/raw " oder "/quote " voranstellen (z.B. /raw setinfo test bzw. /quote setinfo test). Manchmal können Standardbefehle auch nur mit einem vorangestellten Slash ausgeführt werden, während die Erweiterungen mit /quote oder /raw ausgeführt werden müssen.

Wichtig: erweiterungen wie angabe mehrerer channels oder partmsg unten hinzufügen

Oft gebrauchte Standard-Befehle

Befehl gebräuchliche Parameter/Syntax Wirkung
PRIVMSG
[Usernick] [Nachricht]
[#Channel] [Nachricht]
Schickt eine Textzeile an einen User oder einen Channel. Kann meistens auch mit /msg abgekürzt werden und wird selten überhaupt benötigt. mehr...
NOTICE
[Usernick] [Nachricht]
[#Channel] [Nachricht]
Schickt eine sog. Notice an den angegebenen User oder Channel. Notices werden anders, meist auffälliger dargestellt. mehr...
NICK [Nickname] Ändert den eigenen Nickname in den angegebenen. mehr...
QUIT [Quitmessage] Trennt die Verbindung zum IRC-Server.
AWAY [Awaymessage] Setzt eine Awaymessage, um Abwesenheit zu kennzeichnen. mehr...
WHOIS [User] Zeigt Informationen zum angegebenen User an. mehr...
WHO
[User-Maske]
[#Channel]
Zeigt ausführlichere Infos zu den Usern, auf die die angegebene Usermask passt oder die im angegebenen Channels sind, an. mehr...
WHOWAS [User] Zeigt an, wann der angegebene User online war. mehr...
LIST --- Zeigt eine Liste der Channel an. mehr...

Oft gebrauchte Standard-Befehle für Channels

Befehl gebräuchliche Parameter/Syntax Wirkung
JOIN [#Channel] Betritt einen oder mehrere Channel. mehr...
PART [#Channel] Verlässt einen oder mehrere Channel. Die Part-Message ist optional. mehr...
MODE
[Usernick]
[]
[#Channel]
Ändert User- oder Channelmodes. mehr...
TOPIC [#Channel] [Topic] Ändert das Topic eines Channels. Wird nur ein Channel angegeben, wird das aktuelle Topic abgefragt.
KICK [#Channel] [User im Channel] Wirft den angegebenen User aus dem Channel. mehr...
INVITE [User] [#Channel] Lädt den angegebenen User in einen Channel ein. mehr...

Übliche IRC-Erweiterungen

Die folgenden Befehle sind nicht teil des grundlegensten IRC-Standard, stehen heutzutage jedoch in vielen modernen IRC-Netzen, wie auch dem D-T-Net, zur Verfügung. Im Wesentlichen handelt es sich hierbei um Befehle, mit denen Kommunikation mit den Services (ChanServ, NickServ etc.) sicherer gemacht werden kann:
Befehl gebräuchliche Parameter/Syntax Wirkung
IDENTIFY [Passwort] Führt eine Identifizierung mit dem angegebenen Passwort bei NickServ durch. mehr...
HELPOP [Frage] Richtet eine Frage an alle Helpops
CHANSERV [Text] Schickt einen Befehl an ChanServ. mehr...
NICKSERV [Text] Schickt einen Befehl an NickServ. mehr...
MEMOSERV [Text] Schickt einen Befehl an MemoServ. mehr...
WATCH --- Kontrolle der servergestützten Notify-Liste. mehr...
SILENCE --- XXX: schreib mich

D-T-Net Erweiterungen

Die folgenden Befehle funktionieren nur im D-T-Net.
Befehl gebräuchliche Parameter/Syntax Wirkung
SETINFO [Infotext] Setzt einen Infotext, der im WHOIS einsehbar ist.
CUNOTICE [#Channel] [User] Schickt eine ChanUserNotice an nur einen bestimmten User in einem Channel. mehr...
BWLIST --- Ändert die Wortliste oder Flags des Jugendschutzmode. mehr...
REALNAME [Text] Ändert den eigenen Realname, der im WHOIS einsehbar ist.
IDLETIME [USER] Zeigt die Idletime eines Users an. (wie bei WHOIS, nur ohne die restlichen Zeilen)
UNIXTIME Zeigt die aktuelle Uhrzeit des Servers im Unixtime-Format an. mehr...

Seltener gebrauchte Standard-Befehle

Die folgenden Befehle gehören zum Befehlssatz des IRC-Grundstandard, werden jedoch selten gebraucht.
Befehl gebräuchliche Parameter/Syntax Wirkung
LUSERS [Servername] Zeigt eine kleine Statistik des angegebenen Servers an.
TIME Gibt die aktuelle Uhrzeit des Server wieder. mehr...
VERSION [Servername] Zeigt die Version des angegebenen Servers an. mehr...
LINKS Gibt an, welche Server im Netz wie miteinander verlinkt sind.
ADMIN [Servername] Gibt Informationen zur Administration des angegebenen Servers aus.
NAMES [#Channel] Zeigt die Benutzer eines Channels an. mehr...
USERHOST [User] Gibt Kurzinfos zum angegebenen User aus.
INFO Zeigt eine Info-Seite zum IRC-Server an.
MOTD [Servername] Zeigt die MOTD des Servers an.
PROTOCTL Aktiviert ein bestimmtes Protokoll. mehr...

Details zu den Befehlen

PRIVMSG

Alle 'normalen' Textmeldungen an anderen User werden über den PRIVMSG-Befehl verschickt. Mögliches Ziel kann ein einzelner User sein oder ein kompletter Channel. Im letzteren Fall wird der Text bei allen Usern im Channel angezeigt (sofern keine besonderen Chanmodes gesetzt sind), jedoch nicht bei einem selbst. Eine Rückmeldung gibt es nur, wenn die Textmeldung niemanden erreicht hat (z.B. User nicht anwesend, Sprechen im Channel nicht erlaubt etc.).
Es können auch mehrere Ziele für eine Textmeldung angegeben werden, diese werden dann einfach durch ein Komma getrennt. Beispiel:
PRIVMSG #chan,user1,user2 :hallo

NOTICE

Die Notice ist eine andere Art, eine Textmeldung zu übermitteln. Die Syntax ist mit PRIVMSG identisch. Notices werden in der Regel von Bots benutzt, auch Nachrichten die direkt vom Server automatisch generiert werden, werden oft als Notice versand. Als Notice versandte Meldungen werden in den meisten Clients auffälliger dargestellt als eine PRIVMSG.

NICK

Mit diesem Befehl wird eine Anforderung an den Server geschickt, das eigene Nick zu ändern. Ist der Nick-Wechsel möglich, kommt die Meldung, dass der User jetzt anders heißt, andernfalls kommt eine Fehlermeldung zurück.

LIST

LIST zeigt eine Liste fast aller Channel. Gezeigt werden nicht die Channel, in denen
Chanmode s (Secret) gesetzt ist (sofern man nicht selbst drin ist). Von Channeln mit gesetztem Chanmode p (Private) wird nur die Userzahl angezeigt. Bei allen anderen Channeln wird Channame, Userzahl und aktuelles Topic gezeigt.

Es ist möglich, die Ausgabe der Liste zu filtern, folgende Filter stehen dazu zur Verfügung:
Filtersyntaxgezeigt werden nur Channel...
>Userzahlbei denen die Userzahl höher ist als die angegebene Zahl
<Userzahlbei denen die Userzahl kleiner ist als die angegebene Zahl
C>Minutendie vor weniger Minuten als der angegebenen Minutenzahl geöffnet wurden
C<Minutendie vor mehr Minuten als der angegebenen Minutenzahl geöffnet wurden
T>Minutenderen Topic vor mehr Minuten geändert wurde, als angegeben
T<Minutenderen Topic vor weniger Minuten geändert wurde, als angegeben
*maske*bei denen die Maske aufs Topic oder den Channelnamen passt
!*maske*bei denen die Maske aufs Topic oder den Channelnamen nicht passt
Die Filter werden einfach als Parameter zum LIST-Befehl angegeben. Beispielsweise zeigt /LIST >10 alle Channel mit mehr als 10 Usern.

JOIN

Mit JOIN kann versucht werden, Channel zu betreten. Sollen mehrere Channel gleichzeitig gejoint werden, werden die einzelnen Channelnamen durch Komma getrennt hintereinander angegeben. Channel mit einem
Kennwort (Chanmode k) können betreten werden, indem das Kennwort als weiteres Wort dahinter angegeben wird. Beispiel:
JOIN #channel passwort Kann ein angegebener Channel nicht betreten werden, wird eine Fehlermeldung zurückgeliefert, die auch den Grund angibt, der das Betreten verhindert. Ist Chanmode c gesetzt, wird zusätzlich den Ops im Channel der Join-Versuch angezeigt.
Eine weitere Besonderheit ist JOIN 0 . Damit werden alle Channel verlassen.

PART

Zum Verlassen eines Channels wird der PART-Befehl benutzt. Wie bei
JOIN können mehrere Channel angegeben werden. Zusätzlich kann eine Begründung angegeben werden, indem sie einfach dahintergeschrieben wird:
PART #channel1,#channel2 :will nicht mehr

MODE

Mit dem MODE-Befehl können User- oder Channelmodes verändert werden. Wird ein Nick als erster Parameter angegeben, werden
Usermodes verändert, wird ein Channel angegeben, Channelmodes.
Als D-T-Net-Erweiterung besteht auch die Möglichkeit, nur eine Modeänderung anzugeben (z.B. /MODE +vl), in so einem Fall wird von einem Usermode-Change für's eigene Nick ausgegangen.

KICK

Mit dem KICK-Befehl können
Ops andere User aus dem Channel 'werfen'. Gekickt werden kann jedoch nicht der Founder oder DTN-Sponsored-Bots.

INVITE

Über den Invite-Befehl kann einem Benutzer eine INVITE-Meldung (Einladung) für einen bestimmten Channel verschickt werden. Generell kann man nur User in Channel inviten, in denen man selbst ist. Sind Chanmodes gesetzt, die das
Betreten eines Channels verhindern können, ist der Invite-Befehl den Ops des Channels vorbehalten. Bestimmte Chanmodes können durch ein Invite dann übergangen werden, d.h. ein inviteter User kann den Channel joinen, obwohl ein Chanmode gesetzt ist, der das Betreten sonst verhindern würde.
Die Anzeige eines Invites kann bei dem Inviteten mit dem Usermode n deaktiviert sein. In dem Fall erfolgt auch keine Rückmeldung, dass das Invite nicht angezeigt wurde. Um vor Invite-Flood zu schützen, gibt es ein übliches Invite-Limit von 5 Invites innerhalb von 40 Sekunden.

Abkürzungsbefehle IDENTIFY / CHANSERV / NICKSERV / MEMOSERV

Mit diesen 4 Befehlen können Befehle die Services übergeben werden. Es handelt sich dabei um Abkürzungen für /msg ChanServ, /msg NickServ etc.. Beim Identify-Befehl wird zunächst geschaut, ob als erster Parameter ein Channelname angegeben ist. In so einem Fall wird für diesen Channel identifiziert, andernfalls für den aktuellen eigenen Nickname.
Ein Vorteil bei dieser Befehlsgruppe ist neben der Abkürzung der Befehle eine verstärkte Sicherheit, da durch interne Maßnahmen sichergestellt wird, dass die Befehle nur an Services übergeben werden können.

AWAY

Der Away-Befehl setzt eine Abwesenheits-Meldung, die vor allem im eigenen Whois angezeigt wird. Soll die Meldung entfernt werden, wird einfach nur der AWAY-Befehl ohne weitere Angaben geschickt. Alle User, die einen auf der
Watch-Liste haben, bekommen eine Meldung über eine Änderung des Away-Status, sofern Awaywatch bei diesen Usern nicht deaktiviert ist.

WHOIS

Mit dem Whois-Befehl können detailierte Informationen zu einem User eingeholt werden. Ein vollständiges Whois-Ergebnis sieht so oder ähnlich aus: (Unterstrichenes wird durch das jeweilige ersetzt)
WhoiszeileBeschreibung
Nick Ident Host * :Realname Nickname, Ident und Hostname (ggf. geshadet) des Users
echter Host: HostDer tatsächliche Hostname, wenn Hostshading Hostshading aktiviert sein sollte (erscheint nur bei einem selbst)
ist ein registrierter Nicknameerscheint bei Usern, deren Nick bei NickServ registriert ist und für das sie sich identifiziert haben
ist ein DAUerscheint, wenn Usermode d gesetzt wurde
Info: Infotexterscheint, wenn ein Info-Text mit /setinfo gesetzt wurde
Channelalle sichtbaren Channel, in denen sich der User gerade aufhält
Servername BeschreibungServername, auf dem sich der User aufhält, und dessen Beschreibung
AwaySofern gesetzt, die Away-Message des Users
IRCOP-StatusErscheint nur bei IRC-Ops und sagt aus, welchen Status dieser hat (lokaler IRCOP, globaler IRCOP, Admin, Netzadmin)
nimmt deine Hilferufe entgegenErscheint bei HelpOps
Idlezeit in Sek. Logon-ZeitpunktGibt an, wie lange der User nichts gesagt hat (Idletime) und den Zeitpunkt des Einloggens im Unix-Zeitformat (Sekunden nach 1980). Diese Zeile erscheint nur, wenn der User auf dem gleichen Server ist, wie man selbst, oder wenn Usermode l gesetzt ist.
End of /WHOIS list.Deutet das Ende des Whois an

WHO

Mit Who können Informationen zu einem oder mehreren Usern gleichzeitig abgefragt werden. Diese Informationen sind: (ein) Channel, Ident, Hostname, Server, Nick, Status, Entfernung und Realname. Von diesen Feldern können alle bis auf Channel, Status und Entfernung zur Abfrage benutzt werden. Dabei können die Wildcards/Joker * und ? benutzt werden. Ein * steht dabei für eine beliebige Anzahl Zeichen, ein ? für genau eines.
Sollen beispielsweise alle User mit einem Host, der auf '.de' endet angezeigt werden, wäre der Abfragebefehl /who *.de. Sollte allerdings auch irgendein anderes Feld auf diese Abfrage passen, würden diese auch angezeigt. Wird ein 'o' hinter der Abfragemaske angegeben, werden nur Oper angezeigt, die auf diese Maske passen. Alle Oper könnte man sich also mit /who * o anzeigen lassen.
Wird bei Abfrage ein Channelname angegeben (hierbei sind keine Wildcards möglich), werden die User in diesem Channel angezeigt. Generell werden jedoch nur User angezeigt, die Usermode i nicht gesetzt haben, es sei denn, man ist mit ihnen in einem Channel.

Der Status setzt sich aus verschiedenen Einzelflags zusammen, die folgende Bedeutung haben:
GUser ist away
HUser ist nicht away
*User ist ein Oper
@User ist ChanOp im angegebenen Channel
+User hat Voice im angegebenen Channel

WHOWAS

Mit Whowas wird eine Liste ausgegeben, wann ein Nickname (quasi ein User) in letzter Zeit anwesend war. Es ist für jeden Server eine maximale Anzahl an Whowas-Einträgen festgelegt. Wird diese überschritten, werden die ältesten wieder entfernt.

SETINFO

Mit diesem Befehl lässt sich ein Info-Text für einen selbst definieren, der dann im Whois angezeigt wird. Wird kein Text angegeben, wird eine ggf. gesetzte Info gelöscht. Die Info kann bestimmte Worte nicht enthalten, wie z.B. "Admin" oder "Oper".

CUNOTICE

Eine normale Notice kann nur an einen Channel oder einen User gerichtet werden. Die CUNOTICE (ChanUserNotice) ist die Kombination aus beidem. Sie erreicht nur einen bestimmten User eines Channel. Das ist beispielsweise dann nützlich, wenn Bots eine Notice an jeden User beim Betreten schicken sollen, der User sie aber dem Channel zuordnen können soll, damit sie nur in diesem Channel dargestellt wird.
CUNOTICEs werden standardmäßig wie eine Channotice beim Empfänger dargestellt. Dies ist der sogenannte Emulationsmodus. Wird /CUNOTICE on ausgeführt, werden CUNOTICES auch als CUNOTICE kenntlich an den Empfänger geschickt. /CUNOTICE off deaktiviert den Empfang von CUNOTICEs komplett, /CUNOTICE emu stellt wieder den Emulationsmodus ein.

Sytax-Erweiterung bei UNIXTIME / TIME / VERSION

Um die Unixtime/Time/Version von allen Servern gleichzeitig abzurufen, kann einfach ein * als Parameter angegeben werden. (D-T-Net Erweiterung)

NAMES

Der NAMES-Befehl zeigt an, welche User sich im angegebenen Channel befinden. Ist man selbst in dem Channel, werden alle User gezeigt, andernfalls nur diejenigen, die
Usermode i nicht gesetzt haben. Jedes Nick kann dabei noch ein @ oder ein + vorangestellt haben, wenn der User Op oder Voice hat. Hat ein User Op und Voice, wird dennoch nur ein @ gezeigt.
Als D-T-Net-Erweiterung können können auch Founder, Op und Voice mit NAMES abgefragt werden, selbst wenn sie in Kombination vorkommen. Dazu muss vor den Channel bei der Abfrage ein $ (Dollarzeichen) gestellt werden, also beispielsweise
/NAMES $#mychan
Das Symbol für den Founder ist in der Ausgabe dann ebenfalls ein $.

PROTOCTL

Mit dem PROTOCTL-Befehl können Protokoll-Erweiterungen/Änderungen aktiviert werden. Der PROTOCTL-Befehl kann nur ein mal pro Login ausgeführt werden.
Für Benutzer steht momentan nur die D-T-Net-Erweiterung NOPREFIX zur Verfügung. Wird sie aktiviert (mittels /PROTOCTL NOPREFIX (Groß-/Kleinschreibung bei NOPREFIX wichtig)), enthalten Nachrichten vom Server nur noch ein verkürztes Prefix. Das Prefix ist ein Teil, der fast jeder Nachricht vorangestellt ist, und bezeichnet ihren Ursprung.

Beispiel: :bernd!indy@p123.meinisp.net PRIVMSG #bla :hallo
Fett ist hierbei das Prefix, das aus den Teilen Nick, Ident und Host besteht. Ist NOPREFIX aktiv, wird das Prefix auf nur das Nick verkürzt, also ":bernd" im Beispiel.
Dadurch ist es möglich, Traffic einzusparen.
Letzte Änderung dieser Seite erfolgte am 17.06.2004 um 22:28:29 Uhr
(das war vor 4877 Tagen)