IRC Support

This page outlines the features that DarkScience supports for IRC, including all of the channel and nick modes.

Capabilities

The following IRCv3 Capabilities are supported on DarkScience:

SASL

DarkScience supports the following SASL Mechanisms:

Channel Modes

Mode
C Enables blocking channel messages that contain CTCPs
K Disables the usage of the /KNOCK command on this channel
M Users must be registered to speak in the channel
Q Prevents privileged users from using the /KICK command
R Prevents users who are not logged into a services account from joining the channel
S Strips control codes from PRIVMSGs/NOTICEs to the channel
c Blocks messages with control codes to the channel
i Sets the channel as Invite-Only
m Makes a channel moderated. Only +ohv can talk
n Forces a user to be in the channel to PRIVMSG it
p Sets the channel as 'private'. Will not show up in /LIST
r Marks the channel as being registered
s Sets the channel as 'secret'. Will not show up in /LIST or in users /WHOIS
t Forces a user to have +o or +h to change the topic

Parameter Modes

Mode Parameter Description
k <key> Sets a key on the channel
J <seconds> Disallows a user from joining <seconds> seconds after being /KICK'd
L <channel> When the channel is 'full' (from channel mode l), forward the user to <channel>
f (*)<lines>:<seconds> Kicks users who send more than <lines> messages in the last <seconds> seconds. If prefixed with * then offending users are also banned
j <joins>:<seconds> Prevents more than <joins> joins in the last <seconds> seconds
l <number> Sets the channel limit to <number>. Once the limit is reached, no more users can join

List Modes

List modes can apply an action to a collection of masks. A mask can be a glob pattern matching a hostmask, for example nick!user@host.

Mode Value
I <mask> Allows users matching <mask> to bypass +i
b <mask> Bans matching <mask> from joining the channel
e <mask> Allows users matching <mask> to bypass +b
w <status>:<mask> Grants the <status> rank to users matching <mask> on join

Extended Syntax

The list modes above support an "extended syntax" (commonly known as EXTBAN) where <mask> can be an extended character and its own argument after a :. For example R:doe to match for a registered account called doe.

Character Value
Q <mask> Bans privileged users matching <mask> from using the /KICK command
R <pattern> Checks whether users are logged into a services account matching <pattern>
U <pattern> Checks whether users matching <pattern> are not logged into a services account
c <mask> Matches for sending messages that contain IRC formatting codes
j <pattern> Checks whether users are in a channel matching <pattern>
S <mask> Strips IRC formatting codes from messages sent by users matching <mask>

Prefixes

Prefix Mode Title
~ q owner
& a protected
@ o op
% h half-op
+ v voice

Nick Modes

Mode Effect
B User is a bot
R Prevents users who are not logged into a services account from messaging the user
S Enables stripping of IRC formatting codes from private messages
i User cannot be seen in /WHO
o User is an IRC Operator
r Marks the user as being logged into a services account
w User can receive WALLOPS