/* $Id: chanmodes.def,v 1.14 2004/10/25 18:53:56 pickle Exp $ * * This file is Copyright (c) 2001,2002,2003,2004 Simon Butcher * * * This file is PUBLIC DOMAIN, to benefit the IRC developer community. If you * modify this file, please state your name and modifications here in order * for people to be able to distinguish between your version and this version. * * For more information or corrections, please contact the author. */ autogen definitions chanmodes; /* The following format is used through-out this file. The first two fields * ('irc2char' and 'name') are manditory, the others may or may not exist. * * usermodes = { * irc2char = ""; * name = ""; * [ origin = ""; ] * [ when = ""; ] * [ contact = ""; ] * [ information = ""; ] * [ parameter = ""; ] * [ comment = ""; ] * [ server_on = "yes"; ] * [ server_off = "yes"; ] * [ conflict = "yes"; ] * [ obsolete = "yes"; ] * } */ revision = "$Revision: 1.14 $"; lastupdated = "$Date: 2004/10/25 18:53:56 $"; chanmodes = { irc2char = "a"; name = "ANONYMOUS"; origin = "RFC2811"; comment = "Marks the channel to use anonymous conversations. All " "conversations, and people joining/parting are viewed all " "from 'anonymous!anonymous@anonymous'. Users quitting are " "seen as users parting the channel with no reason."; }; chanmodes = { irc2char = "a"; name = "HIDEOPS"; origin = "Hybrid"; comment = "Anonymous operators - channel operators a hidden"; conflict = "yes"; }; chanmodes = { irc2char = "a"; name = "CHANNEL_PROTECTION"; origin = "Unreal"; parameter = "Nickname"; comment = "Gives the given nickname 'protection'; Cannot be " "kicked/deopped"; conflict = "yes"; }; chanmodes = { irc2char = "A"; name = "ADMIN_ONLY"; origin = "Unreal"; comment = "Only server/service/network (co-)administrators can join " "the channel"; }; chanmodes = { irc2char = "b"; name = "BAN"; origin = "RFC1459"; parameter = "n!u@h mask"; comment = "Bans the specified mask from the channel"; }; chanmodes = { irc2char = "c"; name = "NOCOLOUR"; origin = "Bahamut"; comment = "Stops colour from being broadcast from the channel. Some " "implementations drop lines, some implementations strip it."; }; chanmodes = { irc2char = "C"; name = "NO_CTCP"; origin = "Unreal"; comment = "Stops people from sending CTCP commands to the channel"; }; chanmodes = { irc2char = "d"; name = "DENY"; parameter = "Real-name"; comment = "Like ban, but apparently bans through matching the given " "one-word mask to the 'irc-name' or 'real name' field a " "client has."; conflict = "yes"; }; chanmodes = { irc2char = "d"; name = "HAS_HIDDEN"; // what is the real name? origin = "QuakeNet"; comment = "Set by the server when the channel mode +D (on QuakeNet) " "was removed, but there are still 'hidden' users in the " "channel"; server_on = "yes"; server_off = "yes"; conflict = "yes"; }; chanmodes = { irc2char = "D"; name = "DELJOINS"; origin = "QuakeNet"; comment = "When set, all joins are hidden until the user is given a " "voice, oper status, until they speak, or change a topic " "etc."; }; chanmodes = { irc2char = "e"; name = "EVENT"; origin = "AustHex"; obsolete = "yes"; comment = "Stops users from changing their nicknames when set. " "AustNet considers this obsolete, due to the conflict " "between the more widely accepted use of the 'e' mode."; }; chanmodes = { irc2char = "e"; name = "BAN_EXCEPTION"; origin = "RFC2811"; parameter = "n!u@h mask"; comment = "Creates a ban exception using the given mask. Normally, " "if someone's identity fits a channel ban mask, they are " "banned. If their identity also matches the ban exception " "mask, they are allowed not banned (exempt from the ban)"; }; chanmodes = { irc2char = "f"; name = "FLOOD_LIMIT"; origin = "Unreal"; information = "http://www.vulnscan.org/UnrealIrcd/unreal32docs.html#feature_antiflood"; parameter = ":"; comment = "Flood limiter"; }; chanmodes = { irc2char = "G"; name = "STRIP_BAD_WORDS"; origin = "Unreal"; comment = "Strips profanity from messages broadcast through the " "channel"; }; chanmodes = { irc2char = "h"; name = "HALFOP"; origin = "RFC2811"; parameter = "Nickname"; comment = "Gives the specified nickname channel half-operator status"; }; chanmodes = { irc2char = "H"; name = "NO_HIDING"; origin = "Unreal"; comment = "When set, this stops users set umode +I " "(INVISIBLE_JOINPART) from being able to join or part a " "channel secretly"; }; chanmodes = { irc2char = "i"; name = "INVITE_ONLY"; origin = "RFC1459"; comment = "Marks the channel as invite only. When set, clients must " "be invited using the INVITE command prior to being " "allowed to join the channel"; }; chanmodes = { irc2char = "I"; name = "INVITATION_MASK"; origin = "RFC2811"; parameter = "n!u@h mask"; comment = "If the channel is marked as invite only, users matching " "the mask(s) set using this mode are allowed to enter " "without invitation."; }; chanmodes = { irc2char = "J"; name = "JOIN_THROTTLE"; origin = "Dancer"; parameter = ","; comment = "When set, users may join this channel once every " "'frequency' seconds with an initial burst and limit value " "of 'limit' users"; }; chanmodes = { irc2char = "k"; name = "KEYLOCK"; origin = "RFC1459"; parameter = "Password"; comment = "Locks the channel with the given password, which must be " "specified via the JOIN command to any clients attempting " "to join the channel when set. The correct key must be " "given when turning this mode off."; }; chanmodes = { irc2char = "K"; name = "NOKNOCK"; origin = "Unreal"; comment = "Disables people using KNOCK on the channel"; }; chanmodes = { irc2char = "l"; name = "LIMIT"; origin = "RFC1459"; parameter = "Integer"; comment = "Limits the channel to only allow the given number of " "members to be in the channel while the mode is set. " "Nobody else is allowed to join the channel while the " "channel membership count is greater than or equal to " "the number given with the mode, however some " "implementations allow IRC operators to circumvent that " "rule. Most traditional implementations accept only a " "signed integer here (using atoi()), however some more " "modern implementations may accept an unsigned integer " "(i.e. strtoul()), or even have machine variations on " "whether a 32-bit or 64-bit integer is accepted."; }; chanmodes = { irc2char = "L"; name = "LISTED"; origin = "Bahamut"; conflict = "yes"; }; chanmodes = { irc2char = "L"; name = "LINK"; origin = "Unreal"; parameter = "Channel name"; comment = "If the channel is +l, and the channel is full, users will " "be redirected to the given channel"; conflict = "yes"; }; chanmodes = { irc2char = "m"; name = "MODERATED"; origin = "RFC1459"; comment = "The channel is being moderated. Only users who have a " "voice are able to talk (people who are voiced or channel " "operator members)"; }; chanmodes = { irc2char = "M"; name = "MODREG"; origin = "Bahamut"; conflict = "yes"; }; chanmodes = { irc2char = "M"; name = "REGONLY"; origin = "Unreal"; comment = "Channel only allows registered nicknames to talk."; conflict = "yes"; }; chanmodes = { irc2char = "n"; name = "NO_EXTERNAL_MSGS"; origin = "RFC1459"; comment = "Disallows messages from users who are not channel " "members entering the channel"; }; chanmodes = { irc2char = "N"; name = "NO_NICK_CHANGE"; origin = "Unreal"; comment = "Disallow nickname changes. This is similar to " "AustHex's obsolete +e ('event') mode"; }; chanmodes = { irc2char = "o"; name = "OPER"; origin = "RFC1459"; parameter = "Nickname"; comment = "Gives the specified nickname channel operator status"; }; chanmodes = { irc2char = "O"; name = "CREATOR"; origin = "RFC2811"; parameter = "Nickname"; comment = "Give the specified nickname channel creator status"; conflict = "yes"; }; chanmodes = { irc2char = "O"; name = "OPER_ONLY"; origin = "Bahamut, Unreal"; comment = "Channel only allows IRC operators to join"; conflict = "yes"; }; chanmodes = { irc2char = "p"; name = "PRIVATE"; origin = "RFC1459"; comment = "Marks the channel as private. Using this form, +p cannot " "be set with +s at the same time. Setting +p while +s is " "set turns off +s, and vice-versa. This is widely " "considered obsolete in favour of the secret mode (+s)."; obsolete = "yes"; }; chanmodes = { irc2char = "p"; name = "PRIVATE"; origin = "Hybrid"; comment = "This restricts KNOCK, and prevents half-ops from using +h"; }; chanmodes = { irc2char = "q"; name = "QUIET"; origin = "RFC2811"; comment = "Sets the channel to be quiet. When set, it restricts " "what is sent to clients who are on the channel. Joins, " "parts, and nick changes are not broadcast. From the " "user's point of view, the channel only contains one user " "(them)."; server_on = "yes"; server_off = "yes"; conflict = "yes"; }; chanmodes = { irc2char = "q"; name = "CHANNEL_OWNER"; origin = "Unreal"; parameter = "Nickname"; comment = "Gives the nickname channel owner status"; conflict = "yes"; }; chanmodes = { irc2char = "Q"; name = "NO_KICK"; origin = "Unreal"; comment = "Disallow people being kicked from the channel"; }; chanmodes = { irc2char = "r"; name = "REOP"; origin = "RFC2811"; comment = "This mode is used to prevent a channel from having no " "operator for an extended period of time. When set, any " "channel that has lost all its channel operators for a " "certain period of time automatically has some or all " "channel members given channel operator status. RFC2811 " "specifies this is only available to '!' channels, but " "some implementations are reported to use it on other " "channel types, since they use timestamping to avoid " "channel take-overs during network splits."; conflict = "yes"; }; chanmodes = { irc2char = "r"; name = "REGISTERED"; origin = "Bahamut"; comment = "Channel is registered with a network channel service"; server_on = "yes"; server_off = "yes"; conflict = "yes"; }; chanmodes = { irc2char = "r"; name = "REGONLY"; origin = "ircu"; comment = "Channel only allows registered nicknames to join/talk."; conflict = "yes"; }; chanmodes = { irc2char = "R"; name = "REGONLY"; origin = "Bahamut, tr-ircd"; comment = "Channel only allows registered nicknames to join/talk"; conflict = "yes"; }; chanmodes = { irc2char = "R"; name = "REOP_LIST"; origin = "IRCNet"; parameter = "n!u@h mask"; comment = "Re-oper list - a list of identities used as a hint for " "reop when a channel is opless for a long enough time. Only " "one of the matches is used for the reop."; conflict = "yes"; }; chanmodes = { irc2char = "s"; name = "SECRET"; origin = "RFC1459"; comment = "Marks the channel as secret. The channel will not appear " "in channel listings, the NAMES command will not list " "nicknames for users who are not channel members, and the " "channel will not appear in WHOIS unless WHOIS is called " "by a fellow channel member."; }; chanmodes = { irc2char = "S"; name = "STRIP"; origin = "Unreal"; comment = "Strip mIRC colours from text broadcast via the channel"; }; chanmodes = { irc2char = "t"; name = "TOPIC_LOCK"; origin = "RFC1459"; comment = "Topic is locked, and can only be changed by channel " "operators"; }; chanmodes = { irc2char = "u"; name = "AUDITORIUM"; origin = "Unreal"; comment = "When set, makes /names and /who only show channel " "operators"; conflict = "yes"; }; chanmodes = { irc2char = "u"; name = "FOUNDER"; origin = "tr-ircd"; comment = "Gives the specified nickname 'founder' status."; conflict = "yes"; }; chanmodes = { irc2char = "u"; name = "NOQUITPARTS"; origin = "QuakeNet"; comment = "When set, this hides all part messages (no part reasons " "are broadcast) and all quit reasons are simply replaced " "with a generic string such as \"Signed Off\"."; conflict = "yes"; }; chanmodes = { irc2char = "v"; name = "VOICE"; origin = "RFC1459"; parameter = "Nickname"; comment = "Gives the specified nickname a voice. The user may then " "speak when the channel is being moderated (+m)."; }; chanmodes = { irc2char = "V"; name = "NO_INVITE"; origin = "Unreal"; comment = "Stop channel members inviting people"; }; chanmodes = { irc2char = "z"; name = "SECURED_ONLY"; origin = "Unreal"; comment = "Only allows clients connected via secure connections to " "join (eg. SSL)"; }; chanmodes = { irc2char = "!"; name = "SERVICE"; origin = "KineIRCd"; contact = "kineircd@alien.net.au"; parameter = "Nickname"; comment = "Gives the specified nickname a marker (a '!') to show " "that it is a service (i.e. a channel service). This is to " "help users identify legitimate services on channels"; };