Channelmodes werden im Internet Relay Chat dazu benutzt, die Eigenschaften von Channels zu spezifizieren.
Syntax von Channelmodes
Channelmodes werden grundsätzlich durch den MODE-Befehl gesetzt, geändert oder angezeigt. Fast alle Modi können dabei entweder eingeschaltet oder ausgeschaltet sein.
Durch Aufruf des MODE-Befehls ohne Parameter ist es möglich die derzeit gesetzten Modi anzuzeigen:
MODE #foo :irc.spaceboyz.net 324 nick #foo +snt :irc.spaceboyz.net 329 nick #foo 1111111111
(die 1111111111 ist hierbei die Erstellungszeit des Channels in Unixzeit)
Wird der MODE-Befehl mit Parametern benutzt, so wird den Modi entweder ein Pluszeichen (+) oder ein Minuszeichen (-) vorangestellt, um die gewünschte Operation anzugeben:
MODE #foo +i
Mehrere Modi können aneinandergereiht werden, indem sie einfach hintereinander geschrieben werden. Sukzessive gleiche Plus/Minuszeichen können dabei Ausgelassen werden.
MODE #foo -si+p-t
Modusparameter
Erfordert ein Modus Parameter, so werden diese am Ende angefügt und gegebenenfalls durch Leerzeichen getrennt:
MODE #foo +kil key 123
Zum Entfernen eines solchen Modus muss normalerweise nur der Modus mit vorangestelltem - angegeben werden. Einzelne Modi und können jedoch hiervon abweichen, insbesondere +k auf einigen Servern.
Modi die Hostmasks als Parameter erwarten (+b, +e, +I) führen eine Liste mit Masken, zu der jeweils hinzugefügt (+) oder entfernt (-) werden kann. Die Liste kann abgerufen werden, indem der Modus alleine und ohne Parameter angegeben wird:
MODE #foo b :irc.spaceboyz.net 367 nick #foo nick!user@host nick 1111111112 :irc.spaceboyz.net 368 nick #foo :End of Channel Ban List
Modi
Allgemein übliche Standard-Modi
b (Ban)
alle IRCd: | +b nick!user@host | RFC 1459, RFC 2811 |
---|
Verbietet es den entsprechenden Benutzern, den Channel zu betreten. Einige IRC-Server erlauben Operatoren, dies zu ignorieren und den Channel trotzdem zu betreten.
e (Exception, Ban-Ausnahme)
moderne IRCd: | +e nick!user@host | RFC 2811 |
---|
Erlaubt Benutzern, trotz eventuell vorhandenen Bans (+b) den Channel zu betreten.
i (Invite-only, nur mit Einladung)
alle IRCd: | +i | RFC 1459, RFC 2811 |
---|
Macht das Betreten des Channels nur nach vorheriger Einladung (per /INVITE-Befehl) möglich. Auf einigen IRC-Servern können Operatoren sich selbst in solche Channels einladen.
I (persistent Invite, "Invex", gespeicherte Einladung)
moderne IRCd: | +I nick!user@host | RFC 2811 |
---|
Lädt Benutzer dauerhaft in den Channel ein, so dass sie nicht jedes Mal per /INVITE eingeladen werden müssen.
k (Key, Passwortschutz)
alle IRCd: | +k key | RFC 1459, RFC 2811 |
---|
Setzt ein Passwort, welches zum Betreten des Channels als zusätzlicher Parameter an den JOIN-Befehl angehängt werden muss. Ohne das Passwort anzugeben kann der Channel abhängig vom IRC-Server nur von Operatoren oder von niemandem betreten werden.
l (Limit, Maximale Benutzeranzahl)
alle IRCd: | +l limit | RFC 1459, RFC 2811 |
---|
Begrenzt die Anzahl der sich im Channel befindenden Benutzer auf limit.
m (Moderated, Moderiert)
alle IRCd: | +m | RFC 1459, RFC 2811 |
---|
Verbietet Benutzern ohne "Stimme" (+v) oder Channeloperatorstatus (+o), im Channel zu sprechen. Sollte der IRC-Server zusätzliche Channelstadi von Benutzern kennen (z. B. +h, +a, +q), so ist diesen normalerweise das Sprechen ebenfalls erlaubt.
n (No external messages, Keine Nachrichten von Benutzern außerhalb)
alle IRCd: | +n | RFC 1459, RFC 2811 |
---|
Verbietet das Senden von Nachrichten in den Channel von Benutzern die nicht im Channel sind.
o (Operator, Channeloperatorstatus)
alle IRCd: | +o nick | RFC 1459, RFC 2811 |
---|
Vergibt Channeloperatorstatus an den angegebenen Benutzer.
p (Private, Privater Channel)
alle IRCd: | +p | RFC 1459, RFC 2811 |
---|
Markiert den Channel als Privat, so dass dieser nicht in /WHO und /WHOIS-Anfragen auftaucht und /NAMES nicht benutzt werden kann jeweils falls man nicht in diesem Channel ist. Des Weiteren wird der Channel in /LIST nur ohne Topic aufgeführt.
s (Secret, Geheimer Channel)
alle IRCd: | +s | RFC 1459, RFC 2811 |
---|
Wie +p, jedoch taucht der Channel in /LIST gar nicht auf. Die Modi +p und +s schließen sich gegenseitig aus. Wird +s hinzugefügt, und +p war bereits gesetzt, wird +p vom IRCd automatisch entfernt und andersherum.
t (Topic, Topicänderung nur durch Channeloperatoren)
alle IRCd: | +t | RFC 1459, RFC 2811 |
---|
Verhindert Änderungen am Topic des Channels durch Benutzer, die nicht über Channeloperatorstatus verfügen.
v (Voice, Stimme)
alle IRCd: | +v nick | RFC 1459, RFC 2811 |
---|
Gibt dem angegebenen Benutzer eine „Stimme“, sodass er, falls +m gesetzt sein sollte, trotzdem im Channel sprechen kann.
seltene / unbekannte / umfunktionierte Standard-Modi
Unvollständig, die IRCd-Angaben sind mit Vorsicht zu genießen!
IRCnet ircd >= 2.10 | +o nick | RFC 2811 | Creator (!-Channels) |
---|---|---|---|
IRCnet ircd >= 2.9 | +a | RFC 2811 | Anonymer Channel, Benutzernamen werden nicht angezeigt |
IRCnet ircd >= 2.9 | +q | RFC 2811 | Quiet, keine Nachrichten im Channel |
IRCnet ircd >= 2.11 | +R hostmask | RFC 2811 | Reop (/mode #channel +R *!ident@host) |
Gebräuchliche Channelmodes für UnrealIRCd
UnrealIRCd | +u | Auditorium: bei /names und /who werden nur Channel-Operatoren angezeigt |
---|---|---|
UnrealIRCd | +j JOINS:SEKUNDEN | Joinflood-Protection: wenn mehr als JOINS Joins pro SEKUNDEN Sekunden festgestellt werden, wird +R gesetzt. |
UnrealIRCd | +R | Registered-Only: Nur Benutzer mit einem bei den Services registrierten Nicknamen können den Channel betreten. |
Gebräuchliche Channelmodes für UndernetIRCd
UndernetIRCd findet häufig Anwendung zusammen mit SRVX, +e und +I Mode sind nicht vorhanden.
UndernetIRCd | +c | no-colour: Es dürfen keine farbigen Nachrichten in den Channel geschrieben werden. |
---|---|---|
UndernetIRCd | +d / +D | DelayJoin: joins/quits werden nicht angezeigt bis der User eine Nachricht schreibt oder voice/op bekommt. |
UndernetIRCd | +r | Registered-Only: Nur registrierte Benutzer können den Channel betreten. |
UndernetIRCd | +z | mode-lock: die Modes des Channel werden beibehalten, auch wenn der letzte User parted. |