Channelmodes werden im Internet Relay Chat dazu benutzt, die Eigenschaften von Channels zu spezifizieren.

Syntax von Channelmodes

Bearbeiten

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

Bearbeiten

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

Allgemein übliche Standard-Modi

Bearbeiten
alle IRCd: +b nick!user@host RFC 1459,[1] RFC 2811[2]

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)

Bearbeiten
moderne IRCd: +e nick!user@host RFC 2811[2]

Erlaubt Benutzern, trotz eventuell vorhandenen Bans (+b) den Channel zu betreten.

i (Invite-only, nur mit Einladung)

Bearbeiten
alle IRCd: +i RFC 1459,[1] RFC 2811[2]

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)

Bearbeiten
moderne IRCd: +I nick!user@host RFC 2811[2]

Lädt Benutzer dauerhaft in den Channel ein, so dass sie nicht jedes Mal per /INVITE eingeladen werden müssen.

k (Key, Passwortschutz)

Bearbeiten
alle IRCd: +k key RFC 1459,[1] RFC 2811[2]

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)

Bearbeiten
alle IRCd: +l limit RFC 1459,[1] RFC 2811[2]

Begrenzt die Anzahl der sich im Channel befindenden Benutzer auf limit.

m (Moderated, Moderiert)

Bearbeiten
alle IRCd: +m RFC 1459,[1] RFC 2811[2]

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)

Bearbeiten
alle IRCd: +n RFC 1459,[1] RFC 2811[2]

Verbietet das Senden von Nachrichten in den Channel von Benutzern die nicht im Channel sind.

o (Operator, Channeloperatorstatus)

Bearbeiten
alle IRCd: +o nick RFC 1459,[1] RFC 2811[2]

Vergibt Channeloperatorstatus an den angegebenen Benutzer.

p (Private, Privater Channel)

Bearbeiten
alle IRCd: +p RFC 1459,[1] RFC 2811[2]

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)

Bearbeiten
alle IRCd: +s RFC 1459,[1] RFC 2811[2]

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)

Bearbeiten
alle IRCd: +t RFC 1459,[1] RFC 2811[2]

Verhindert Änderungen am Topic des Channels durch Benutzer, die nicht über Channeloperatorstatus verfügen.

v (Voice, Stimme)

Bearbeiten
alle IRCd: +v nick RFC 1459,[1] RFC 2811[2]

Gibt dem angegebenen Benutzer eine „Stimme“, sodass er, falls +m gesetzt sein sollte, trotzdem im Channel sprechen kann.

seltene / unbekannte / umfunktionierte Standard-Modi

Bearbeiten

Unvollständig, die IRCd-Angaben sind mit Vorsicht zu genießen!

IRCnet ircd >= 2.10 +o nick RFC 2811[2] Creator (!-Channels)
IRCnet ircd >= 2.9 +a RFC 2811[2] Anonymer Channel, Benutzernamen werden nicht angezeigt
IRCnet ircd >= 2.9 +q RFC 2811[2] Quiet, keine Nachrichten im Channel
IRCnet ircd >= 2.11 +R hostmask RFC 2811[2] Reop (/mode #channel +R *!ident@host)

Gebräuchliche Channelmodes für UnrealIRCd

Bearbeiten
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

Bearbeiten

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.

Einzelnachweise

Bearbeiten
  1. a b c d e f g h i j k RFC: 1459 – Internet Relay Chat Protocol. Mai 1993 (englisch).
  2. a b c d e f g h i j k l m n o p q RFC: 2811 – Internet Relay Chat: Channel Management. April 2000 (englisch).