Skip to content

Instantly share code, notes, and snippets.

@CypherpunkSamurai
Forked from xero/irc.md
Created September 2, 2025 15:02
Show Gist options
  • Select an option

  • Save CypherpunkSamurai/014df5360c000ff6a0b14c7c36693aa5 to your computer and use it in GitHub Desktop.

Select an option

Save CypherpunkSamurai/014df5360c000ff6a0b14c7c36693aa5 to your computer and use it in GitHub Desktop.

Revisions

  1. @xero xero revised this gist Oct 29, 2024. 1 changed file with 34 additions and 16 deletions.
    50 changes: 34 additions & 16 deletions irc.md
    Original file line number Diff line number Diff line change
    @@ -10,6 +10,8 @@ by [xero](https://x-e.ro) _updated 10.29.24_
    - [Chanserv Commands](#chanserv-commands)
    - [Operator Commands](#operator-commands)
    - [Formatting](#formatting)
    - [Clients](#clients)
    - [IRCd](#ircd)
    - [Suggested Servers/Networks](#suggested-servers-networks)

    ---
    @@ -426,22 +428,20 @@ The effect is created by setting both the background and foreground color the sa

    # Misc

    ## Suggested Servers/Networks

    | Network | Website | Server |
    | --------- | -------------------------------------------------------------- | -------------------- |
    | Rizon | https://rizon.net | irc://rizon |
    | Cyberia | [https://cyberia.is](http://cyberia.is/irc.html) | irc://cyberia.is |
    | UnixChat | https://unix.chat | irc://unix.chat |
    | IRCLand | https://irc.land | irc://irc.land |
    | QuakeNet | [http://quakenet.org](http://www.quakenet.org/) | irc://quakenet |
    | SwiftIRC | [http://swiftirc.net](http://www.swiftirc.net/) | irc://swiftirc |
    | Libera | [http://libera.chat](http://www.libera.chat/) | irc://libera.chat |
    | Snoonet | [http://snoonet.org](http://www.snoonet.org/) | irc://snoonet |
    | h4x0red | [https://h4x0.red](https://idlerpg.h4x0.red/) | irc://h4x0.red |
    | ~ town | [https://tilde.town](https://tilde.town/wiki/socializing/irc/) | *hidden service* |
    | IRC Cloud | [https://irccloud.com](https://www.irccloud.com/) | *multiple endpoints* |
    | theLounge | [https://thelounge.chat](https://thelounge.chat/) | *self hosted* |
    ## Clients

    | client | platform | applications |
    | -------------------------------------------------- | -------- | --------------------------------- |
    | [halloy](https://github.com/squidowl/halloy) | desktop | linux, mac windows |
    | [konversation](https://konversation.kde.org) | desktop | linux (kde) |
    | [kvirc](https://www.kvirc.net) | desktop | windows, mac |
    | [quassel](https://quassel-irc.org) | desktop | linux, mac, windows |
    | [irssi](https://irssi.org) | terminal | linux, mac, windows, bsd |
    | [weechat](https://weechat.org) | terminal | linux, mac, windows, bsd, android |
    | [sempai](https://git.sr.ht/~delthas/senpai) | terminal | linux, mac, windows, bsd |
    | [glirc](https://hackage.haskell.org/package/glirc) | terminal | mac, linux |
    | [goguma](https://codeberg.org/emersion/goguma) | mobile | ios, android |
    | [irccloud](https://irccloud.com) | web | desktop browsers, ios, android |

    ## IRCd

    @@ -469,6 +469,24 @@ The effect is created by setting both the background and foreground color the sa
    | **[UnrealIRCd](http://www.unrealircd.org/)** | DreamForge | C | 1999 | GPL |
    | [WeIRCd](https://web.archive.org/web/20090106112147/http://www.eloxoph.net/weircd/) | Custom | C | 2007 | GPL |

    ## Suggested Servers/Networks

    | Network | Website | Server |
    | --------- | -------------------------------------------------------------- | -------------------- |
    | Rizon | https://rizon.net | irc://rizon |
    | Cyberia | [https://cyberia.is](http://cyberia.is/irc.html) | irc://cyberia.is |
    | UnixChat | https://unix.chat | irc://unix.chat |
    | IRCLand | https://irc.land | irc://irc.land |
    | QuakeNet | [http://quakenet.org](http://www.quakenet.org/) | irc://quakenet |
    | SwiftIRC | [http://swiftirc.net](http://www.swiftirc.net/) | irc://swiftirc |
    | Libera | [http://libera.chat](http://www.libera.chat/) | irc://libera.chat |
    | Snoonet | [http://snoonet.org](http://www.snoonet.org/) | irc://snoonet |
    | h4x0red | [https://h4x0.red](https://idlerpg.h4x0.red/) | irc://h4x0.red |
    | ~ town | [https://tilde.town](https://tilde.town/wiki/socializing/irc/) | *hidden service* |
    | IRC Cloud | [https://irccloud.com](https://www.irccloud.com/) | *multiple endpoints* |
    | theLounge | [https://thelounge.chat](https://thelounge.chat/) | *self hosted* |


    ## Glossary

    - **IRC** - Acronym for *Internet Relay Chat*, a text based chat protocol.
  2. @xero xero revised this gist Oct 29, 2024. 1 changed file with 2 additions and 3 deletions.
    5 changes: 2 additions & 3 deletions irc.md
    Original file line number Diff line number Diff line change
    @@ -211,7 +211,6 @@ All ChanServ commands begin with `/cs`, `/chanserv`, or `/msg ChanServ`.
    - `/cs set #channel [email@address]`
    - Associates an email address with the channel.


    ---

    # Operator Commands
    @@ -257,7 +256,7 @@ All ChanServ commands begin with `/cs`, `/chanserv`, or `/msg ChanServ`.

    People on the channel **AKICK** list are automatically *kicked and banned* upon joining the channel.

    >[!danger] Bans made as a result of **AKICKs** *must be removed manually.*
    > Bans made as a result of **AKICKs** *must be removed manually.*
    #### akick add
    - `/cs akick #channel add host [reason]`
    @@ -373,7 +372,7 @@ IRC has been around for a long time. Back in those days we used CP347 and ANSI.
    If an IRC client cannot display a specified type of formatting, the client will do one of the following:
    - Display the message without the formatting (*best case imho*)
    - Display the formatting character in an obvious way, so users are aware that it was used. (e.g. uppercase `U` for underlining)
    - A bunch of junk will be printed to the screen :FasTrashCan:
    - A bunch of junk will be printed to the screen

    ## Types

  3. @xero xero revised this gist Oct 29, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion irc.md
    Original file line number Diff line number Diff line change
    @@ -20,7 +20,7 @@ IRC / **Internet Relay Chat** is a text based chat protocol over TCP using a cli

    After the first open source version of IRC was published by [WiZ](https://en.wikipedia.org/wiki/Jarkko_Oikarinen) in 1998, universities and hobbyists began to join the network. By August 1990, the first major irc drama took place...

    >[!quote] According to **[wumpus](https://daniel.haxx.se/irchistory.html)**:
    > According to **[wumpus](https://daniel.haxx.se/irchistory.html)**:
    > The "A-net" (Anarchy net) included a server named eris.berkeley.edu. It was all open, required no passwords and had no limit on the number of connects. \[...\] It had a wildcard server line, so people were hooking up servers and [nick-colliding](https://en.wikipedia.org/wiki/IRC_takeover#Nick_collision "IRC takeover") everyone".
    The formation of the "Eris Free Network" ([EFnet](https://en.wikipedia.org/wiki/EFnet "EFnet")), made the eris machine the first to be *Q-lined* (`Q` for quarantine) and marked the first network split.
  4. @xero xero revised this gist Oct 29, 2024. 1 changed file with 20 additions and 18 deletions.
    38 changes: 20 additions & 18 deletions irc.md
    Original file line number Diff line number Diff line change
    @@ -31,7 +31,7 @@ Over the decades, use of larger networks like *"the big 4"* \([efnet](http://www

    # User Commands

    >[!example] Formatting Notes:
    > **Formatting Notes:**
    > `<values>` are **required** `[values]` are *optional*

    @@ -107,7 +107,7 @@ Over the decades, use of larger networks like *"the big 4"* \([efnet](http://www

    ## Nick Management (NickServ)

    > [!important] Command Preface:
    > **Command Preface:**
    > All **nickserv** commands begin with `/ns`, `/nickserv`, or `/msg NickServ`.
    > Depending on your client or network, `/ns` may not work. Replace `/ns` with the appropriate command using the same arguments from these examples.
    > *For brevity i will use the shorthand.*
    @@ -122,7 +122,7 @@ Over the decades, use of larger networks like *"the big 4"* \([efnet](http://www
    - `/ns set password <yournewpassword>`
    - Changes your password to *"yournewpassword"*

    >[!danger] Warning!
    > **Warning!**
    > Under no circumstances should you try and register, or change to, a nick starting with `O` followed by 8 digits[^nickformat]
    [^nickformat]: In accordance with the [irc spec](http://tools.ietf.org/html/rfc2812#section-2.3.1), no IRCd will allow a user to use a nick beginning with a number. This is a security mitigation to prevent accidental misinterpretation of a nick as a valid UID or SIP.
    @@ -144,7 +144,7 @@ Over the decades, use of larger networks like *"the big 4"* \([efnet](http://www

    ## Channel Modes

    >[!tip] set a mode with: `/mode #channel +/-attribute [data]`
    > set a mode with: `/mode #channel +/-attribute [data]`
    | Attribute | Mode Description |
    | ----------------- | ----------------------------------------------------------------|
    @@ -168,7 +168,7 @@ Over the decades, use of larger networks like *"the big 4"* \([efnet](http://www
    All ChanServ commands begin with `/cs`, `/chanserv`, or `/msg ChanServ`.
    *Depending on your client and network, `/cs` or `/chanserv` may not work.*

    >[!faq] **Note:**
    > **Note:**
    > I will use the **/cs** shorthand in these examples. Update the slash commands to the appropriate name for your server. Options will be the same.
    #### register
    @@ -315,7 +315,7 @@ Remember, regex is your friend. People love to change their nicks to avoid bans,

    ## Access Levels

    >[!help] Important Note:
    > **Important Note:**
    > These may vary from network to network. For example,
    > some networks do not go by tens and use **3, 4, 5, 10,** etc.
    @@ -330,7 +330,7 @@ Remember, regex is your friend. People love to change their nicks to avoid bans,
    | **-1** | May not be opped. |
    | **-100** | May not join the channel. |

    >[!tldr] Default Value:
    > **Default Value:**
    > Any nick not on the access list has an access level of `0`.

    @@ -377,14 +377,14 @@ If an IRC client cannot display a specified type of formatting, the client will

    ## Types

    | Name | HEX | Support | |
    | ------------- | -------- | ------------------------------------------------ | --- |
    | Bold | **0x02** | Most (since ANSI) | |
    | Italics | **0x1D** | Less common | |
    | Underline | **0x1F** | Most | |
    | Strikethrough | **0x1E** | Limited: *Textual, HexChat, IRCCloud, TheLounge* | |
    | Monospace | **0x11** | Very Limited: *IRCCloud, TheLounge, Textual* | |
    | Color | **0x03** | Most (since ANSI) | |
    | Name | HEX | Support |
    | ------------- | -------- | ------------------------------------------------ |
    | Bold | **0x02** | Most (since ANSI) |
    | Italics | **0x1D** | Less common |
    | Underline | **0x1F** | Most |
    | Strikethrough | **0x1E** | Limited: *Textual, HexChat, IRCCloud, TheLounge* |
    | Monospace | **0x11** | Very Limited: *IRCCloud, TheLounge, Textual* |
    | Color | **0x03** | Most (since ANSI) |

    ## Colors

    @@ -396,7 +396,7 @@ In most clients you can press control+c (`^c`) then **foreground,background** (b

    ### Color Codes

    >[!faq] Here's the full list of color codes
    > Here's the full list of color codes
    | Number | Name |
    | ------ | ------------------- |
    @@ -416,14 +416,17 @@ In most clients you can press control+c (`^c`) then **foreground,background** (b
    | 13 | pink |
    | 14 | grey |
    | 15 | light grey (silver) |

    ### Spoilers

    >[!tip] This idea was created by the netizens of irc, not client developers
    > This idea was created by the netizens of irc, not client developers
    The effect is created by setting both the background and foreground color the same for a section of text, usually black on black. Readers can reveal the message by selecting or *"hovering over"* the block.

    ---

    # Misc

    ## Suggested Servers/Networks

    | Network | Website | Server |
    @@ -443,7 +446,6 @@ The effect is created by setting both the background and foreground color the sa

    ## IRCd


    | IRC daemon | code basis | language | released | license |
    | --------------------------------------------------------------------------------------------------------------------------- | ------------| ---------- | -------- | ------------|
    | [Bahamut](http://bahamut.dal.net/) | IRCD-Hybrid | C | 1999 | GPL |
  5. @xero xero revised this gist Oct 29, 2024. 1 changed file with 10 additions and 10 deletions.
    20 changes: 10 additions & 10 deletions irc.md
    Original file line number Diff line number Diff line change
    @@ -1,16 +1,16 @@
    # IRC Reference

    This is not intended as a guide for newbies, more like a _"cheat sheet"_ for the somewhat experienced IRC user, especially one who wields some power over a channel.
    by [xero](https://x-e.ro) _updated 10.29.24_

    ## Highlights
    - [glossary](#glossary)
    - [user commands](#user-commands)
    - [nick management (nickserv)](#nick-management--nickserv-)
    - [channel modes](#channel-modes)
    - [chanserv commands](#chanserv-commands)
    - [operator commands](#operator-commands)
    - [formatting](#formatting)
    - [suggested servers/networks](#suggested-servers-networks)
    - [History](#history)
    - [Glossary](#glossary)
    - [User Commands](#user-commands)
    - [Nick Management (NickServ)](#nick-management-nickserv)
    - [Channel Modes](#channel-modes)
    - [Chanserv Commands](#chanserv-commands)
    - [Operator Commands](#operator-commands)
    - [Formatting](#formatting)
    - [Suggested Servers/Networks](#suggested-servers-networks)

    ---

  6. @xero xero revised this gist Oct 29, 2024. 1 changed file with 6 additions and 6 deletions.
    12 changes: 6 additions & 6 deletions irc.md
    Original file line number Diff line number Diff line change
    @@ -4,13 +4,13 @@ This is not intended as a guide for newbies, more like a _"cheat sheet"_ for the

    ## Highlights
    - [glossary](#glossary)
    - [user commands](#user_commands)
    - [nick management (nickserv)](#nick_management__nickserv_)
    - [channel modes](#channel_modes)
    - [chanserv commands](#chanserv_commands)
    - [operator commands](#operator_commands)
    - [user commands](#user-commands)
    - [nick management (nickserv)](#nick-management--nickserv-)
    - [channel modes](#channel-modes)
    - [chanserv commands](#chanserv-commands)
    - [operator commands](#operator-commands)
    - [formatting](#formatting)
    - [suggested servers/networks](#suggested_servers_networks)
    - [suggested servers/networks](#suggested-servers-networks)

    ---

  7. @xero xero revised this gist Oct 29, 2024. 1 changed file with 423 additions and 192 deletions.
    615 changes: 423 additions & 192 deletions irc.md
    Original file line number Diff line number Diff line change
    @@ -1,256 +1,487 @@
    # IRC Reference

    Not intended as a guide for newbies, more like a _"cheat sheet"_ for the somewhat experienced IRC user, especially one who wields some power over a channel.
    This is not intended as a guide for newbies, more like a _"cheat sheet"_ for the somewhat experienced IRC user, especially one who wields some power over a channel.

    ## The Basics
    ## Highlights
    - [glossary](#glossary)
    - [user commands](#user_commands)
    - [nick management (nickserv)](#nick_management__nickserv_)
    - [channel modes](#channel_modes)
    - [chanserv commands](#chanserv_commands)
    - [operator commands](#operator_commands)
    - [formatting](#formatting)
    - [suggested servers/networks](#suggested_servers_networks)

    ---

    ## History

    IRC / **Internet Relay Chat** is a text based chat protocol over TCP using a client-server model. It's design focuses on group communications in *channels* or rooms. Channel names are always prefaced by a *pound sign* (e.g. `#unix`). Servers can be a single node or a network of nodes. Clients range from command line tools, desktop GUI applications, to websites, and mobile apps.

    After the first open source version of IRC was published by [WiZ](https://en.wikipedia.org/wiki/Jarkko_Oikarinen) in 1998, universities and hobbyists began to join the network. By August 1990, the first major irc drama took place...

    >[!quote] According to **[wumpus](https://daniel.haxx.se/irchistory.html)**:
    > The "A-net" (Anarchy net) included a server named eris.berkeley.edu. It was all open, required no passwords and had no limit on the number of connects. \[...\] It had a wildcard server line, so people were hooking up servers and [nick-colliding](https://en.wikipedia.org/wiki/IRC_takeover#Nick_collision "IRC takeover") everyone".
    The formation of the "Eris Free Network" ([EFnet](https://en.wikipedia.org/wiki/EFnet "EFnet")), made the eris machine the first to be *Q-lined* (`Q` for quarantine) and marked the first network split.

    Over the decades, use of larger networks like *"the big 4"* \([efnet](http://www.efnet.org/), [undernet](https://www.undernet.org/), [ircnet](https://www.ircnet.com), and [dalnet](https://www.dal.net)\) have drastically fallen off in favor of smaller, usually topical or private, instances.

    ---

    # User Commands

    >[!example] Formatting Notes:
    > `<values>` are **required** `[values]` are *optional*

    #### join
    - `/join #channel`
    - Joins the specified channel.
    - `/part #channel`
    - Leaves the specified channel.
    - Joins the specified channel.
    #### part
    - `/part #channel [message]`
    - Leaves the specified channel with optional message
    #### knock
    - `/knock #channel <message>`
    - Sends a NOTICE to an invitation-only \#channel with an optional message, requesting an invite.
    #### invite
    - `/invite <nickname> #channel`
    - Invites a user to join a channel.
    #### quit
    - `/quit [message]`
    - Disconnects from current server with optional leaving message.
    - `/server hostname`
    - Connects to the specified server.
    - Disconnects from current server with optional message.
    #### server
    - `/server <hostname>`
    - Connects to the specified server.
    #### list
    - `/list`
    - Lists all channels on the current network.
    - Lists all channels on the current network.
    #### links
    - `/links`
    - Lists all servers on the current network. May be disabled "for security reasons".
    - `/nick nickname`
    - Changes your nick.
    - Lists all servers on the current network.
    #### nick
    - `/nick <new name>`
    - Changes your handle.
    #### names
    - `/names #channel`
    - Shows the nicks of all users on #channel.
    - `/msg nickname message`
    - Sends a private message to a user.
    - `/query nickname message`
    - Sends a private message to a user and opens a private chat window.
    - `/me action`
    - Prints "yourname action"
    - `/notice nickname message`
    - Sends a notice to the specified user. Like a /msg, but usually makes a sound.
    - `/whois nickname`
    - Shows information about the specified user. This action is not visible to the specified user.
    - `/whowas nickname`
    - Shows information about a user who has quit.
    - `/dns nickname`
    - Attempts to resolve the IP address of the specified user. Doesn't work on all networks, doesn't work all the time.
    - `/ping nickname`
    - Pings the specified user. This action is visible to the specified user.
    - Shows the nicks of all users on \#channel.
    #### msg
    - `/msg <nickname> <message>`
    - Sends a private message to a user.
    #### privmsg
    - `/privmsg <target>:<message>`
    - Sends **message** to **target**, usually a user or channel.
    #### query
    - `/query <nickname> <message>`
    - Sends a private message to a user in a new window.
    #### me
    - `/me <action>`
    - Prints "yourname action", usually in _italics_
    #### notice
    - `/notice <nickname> <message>`
    - Sends a notice to the specified user. Similar to `/msg`, but plays a sound or visual bell.
    #### away
    - `/away <message>`
    - Automatically sends a reply via privmsg directed at the user, not the channel, when you are highlighted or private messaged.
    #### whois
    - `/whois <nickname>`
    - Shows information about the specified user. This action is *not visible* to the specified user.
    #### whowas
    - `/whowas <nickname>`
    - Shows information about a user who has quit.
    #### dns
    - `/dns <nickname>`
    - Attempts to resolve the IP address of the specified user. Doesn't work on all networks, doesn't work all the time.
    #### ping
    - `/ping <nickname>`
    - Pings the specified user. This action is visible to the specified user.
    #### motd
    - `/motd [server]`
    - Displays the *message of the day* on a server, or the current if omitted.
    #### rules
    - `/rules`
    - Requests/displays the server rules. This command is not formally defined in an RFC, but is used by many IRC daemons.
    #### version
    - `/version [<server>]`
    - Returns the version of a server, or the current server if omitted

    ## Nick Management (NickServ)

    All nickserv commands begin with `/ns` or `/msg NickServ`. Depending on your client or network, `/ns` may not work. for berevity i will use the shorthand.

    - `/ns register password [email]`
    - Registers your current nick with NickServ with the chosen password and binds it to an e-mail address (optional).
    - `/ns identify password`
    - Identifies your nick to NickServ using the password you set. If you have a nick that's been registered, and you don't i
    > [!important] Command Preface:
    > All **nickserv** commands begin with `/ns`, `/nickserv`, or `/msg NickServ`.
    > Depending on your client or network, `/ns` may not work. Replace `/ns` with the appropriate command using the same arguments from these examples.
    > *For brevity i will use the shorthand.*
    #### register
    - `/ns register <password> [email]`
    - Registers your current nick with NickServ with the chosen password and binds it to an e-mail address (optional).
    #### identify
    - `/ns identify <password>`
    - Identifies your nick to NickServ using the password you set. If you have a nick that's been registered, and you don't identify in a certain time period, the IRCd will auto-change your nick.
    #### set password
    - `/ns set password <yournewpassword>`
    - Changes your password to *"yournewpassword"*

    >[!danger] Warning!
    > Under no circumstances should you try and register, or change to, a nick starting with `O` followed by 8 digits[^nickformat]
    [^nickformat]: In accordance with the [irc spec](http://tools.ietf.org/html/rfc2812#section-2.3.1), no IRCd will allow a user to use a nick beginning with a number. This is a security mitigation to prevent accidental misinterpretation of a nick as a valid UID or SIP.

    **Examples:**
    `0SOMENICK` is a valid UID.
    `0AA` is a valid SID, which could be used by middleware.

    **Valid nick format:**
    `nickname = ( letter / special ) *8( letter / digit / special / "-" )`

    #### recover
    - `/ns recover nickname password`
    - Kills (forcibly disconnects) someone who has your registered nick.
    - `/ns ghost nickname password`
    - Terminates a "ghost" IRC session that's using your nickname.
    - `/ns set password yournewpassword`
    - Changes your password. **NOTE:** Under no circumstances should you change your nick to the letter O followed by 8 digit

    ## Channel modes
    set a mode with: `/mode #channel +/-attribute [data]`

    - `+n`
    - Disallows external messages.
    - `+t`
    - Only op/hops can set the topic.
    - `+p`
    - Sets the channel as invisible in /list.
    - `+s`
    - Sets the channel as invisible in /list and /whois.
    - `+i`
    - Sets the channel as closed unless the person was invited.
    - `+k [pass]`
    - Sets a password for the channel which users must enter to join.
    - `+l [number]`
    - Sets a limit on the number of users who are allowed in the channel at the same time.
    - `+m`
    - Prevents users who are not opped/hopped/voiced from talking.
    - `+R`
    - Sets the channel so only registered nicks are allowed in.
    - `+M`
    - Sets the channel so only registered nicks are allowed to talk.
    - `+S`
    - Strips formatting from messages, rendering them as plaintext.
    - `+c`
    - Blocks messages containing color codes.
    - `+i`
    - A user must be invited to join the channel.
    - `+N`
    - No nick changes permitted in the channel.


    ## ChanServ commands

    All ChanServ commands begin with `/cs` or `/chanserv` or `/msg ChanServ`. Depending on your client and network, `/cs` or `/chanserv` may not work. I will use the shorthand in these examples.
    - Kills (forcibly disconnects) someone using your registered nick.

    #### ghost
    - `/ns ghost nickname password`
    - Terminates a *"ghost"* IRC session that's squatting your nickname.

    ## Channel Modes

    >[!tip] set a mode with: `/mode #channel +/-attribute [data]`
    | Attribute | Mode Description |
    | ----------------- | ----------------------------------------------------------------|
    | **+n** | Disallows external messages. |
    | **+t** | Only op/hops can set the topic. |
    | **+p** | Sets the channel as invisible in /list. |
    | **+s** | Sets the channel as invisible in /list and /whois. |
    | **+i** | Sets the channel as closed unless the person was invited. |
    | **+k \[pass\]** | Sets a password for the channel which users must enter to join. |
    | **+l \[num\]** | Sets a limit on the max number of users allowed in the channel. |
    | **+m** | Prevents users who are not opped/hopped/voiced from talking. |
    | **+R** | Sets the channel so only registered nicks are allowed in. |
    | **+M** | Sets the channel so only registered nicks are allowed to talk. |
    | **+S** | Strips formatting from messages, rendering them as plaintext. |
    | **+c** | Blocks messages containing color codes. |
    | **+i** | A user must be invited to join the channel. |
    | **+N** | No nick changes permitted in the channel. |

    ## ChanServ Commands

    All ChanServ commands begin with `/cs`, `/chanserv`, or `/msg ChanServ`.
    *Depending on your client and network, `/cs` or `/chanserv` may not work.*

    >[!faq] **Note:**
    > I will use the **/cs** shorthand in these examples. Update the slash commands to the appropriate name for your server. Options will be the same.
    #### register
    - `/cs register #channel <password> [description]`
    - Registers the current channel to you with ChanServ and sets its password and description.
    #### drop / unregister ⚠
    - `/cs drop #channel [dropcode]`
    - Un-registers the current channel to you with ChanServ.
    #### identify
    - `/cs identify #channel <password>`
    - Identifies you as the channel's founder and gives you founder-level privileges.
    - `/cs set #channel mlock modes`
    - Locks the channel's modes. Just + unlocks all.
    - Identifies you as the channel's founder and gives you founder-level privileges.
    #### founder
    - `/cs set #channel founder [nickname]`
    - Sets the current channel's founder.
    #### mode lock
    - `/cs set #channel mlock <modes>`
    - Locks the channel's modes. Just + unlocks all.
    #### secure ops
    - `/cs set #channel secureops [on|off]`
    - Keeps everyone except aops, sops, and the founder from becoming ops.
    - Keeps everyone except aops, sops, and the founder from becoming ops.
    #### keep topic
    - `/cs set #channel keeptopic [on|off]`
    - Maintains the topic even if everyone leaves.
    - Maintains the topic even if everyone leaves.
    #### enforce ops
    - `/cs set #channel enforce [on|off]`
    - Restores op/halfop/voice if a person with op/halfop/voice gets de-opped/halfopped/voiced.
    - Restores op/halfop/voice if a person with op/halfop/voice gets de-opped/halfopped/voiced.
    #### leave ops
    - `/cs set #channel leaveops [on|off]`
    - Whether or not to allow the first person who join the channel to get ops.
    - `/cs register #channel password description`
    - Registers the current channel to you with ChanServ and sets its password and description.
    - `/cs drop #channel [dropcode]`
    - Un-registers the current channel to you with ChanServ.
    - `/cs set #channel founder [nickname]`
    - Sets the current channel's founder.
    - Whether or not to allow the first person who join the channel to get ops.
    #### set password
    - `/cs set #channel password [newpass]`
    - Changes the current channel's password to newpass.
    - Changes the current channel's password to *newpass*.
    #### description
    - `/cs set #channel desc [description]`
    - Changes the current channel's description.
    - Changes the current channel's description.
    #### url
    - `/cs set #channel url [address]`
    - Associates a URL with the channel.
    - Associates a URL with the channel.
    #### email
    - `/cs set #channel [email@address]`
    - Associates an email address with the channel.
    - Associates an email address with the channel.

    # Other stuff

    ## Kicking people
    ---

    - `/kick #channel nickname [reason]`
    - temporarily remove user from channel
    `/mode nickname +/-attributes [data]`
    - Setting people's modes (for current channel only)
    # Operator Commands

    #### oper
    - `/oper <nickname> <pass>`
    - Authenticates a user as an IRC operator on that server/network.

    #### userip
    - `/userip <nickname>`
    - Requests the public IP address of the user with the specified nickname.
    - It is unclear what, if any, privileges are required to execute this command on a server. This command is not formally defined by an RFC.
    - Support is indicated in a **RPL_ISUPPORT** reply (numeric `005`) with the **USERIP** keyword.
    #### users
    - `/users [<server>]`
    - Returns a list of users and information about those users in a format similar to the unix `who`, `rusers`, and `finger` commands.
    #### wallops
    - `/wallops <message>`
    - Sends the "message" to all operators connected to the server, or all users with user mode `w` set. similar to the unix `wall` command.
    #### trace
    - `/trace [target]`
    - Trace a path across the IRC network to a specific server or client, in a similar method to `traceroute`.

    ## User modes

    - `+q`
    - User is owner of the current channel (prefix ~ on UnrealIRCd, usually @ elsewhere)
    - `+a`
    - User is an admin (SOP) on the current channel (prefix & on UnrealIRCd, usually @ elsewhere).
    - `+o`
    - User is an operator (AOP) on the current channel (prefix @).
    - `+h`
    - User is a half-op on the current channel (prefix %).
    - `+v`
    - User has voice on the current channel (prefix +).
    | Mode | Description | Prefix |
    | ------ | -------------------------------------------------|--------------------------|
    | **+q** | User is owner of the current channel | `@` or `~` on UnrealIRCd |
    | **+a** | User is an admin (SOP) on the current channel | `@` or `&` on UnrealIRCd |
    | **+o** | User is an operator (AOP) on the current channel | `@` |
    | **+h** | User is a half-op on the current channel | `%` |
    | **+v** | User has voice on the current channel | `+`

    ## Banning people
    ## Kicking People

    #### kick
    - `/kick #channel nickname [reason]`
    - temporarily remove user from channel
    - `/mode nickname +/-attributes [data]`
    - Setting people's modes (for current channel only)

    ### Auto Kicks / AKICKs

    People on the channel **AKICK** list are automatically *kicked and banned* upon joining the channel.

    >[!danger] Bans made as a result of **AKICKs** *must be removed manually.*
    #### akick add
    - `/cs akick #channel add host [reason]`
    - Adds host to \#channel's AKICK list for *"reason"*.
    #### akick del
    - `/cs akick #channel del host`
    - Removes host from the AKICK list.
    #### akick list/view
    - `/cs akick #channel list`
    - `/cs akick #channel view`
    - Displays the **AKICK** list.
    - command name varies between IRCd's

    ## Banning

    #### mode +b
    - `/mode #channel +b hosts`
    - Hosts take the following form: `nickname!userid@hostname`
    - Use `/whois`, `/whowas` or `/who` to find the information necessary for a ban.
    - `*` is a wildcard and can replace `nickname`, `userid`, parts of nickname or `userid`, `hostname` or a segment of a `hostname`.
    - Hosts take the following form: `nickname!userid@hostname`
    - Use `/whois`, `/whowas` or `/who` to find the necessary information
    - `*` is a wildcard and can replace `nickname`, `userid`, parts of nickname or `userid`, `hostname` or a segment of a `hostname`.

    ## Examples:
    ### Examples
    Remember, regex is your friend. People love to change their nicks to avoid bans, but often use a standard host, userid, or some other unique identifier.

    #### nickname
    - `joe!*@*`
    - Will prevent anyone with the nick joe from joining.
    - Prevents anyone with the nick `joe` from joining.
    #### nick contains
    - `*myg0t*!*`
    - Will prevent anyone whose nick contains myg0t from joining.
    - Prevents anyone whose nick *contains* `myg0t` from joining.
    #### nick and userid
    - `mark!*elc@*`
    - Will prevent anyone with the nick mark and the userid elc from joining.
    - Prevents anyone with the nick `mark` *and* the userid `elc` from joining.
    #### hostname
    - `*!*@c-123-24-76-213.ga.isp.net`
    - Will prevent anyone with the host c-123-24-76-213.ga.isp.net from joining.
    - Prevents anyone with the host `c-123-24-76-213.ga.isp.net` from joining.
    #### rip
    - `*!*@*`
    - Bans everyone. Don't do that.
    - Bans everyone. *Don't do that*.

    ## Access lists
    ## Access Lists

    #### access add
    - `/cs access #channel add [nickname] [level]`
    - Adds nickname to the channel's access list at the specified level.
    - Adds nickname to the channel's access list at the specified level.
    #### access del
    - `/cs access channel del [nickname]`
    - Removes nickname from the channel's access list.
    - Removes nickname from the channel's access list.
    #### access list
    - `/cs access #channel list`
    - Displays the channel's access list.
    - Displays the channel's access list.
    #### access count
    - `/cs access #channel count`
    - Displays how many entries are in the channel's access list.
    - Displays how many entries are in the channel's access list.

    ## Access Levels

    ## Access levels
    >[!help] Important Note:
    > These may vary from network to network. For example,
    > some networks do not go by tens and use **3, 4, 5, 10,** etc.
    These may vary from network to network. For example, some networks do not go by tens and use 3, 4, 5, 10, etc.
    | Mode | Description |
    | ----------- | -------------------------------------------------------------------------- |
    | **Founder** | Full access to ChanServ functions, automatic opping upon entering channel. |
    | **100+** | Makes the person an SOP, automatic opping upon entering channel. |
    | **50** | Makes the parson an AOP, automatic opping upon entering channel. |
    | **40** | Automatic half-opping. |
    | **30** | Automatic voicing. |
    | **0** | No special privileges. |
    | **-1** | May not be opped. |
    | **-100** | May not join the channel. |

    - `Founder`
    - Full access to ChanServ functions, automatic opping upon entering channel.
    - `100+`
    - Makes the person an SOP, automatic opping upon entering channel.
    - `50`
    - Makes the parson an AOP, automatic opping upon entering channel.
    - `40`
    - Automatic half-opping.
    - `30`
    - Automatic voicing.
    - `0`
    - No special privileges.
    - `-1`
    - May not be opped.
    - `-100`
    - May not join the channel.
    >[!tldr] Default Value:
    > Any nick not on the access list has an access level of `0`.
    Any nick not on the access list has an access level of `0`.

    # AOPs and SOPs
    ## AOPs and SOPs

    ## AOPs
    ### AOP / Auto Operators
    - Are automatically ops and can give themselves ops.
    - Can give/take op/halfop/voice to/from other channel members.
    - Can unban themselves.
    - Receive memos sent to the whole channel.
    - Can invite themselves to the channel.

    ## SOPs
    ### SOP / Super Operators
    - Can do everything AOPs can.
    - Can give and take AOP privileges.
    - Receive memos sent to the channel's SOPs.
    - Can add (but not remove) AKICKs.

    ## Viewing and setting privileges
    ### Viewing/Setting Privileges
    #### list
    - `/cs aop #channel list`
    - `/cs sop #channel list`
    - Viewing AOP and SOP lists
    - `/cs aop #channel list`
    - `/cs sop #channel list`
    - adding a AOP or SOP
    - `/cs [AOP|SOP] channel [ADD|DEL|LIST|CLEAR] [nick | entry-list]`

    ## AKICKs

    People on the AKICK list are automatically kicked and banned when they enter the channel. Bans made as a result of AKICK must be removed manually.

    - `/cs akick #channel add host [reason]`
    - Adds host to #channel's AKICK list [for reason].
    - `/cs akick #channel del host`
    - Removes host from the AKICK list.
    - `/cs akick #channel list`
    - `/cs akick #channel view`
    - Displays the AKICK list.


    ## Color codes

    it's possible to color your text in irc. in most clients you can use control c then foreground,background (background is optional). examples: red text `^c4`. black text on a blue background `^c1,2`. here's a full list of the color codes:

    Number | Name
    ------ | ----
    00 | white
    01 | black
    02 | blue (navy)
    03 | green
    04 | red
    05 | brown (maroon)
    06 | purple
    07 | orange (olive)
    08 | yellow
    09 | light green (lime)
    10 | teal (a green/blue cyan)
    11 | light cyan (cyan / aqua)
    12 | light blue (royal)
    13 | pink (light purple / fuchsia)
    14 | grey
    15 | light grey (silver)


    ## related
    https://youtu.be/R8FOGlnYkgg
    #### managing
    - `/cs [AOP|SOP] channel [ADD|DEL|LIST|CLEAR] [nick | entry-list]`
    - Modifies access privileges

    ---

    # Formatting

    Even though IRC is a plain text protocol, it supports the use of color codes. Clients convert these codes to the appropriate terminal escape characters before rendering the message to the user.

    ### ANSI Support

    IRC has been around for a long time. Back in those days we used CP347 and ANSI. Even back then, IRC supported bold and color formatting via escape codes.

    ## Limitations

    If an IRC client cannot display a specified type of formatting, the client will do one of the following:
    - Display the message without the formatting (*best case imho*)
    - Display the formatting character in an obvious way, so users are aware that it was used. (e.g. uppercase `U` for underlining)
    - A bunch of junk will be printed to the screen :FasTrashCan:

    ## Types

    | Name | HEX | Support | |
    | ------------- | -------- | ------------------------------------------------ | --- |
    | Bold | **0x02** | Most (since ANSI) | |
    | Italics | **0x1D** | Less common | |
    | Underline | **0x1F** | Most | |
    | Strikethrough | **0x1E** | Limited: *Textual, HexChat, IRCCloud, TheLounge* | |
    | Monospace | **0x11** | Very Limited: *IRCCloud, TheLounge, Textual* | |
    | Color | **0x03** | Most (since ANSI) | |

    ## Colors

    In most clients you can press control+c (`^c`) then **foreground,background** (background is optional).

    ### Examples
    * `^c4` red text
    * `^c1,2` black text on a blue background

    ### Color Codes

    >[!faq] Here's the full list of color codes
    | Number | Name |
    | ------ | ------------------- |
    | 00 | white |
    | 01 | black |
    | 02 | blue |
    | 03 | green |
    | 04 | red |
    | 05 | brown |
    | 06 | purple |
    | 07 | orange |
    | 08 | yellow |
    | 09 | lime green |
    | 10 | cyan |
    | 11 | aqua |
    | 12 | royal blue |
    | 13 | pink |
    | 14 | grey |
    | 15 | light grey (silver) |
    ### Spoilers

    >[!tip] This idea was created by the netizens of irc, not client developers
    The effect is created by setting both the background and foreground color the same for a section of text, usually black on black. Readers can reveal the message by selecting or *"hovering over"* the block.

    ---
    # Misc
    ## Suggested Servers/Networks

    | Network | Website | Server |
    | --------- | -------------------------------------------------------------- | -------------------- |
    | Rizon | https://rizon.net | irc://rizon |
    | Cyberia | [https://cyberia.is](http://cyberia.is/irc.html) | irc://cyberia.is |
    | UnixChat | https://unix.chat | irc://unix.chat |
    | IRCLand | https://irc.land | irc://irc.land |
    | QuakeNet | [http://quakenet.org](http://www.quakenet.org/) | irc://quakenet |
    | SwiftIRC | [http://swiftirc.net](http://www.swiftirc.net/) | irc://swiftirc |
    | Libera | [http://libera.chat](http://www.libera.chat/) | irc://libera.chat |
    | Snoonet | [http://snoonet.org](http://www.snoonet.org/) | irc://snoonet |
    | h4x0red | [https://h4x0.red](https://idlerpg.h4x0.red/) | irc://h4x0.red |
    | ~ town | [https://tilde.town](https://tilde.town/wiki/socializing/irc/) | *hidden service* |
    | IRC Cloud | [https://irccloud.com](https://www.irccloud.com/) | *multiple endpoints* |
    | theLounge | [https://thelounge.chat](https://thelounge.chat/) | *self hosted* |

    ## IRCd


    | IRC daemon | code basis | language | released | license |
    | --------------------------------------------------------------------------------------------------------------------------- | ------------| ---------- | -------- | ------------|
    | [Bahamut](http://bahamut.dal.net/) | IRCD-Hybrid | C | 1999 | GPL |
    | [bIRCd](http://borg.uu3.net/~borg/) | DreamForge | C | 1999 | GPL |
    | [Charybdis](https://web.archive.org/web/20090118144223/http://www.ircd-charybdis.net/) | ircd-ratbox | C | 2005 | BSD |
    | [ConferenceRoom](http://www.conferenceroom.com/) | Custom | C++ | 1996 | Proprietary |
    | [csircd](http://codestud.com/csircd/) | Custom | C | 1998 | GPL |
    | [InspIRCd](http://www.inspircd.org/) | Custom | C++ | 2002 | GPL |
    | [IRCd](ftp://ftp.irc.org/irc/server/) | Custom | C | 1988 | GPL |
    | [ircd-hybrid](https://www.ircd-hybrid.org/) | irc2.8 | C | 1997 | GPL |
    | [ircd-ratbox](https://web.archive.org/web/20201201022223/https://www.ratbox.org) | Hybrid | C | 2002 | GPL |
    | [ircu](http://coder-com.undernet.org/) | irc2.7 | C | 1991 | GPL |
    | [ithildin](https://web.archive.org/web/20070314203028/http://www.ithildin.org/) | Custom | C | 2006 | BSD |
    | [Nefarious IRCu](https://web.archive.org/web/20070311092004/http://evilnet.sourceforge.net/) | ircu2 | C | 2004 | GPL |
    | [ngIRCd](http://ngircd.barton.de/) | Custom | C | 2001 | GPL |
    | [OfficeIRC](https://web.archive.org/web/20081219094227/http://www.officeirc.com/products/default.asp?product=server) | Custom | VB.NET | 2006 | Proprietary |
    | [PleXusIRCd](http://code.google.com/p/ircd-rizon/) | Hybrid | C | 2005 | GPL |
    | [pureIRCd](http://sourceforge.net/projects/pure-ircd/) | Custom | C | 2002 | GPL |
    | [ShadowIRCd](https://web.archive.org/web/20081212084006/http://www.shadowircd.net/) | Charybdis | C | 2008 | GPL |
    | [solid-ircd](https://web.archive.org/web/20080709051833/http://www.solid-ircd.com/) | Bahamut | C | ? | GPL |
    | [Synchronet IRCd](http://www.synchro.net/docs/ircd.txt) | Custom | Javascript | 2003 | GPL |
    | **[UnrealIRCd](http://www.unrealircd.org/)** | DreamForge | C | 1999 | GPL |
    | [WeIRCd](https://web.archive.org/web/20090106112147/http://www.eloxoph.net/weircd/) | Custom | C | 2007 | GPL |

    ## Glossary

    - **IRC** - Acronym for *Internet Relay Chat*, a text based chat protocol.
    - **IRCd** - IRC *Daemon*, the technical name for IRC server software.
    - **channel** - IRC's equivalent term for a *"chat room"*, or *group chat*. Names are prefaced with a pound sign (e.g. `#channel_name`), and are unique to a **server**.
    - **msg** or **priv msg** - An abbreviation for *"Message"* or *"Private Message"*. Any messages given across IRC are private between two people rather than to a channel where anyone in the channel can see.
    - **op** - Someone with *Operator* status. They are marked by a `@` or `~` symbol next to their name and it means they have some degree of power in a channel to change settings, kick people out and so on.
    - **afk** - acronym for *"Away From Keyboard"*. Often used in `/away` messages, it indicates that a connected use is unavailable to chat for a period of time.
    - **bot** - An *IRC bot* or *Chat Bot*, is software that runs on a remove computer and connects into an IRC server like a normal user and read the logs looking for actionable events. They can perform various automated or manual tasks, such as user commands, managing user privileges, combining messages, providing detailed link information, or hosting games.

    ## Sauces

    - [RFC1459](https://datatracker.ietf.org/doc/html/rfc1459)
    - [history of irc](https://daniel.haxx.se/irchistory.html)
    - [ircv3.net](https://ircv3.net/)
    - [modern.ircdocs.horse/formatting](https://modern.ircdocs.horse/formatting)
    - [youtu.be/R8FOGlnYkgg](https://youtu.be/R8FOGlnYkgg)
  8. x0 revised this gist Jun 24, 2020. 1 changed file with 19 additions and 19 deletions.
    38 changes: 19 additions & 19 deletions irc.md
    Original file line number Diff line number Diff line change
    @@ -1,8 +1,8 @@
    #IRC Reference
    # IRC Reference

    Not intended as a guide for newbies, more like a _"cheat sheet"_ for the somewhat experienced IRC user, especially one who wields some power over a channel.

    ##The Basics
    ## The Basics

    - `/join #channel`
    - Joins the specified channel.
    @@ -37,9 +37,9 @@ Not intended as a guide for newbies, more like a _"cheat sheet"_ for the somewha
    - `/ping nickname`
    - Pings the specified user. This action is visible to the specified user.

    ##Nick Management (NickServ)
    ## Nick Management (NickServ)

    All nickserv commands begin with `/ns` or `/msg NickServ`. Depending on your client, `/ns` may not work.
    All nickserv commands begin with `/ns` or `/msg NickServ`. Depending on your client or network, `/ns` may not work. for berevity i will use the shorthand.

    - `/ns register password [email]`
    - Registers your current nick with NickServ with the chosen password and binds it to an e-mail address (optional).
    @@ -52,7 +52,7 @@ All nickserv commands begin with `/ns` or `/msg NickServ`. Depending on your cli
    - `/ns set password yournewpassword`
    - Changes your password. **NOTE:** Under no circumstances should you change your nick to the letter O followed by 8 digit

    ##Channel modes
    ## Channel modes
    set a mode with: `/mode #channel +/-attribute [data]`

    - `+n`
    @@ -85,9 +85,9 @@ set a mode with: `/mode #channel +/-attribute [data]`
    - No nick changes permitted in the channel.


    ##ChanServ commands
    ## ChanServ commands

    All ChanServ commands begin with `/cs` or `/chanserv` or `/msg ChanServ`. Depending on your client, `/cs` or `/chanserv` may not work.
    All ChanServ commands begin with `/cs` or `/chanserv` or `/msg ChanServ`. Depending on your client and network, `/cs` or `/chanserv` may not work. I will use the shorthand in these examples.

    - `/cs identify #channel <password>`
    - Identifies you as the channel's founder and gives you founder-level privileges.
    @@ -116,16 +116,16 @@ All ChanServ commands begin with `/cs` or `/chanserv` or `/msg ChanServ`. Depend
    - `/cs set #channel [email@address]`
    - Associates an email address with the channel.

    #Other stuff
    # Other stuff

    ##Kicking people
    ## Kicking people

    - `/kick #channel nickname [reason]`
    - temporarily remove user from channel
    `/mode nickname +/-attributes [data]`
    - Setting people's modes (for current channel only)

    ##User modes
    ## User modes

    - `+q`
    - User is owner of the current channel (prefix ~ on UnrealIRCd, usually @ elsewhere)
    @@ -138,14 +138,14 @@ All ChanServ commands begin with `/cs` or `/chanserv` or `/msg ChanServ`. Depend
    - `+v`
    - User has voice on the current channel (prefix +).

    ##Banning people
    ## Banning people

    - `/mode #channel +b hosts`
    - Hosts take the following form: `nickname!userid@hostname`
    - Use `/whois`, `/whowas` or `/who` to find the information necessary for a ban.
    - `*` is a wildcard and can replace `nickname`, `userid`, parts of nickname or `userid`, `hostname` or a segment of a `hostname`.

    ##Examples:
    ## Examples:

    - `joe!*@*`
    - Will prevent anyone with the nick joe from joining.
    @@ -158,7 +158,7 @@ All ChanServ commands begin with `/cs` or `/chanserv` or `/msg ChanServ`. Depend
    - `*!*@*`
    - Bans everyone. Don't do that.

    ##Access lists
    ## Access lists

    - `/cs access #channel add [nickname] [level]`
    - Adds nickname to the channel's access list at the specified level.
    @@ -170,7 +170,7 @@ All ChanServ commands begin with `/cs` or `/chanserv` or `/msg ChanServ`. Depend
    - Displays how many entries are in the channel's access list.


    ##Access levels
    ## Access levels

    These may vary from network to network. For example, some networks do not go by tens and use 3, 4, 5, 10, etc.

    @@ -193,29 +193,29 @@ These may vary from network to network. For example, some networks do not go by

    Any nick not on the access list has an access level of `0`.

    #AOPs and SOPs
    # AOPs and SOPs

    ##AOPs
    ## AOPs
    - Are automatically ops and can give themselves ops.
    - Can give/take op/halfop/voice to/from other channel members.
    - Can unban themselves.
    - Receive memos sent to the whole channel.
    - Can invite themselves to the channel.

    ##SOPs
    ## SOPs
    - Can do everything AOPs can.
    - Can give and take AOP privileges.
    - Receive memos sent to the channel's SOPs.
    - Can add (but not remove) AKICKs.

    ##Viewing and setting privileges
    ## Viewing and setting privileges
    - Viewing AOP and SOP lists
    - `/cs aop #channel list`
    - `/cs sop #channel list`
    - adding a AOP or SOP
    - `/cs [AOP|SOP] channel [ADD|DEL|LIST|CLEAR] [nick | entry-list]`

    ##AKICKs
    ## AKICKs

    People on the AKICK list are automatically kicked and banned when they enter the channel. Bans made as a result of AKICK must be removed manually.

  9. xero harrison revised this gist Sep 19, 2016. 1 changed file with 5 additions and 1 deletion.
    6 changes: 5 additions & 1 deletion irc.md
    Original file line number Diff line number Diff line change
    @@ -249,4 +249,8 @@ Number | Name
    12 | light blue (royal)
    13 | pink (light purple / fuchsia)
    14 | grey
    15 | light grey (silver)
    15 | light grey (silver)


    ## related
    https://youtu.be/R8FOGlnYkgg
  10. xero harrison revised this gist Sep 16, 2016. 1 changed file with 25 additions and 1 deletion.
    26 changes: 25 additions & 1 deletion irc.md
    Original file line number Diff line number Diff line change
    @@ -225,4 +225,28 @@ People on the AKICK list are automatically kicked and banned when they enter the
    - Removes host from the AKICK list.
    - `/cs akick #channel list`
    - `/cs akick #channel view`
    - Displays the AKICK list.
    - Displays the AKICK list.


    ## Color codes

    it's possible to color your text in irc. in most clients you can use control c then foreground,background (background is optional). examples: red text `^c4`. black text on a blue background `^c1,2`. here's a full list of the color codes:

    Number | Name
    ------ | ----
    00 | white
    01 | black
    02 | blue (navy)
    03 | green
    04 | red
    05 | brown (maroon)
    06 | purple
    07 | orange (olive)
    08 | yellow
    09 | light green (lime)
    10 | teal (a green/blue cyan)
    11 | light cyan (cyan / aqua)
    12 | light blue (royal)
    13 | pink (light purple / fuchsia)
    14 | grey
    15 | light grey (silver)
  11. xero harrison revised this gist Apr 7, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion irc.md
    Original file line number Diff line number Diff line change
    @@ -208,7 +208,7 @@ Any nick not on the access list has an access level of `0`.
    - Receive memos sent to the channel's SOPs.
    - Can add (but not remove) AKICKs.

    ##Viewing and Setting Privileges
    ##Viewing and setting privileges
    - Viewing AOP and SOP lists
    - `/cs aop #channel list`
    - `/cs sop #channel list`
  12. xero harrison revised this gist Apr 7, 2015. 1 changed file with 6 additions and 3 deletions.
    9 changes: 6 additions & 3 deletions irc.md
    Original file line number Diff line number Diff line change
    @@ -208,9 +208,12 @@ Any nick not on the access list has an access level of `0`.
    - Receive memos sent to the channel's SOPs.
    - Can add (but not remove) AKICKs.

    ##Viewing AOP and SOP lists
    - `/cs aop #channel list`
    - `/cs sop #channel list`
    ##Viewing and Setting Privileges
    - Viewing AOP and SOP lists
    - `/cs aop #channel list`
    - `/cs sop #channel list`
    - adding a AOP or SOP
    - `/cs [AOP|SOP] channel [ADD|DEL|LIST|CLEAR] [nick | entry-list]`

    ##AKICKs

  13. xero harrison revised this gist Apr 7, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion irc.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    #IRC Reference

    Not intended as a guide for newbies, more like a _"cheat sheet"_ for the somewhat experienced IRC user, especially one who wields some power over a channel. Some parts of it may be specific to UnrealIRCd, or mIRC. If you have any questions, comments, complaints, or suggestions, e-mail zach[@]emptv[dot]com. Results may vary, do not use as a flotation device.
    Not intended as a guide for newbies, more like a _"cheat sheet"_ for the somewhat experienced IRC user, especially one who wields some power over a channel.

    ##The Basics

  14. xero harrison revised this gist Apr 7, 2015. 1 changed file with 28 additions and 26 deletions.
    54 changes: 28 additions & 26 deletions irc.md
    Original file line number Diff line number Diff line change
    @@ -160,13 +160,13 @@ All ChanServ commands begin with `/cs` or `/chanserv` or `/msg ChanServ`. Depend

    ##Access lists

    - `/cs access #channel add nickname level
    - `/cs access #channel add [nickname] [level]`
    - Adds nickname to the channel's access list at the specified level.
    - `/cs access channel del nickname
    - `/cs access channel del [nickname]`
    - Removes nickname from the channel's access list.
    - `/cs access #channel list
    - `/cs access #channel list`
    - Displays the channel's access list.
    - `/cs access #channel count
    - `/cs access #channel count`
    - Displays how many entries are in the channel's access list.


    @@ -193,31 +193,33 @@ These may vary from network to network. For example, some networks do not go by

    Any nick not on the access list has an access level of `0`.

    ##AOPs and SOPs
    #AOPs and SOPs

    AOPs
    Are automatically ops and can give themselves ops.
    Can give/take op/halfop/voice to/from other channel members.
    Can unban themselves.
    Receive memos sent to the whole channel.
    Can invite themselves to the channel.
    SOPs
    Can do everything AOPs can.
    Can give and take AOP privileges.
    Receive memos sent to the channel's SOPs.
    Can add (but not remove) AKICKs.
    ##AOPs
    - Are automatically ops and can give themselves ops.
    - Can give/take op/halfop/voice to/from other channel members.
    - Can unban themselves.
    - Receive memos sent to the whole channel.
    - Can invite themselves to the channel.

    Viewing AOP and SOP lists
    /cs aop #channel list
    /cs sop #channel list
    ##SOPs
    - Can do everything AOPs can.
    - Can give and take AOP privileges.
    - Receive memos sent to the channel's SOPs.
    - Can add (but not remove) AKICKs.

    ##Viewing AOP and SOP lists
    - `/cs aop #channel list`
    - `/cs sop #channel list`

    ##AKICKs

    People on the AKICK list are automatically kicked and banned when they enter the channel. Bans made as a result of AKICK must be removed manually.
    /cs akick #channel add host [reason]
    Adds host to #channel's AKICK list [for reason].
    /cs akick #channel del host
    Removes host from the AKICK list.
    /cs akick #channel list
    /cs akick #channel view
    Displays the AKICK list.

    - `/cs akick #channel add host [reason]`
    - Adds host to #channel's AKICK list [for reason].
    - `/cs akick #channel del host`
    - Removes host from the AKICK list.
    - `/cs akick #channel list`
    - `/cs akick #channel view`
    - Displays the AKICK list.
  15. xero harrison revised this gist Apr 7, 2015. 1 changed file with 124 additions and 113 deletions.
    237 changes: 124 additions & 113 deletions irc.md
    Original file line number Diff line number Diff line change
    @@ -39,7 +39,7 @@ Not intended as a guide for newbies, more like a _"cheat sheet"_ for the somewha

    ##Nick Management (NickServ)

    nickserv varies from server to server. on some networks `/ns [command]` is sufficant on others you must `/msg NickServ [co
    All nickserv commands begin with `/ns` or `/msg NickServ`. Depending on your client, `/ns` may not work.

    - `/ns register password [email]`
    - Registers your current nick with NickServ with the chosen password and binds it to an e-mail address (optional).
    @@ -53,134 +53,145 @@ nickserv varies from server to server. on some networks `/ns [command]` is suffi
    - Changes your password. **NOTE:** Under no circumstances should you change your nick to the letter O followed by 8 digit

    ##Channel modes
    set a mode with: `/mode #channel +/-attribute [data]`

    - `+n`
    - Disallows external messages.
    - `+t`
    - Only op/hops can set the topic.
    - `+p`
    - Sets the channel as invisible in /list.
    - `+s`
    - Sets the channel as invisible in /list and /whois.
    - `+i`
    - Sets the channel as closed unless the person was invited.
    - `+k [pass]`
    - Sets a password for the channel which users must enter to join.
    - `+l [number]`
    - Sets a limit on the number of users who are allowed in the channel at the same time.
    - `+m`
    - Prevents users who are not opped/hopped/voiced from talking.
    - `+R`
    - Sets the channel so only registered nicks are allowed in.
    - `+M`
    - Sets the channel so only registered nicks are allowed to talk.
    - `+S`
    - Strips formatting from messages, rendering them as plaintext.
    - `+c`
    - Blocks messages containing color codes.
    - `+i`
    - A user must be invited to join the channel.
    - `+N`
    - No nick changes permitted in the channel.

    +n
    Disallows external messages.
    +t
    Only op/hops can set the topic.
    +p
    Sets the channel as invisible in /list.
    +s
    Sets the channel as invisible in /list and /whois.
    +i
    Sets the channel as closed unless the person was invited.
    +k pass
    Sets a password for the channel which users must enter to join.
    +l number
    Sets a limit on the number of users who are allowed in the channel at the same time.
    +m
    Prevents users who are not opped/hopped/voiced from talking.
    +R
    Sets the channel so only registered nicks are allowed in.
    +M
    Sets the channel so only registered nicks are allowed to talk.
    +S
    Strips formatting from messages, rendering them as plaintext.
    +c
    Blocks messages containing color codes.
    +i
    A user must be invited to join the channel.
    +N
    No nick changes permitted in the channel.
    /mode #channel +/-attribute [data]

    ##ChanServ commands

    All ChanServ commands begin with /cs or /chanserv or /msg ChanServ
    Depending on your client, /cs or /chanserv may not work.
    /cs identify #channel password
    Identifies you as the channel's founder and gives you founder-level privileges.
    /cs set #channel mlock modes
    Locks the channel's modes. Just + unlocks all.
    /cs set #channel secureops on|off
    Keeps everyone except aops, sops, and the founder from becoming ops.
    /cs set #channel keeptopic on|off
    Maintains the topic even if everyone leaves.
    /cs set #channel enforce on|off
    Restores op/halfop/voice if a person with op/halfop/voice gets de-opped/halfopped/voiced.
    /cs set #channel leaveops on|off
    Whether or not to allow the first person who join the channel to get ops.
    /cs register #channel password description
    Registers the current channel to you with ChanServ and sets its password and description.
    /cs drop #channel [dropcode]
    Un-registers the current channel to you with ChanServ.
    /cs set #channel founder nickname
    Sets the current channel's founder.
    /cs set #channel password newpass
    Changes the current channel's password to newpass.
    /cs set #channel desc description
    Changes the current channel's description.
    /cs set #channel url address
    Associates a URL with the channel.
    /cs set #channel email address
    Associates an email address with the channel.
    Other stuff
    All ChanServ commands begin with `/cs` or `/chanserv` or `/msg ChanServ`. Depending on your client, `/cs` or `/chanserv` may not work.

    - `/cs identify #channel <password>`
    - Identifies you as the channel's founder and gives you founder-level privileges.
    - `/cs set #channel mlock modes`
    - Locks the channel's modes. Just + unlocks all.
    - `/cs set #channel secureops [on|off]`
    - Keeps everyone except aops, sops, and the founder from becoming ops.
    - `/cs set #channel keeptopic [on|off]`
    - Maintains the topic even if everyone leaves.
    - `/cs set #channel enforce [on|off]`
    - Restores op/halfop/voice if a person with op/halfop/voice gets de-opped/halfopped/voiced.
    - `/cs set #channel leaveops [on|off]`
    - Whether or not to allow the first person who join the channel to get ops.
    - `/cs register #channel password description`
    - Registers the current channel to you with ChanServ and sets its password and description.
    - `/cs drop #channel [dropcode]`
    - Un-registers the current channel to you with ChanServ.
    - `/cs set #channel founder [nickname]`
    - Sets the current channel's founder.
    - `/cs set #channel password [newpass]`
    - Changes the current channel's password to newpass.
    - `/cs set #channel desc [description]`
    - Changes the current channel's description.
    - `/cs set #channel url [address]`
    - Associates a URL with the channel.
    - `/cs set #channel [email@address]`
    - Associates an email address with the channel.

    #Other stuff

    ##Kicking people
    /kick #channel nickname [reason]
    Setting people's modes (for current channel only)
    /mode nickname +/-attributes [data]

    - `/kick #channel nickname [reason]`
    - temporarily remove user from channel
    `/mode nickname +/-attributes [data]`
    - Setting people's modes (for current channel only)

    ##User modes

    +q
    User is owner of the current channel (prefix ~ on UnrealIRCd, usually @ elsewhere)
    +a
    User is an admin (SOP) on the current channel (prefix & on UnrealIRCd, usually @ elsewhere).
    +o
    User is an operator (AOP) on the current channel (prefix @).
    +h
    User is a half-op on the current channel (prefix %).
    +v
    User has voice on the current channel (prefix +).
    Banning people
    /mode #channel +b hosts
    Hosts take the following form: nickname!userid@hostname
    Use /whois, /whowas or /who to find the information necessary for a ban.
    * is a wildcard and can replace nickname, userid, parts of nickname or userid, or hostname or segments of hostname.
    - `+q`
    - User is owner of the current channel (prefix ~ on UnrealIRCd, usually @ elsewhere)
    - `+a`
    - User is an admin (SOP) on the current channel (prefix & on UnrealIRCd, usually @ elsewhere).
    - `+o`
    - User is an operator (AOP) on the current channel (prefix @).
    - `+h`
    - User is a half-op on the current channel (prefix %).
    - `+v`
    - User has voice on the current channel (prefix +).

    ##Banning people

    - `/mode #channel +b hosts`
    - Hosts take the following form: `nickname!userid@hostname`
    - Use `/whois`, `/whowas` or `/who` to find the information necessary for a ban.
    - `*` is a wildcard and can replace `nickname`, `userid`, parts of nickname or `userid`, `hostname` or a segment of a `hostname`.

    ##Examples:
    joe!*@*
    Will prevent anyone with the nick joe from joining.
    *myg0t*!*
    Will prevent anyone whose nick contains myg0t from joining.
    mark!*elc@*
    Will prevent anyone with the nick mark and the userid elc from joining.
    *!*@c-123-24-76-213.ga.isp.net
    Will prevent anyone with the host c-123-24-76-213.ga.isp.net from joining.
    *!*@*
    Bans everyone. Don't do that.

    - `joe!*@*`
    - Will prevent anyone with the nick joe from joining.
    - `*myg0t*!*`
    - Will prevent anyone whose nick contains myg0t from joining.
    - `mark!*elc@*`
    - Will prevent anyone with the nick mark and the userid elc from joining.
    - `*!*@c-123-24-76-213.ga.isp.net`
    - Will prevent anyone with the host c-123-24-76-213.ga.isp.net from joining.
    - `*!*@*`
    - Bans everyone. Don't do that.

    ##Access lists

    /cs access #channel add nickname level
    Adds nickname to the channel's access list at the specified level.
    /cs access channel del nickname
    Removes nickname from the channel's access list.
    /cs access #channel list
    Displays the channel's access list.
    /cs access #channel count
    Displays how many entries are in the channel's access list.
    Access levels
    - `/cs access #channel add nickname level
    - Adds nickname to the channel's access list at the specified level.
    - `/cs access channel del nickname
    - Removes nickname from the channel's access list.
    - `/cs access #channel list
    - Displays the channel's access list.
    - `/cs access #channel count
    - Displays how many entries are in the channel's access list.


    ##Access levels

    These may vary from network to network. For example, some networks do not go by tens and use 3, 4, 5, 10, etc.
    Founder
    Full access to ChanServ functions, automatic opping upon entering channel.
    100+
    Makes the person an SOP, automatic opping upon entering channel.
    50
    Makes the parson an AOP, automatic opping upon entering channel.
    40
    Automatic half-opping.
    30
    Automatic voicing.
    0
    No special privileges.
    -1
    May not be opped.
    -100
    May not join the channel.
    Any nick not on the access list has an access level of 0.

    - `Founder`
    - Full access to ChanServ functions, automatic opping upon entering channel.
    - `100+`
    - Makes the person an SOP, automatic opping upon entering channel.
    - `50`
    - Makes the parson an AOP, automatic opping upon entering channel.
    - `40`
    - Automatic half-opping.
    - `30`
    - Automatic voicing.
    - `0`
    - No special privileges.
    - `-1`
    - May not be opped.
    - `-100`
    - May not join the channel.

    Any nick not on the access list has an access level of `0`.

    ##AOPs and SOPs

  16. xero harrison revised this gist Apr 7, 2015. 1 changed file with 53 additions and 49 deletions.
    102 changes: 53 additions & 49 deletions irc.md
    Original file line number Diff line number Diff line change
    @@ -1,54 +1,58 @@
    ##IRC Reference
    #IRC Reference

    Not intended as a guide for newbies, more like a _"cheat sheet"_ for the somewhat experienced IRC user, especially one who wields some power over a channel. Some parts of it may be specific to UnrealIRCd, or mIRC. If you have any questions, comments, complaints, or suggestions, e-mail zach[@]emptv[dot]com. Results may vary, do not use as a flotation device.
    The Basics

    /join #channel
    Joins the specified channel.
    /part #channel
    Leaves the specified channel.
    /quit [message]
    Disconnects from current server with optional leaving message.
    /server hostname
    Connects to the specified server.
    /list
    Lists all channels on the current network.
    /links
    Lists all servers on the current network. May be disabled "for security reasons".
    /nick nickname
    Changes your nick.
    /names #channel
    Shows the nicks of all users on #channel.
    /msg nickname message
    Sends a private message to a user.
    /query nickname message
    Sends a private message to a user and opens a private chat window.
    /me action
    Prints "yourname action"
    /notice nickname message
    Sends a notice to the specified user. Like a /msg, but usually makes a sound.
    /whois nickname
    Shows information about the specified user. This action is not visible to the specified user.
    /whowas nickname
    Shows information about a user who has quit.
    /dns nickname
    Attempts to resolve the IP address of the specified user. Doesn't work on all networks, doesn't work all the time.
    /ping nickname
    Pings the specified user. This action is visible to the specified user.
    Nick Management (NickServ)

    /ns register password [email]
    Registers your current nick with NickServ with the chosen password and binds it to an e-mail address (optional).
    /ns identify password
    Identifies your nick to NickServ using the password you set. If you have a nick that's been registered, and you don't identify or change it, NickServ will forcibly change it after a short time, usually a minute or two.
    /ns recover nickname password
    Kills (forcibly disconnects) someone who has your registered nick.
    /ns ghost nickname password
    Terminates a "ghost" IRC session that's using your nickname.
    /ns set password yournewpassword
    Changes your password.
    Under no circumstances should you change your nick to the letter O followed by 8 digits, such as O69385624. Doing so will automatically G-line (network-wide ban) you for 24 hours on some networks.
    Channel modes

    ##The Basics

    - `/join #channel`
    - Joins the specified channel.
    - `/part #channel`
    - Leaves the specified channel.
    - `/quit [message]`
    - Disconnects from current server with optional leaving message.
    - `/server hostname`
    - Connects to the specified server.
    - `/list`
    - Lists all channels on the current network.
    - `/links`
    - Lists all servers on the current network. May be disabled "for security reasons".
    - `/nick nickname`
    - Changes your nick.
    - `/names #channel`
    - Shows the nicks of all users on #channel.
    - `/msg nickname message`
    - Sends a private message to a user.
    - `/query nickname message`
    - Sends a private message to a user and opens a private chat window.
    - `/me action`
    - Prints "yourname action"
    - `/notice nickname message`
    - Sends a notice to the specified user. Like a /msg, but usually makes a sound.
    - `/whois nickname`
    - Shows information about the specified user. This action is not visible to the specified user.
    - `/whowas nickname`
    - Shows information about a user who has quit.
    - `/dns nickname`
    - Attempts to resolve the IP address of the specified user. Doesn't work on all networks, doesn't work all the time.
    - `/ping nickname`
    - Pings the specified user. This action is visible to the specified user.

    ##Nick Management (NickServ)

    nickserv varies from server to server. on some networks `/ns [command]` is sufficant on others you must `/msg NickServ [co

    - `/ns register password [email]`
    - Registers your current nick with NickServ with the chosen password and binds it to an e-mail address (optional).
    - `/ns identify password`
    - Identifies your nick to NickServ using the password you set. If you have a nick that's been registered, and you don't i
    - `/ns recover nickname password`
    - Kills (forcibly disconnects) someone who has your registered nick.
    - `/ns ghost nickname password`
    - Terminates a "ghost" IRC session that's using your nickname.
    - `/ns set password yournewpassword`
    - Changes your password. **NOTE:** Under no circumstances should you change your nick to the letter O followed by 8 digit

    ##Channel modes

    +n
    Disallows external messages.
  17. xero harrison created this gist Apr 7, 2015.
    208 changes: 208 additions & 0 deletions irc.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,208 @@
    ##IRC Reference

    Not intended as a guide for newbies, more like a _"cheat sheet"_ for the somewhat experienced IRC user, especially one who wields some power over a channel. Some parts of it may be specific to UnrealIRCd, or mIRC. If you have any questions, comments, complaints, or suggestions, e-mail zach[@]emptv[dot]com. Results may vary, do not use as a flotation device.
    The Basics

    /join #channel
    Joins the specified channel.
    /part #channel
    Leaves the specified channel.
    /quit [message]
    Disconnects from current server with optional leaving message.
    /server hostname
    Connects to the specified server.
    /list
    Lists all channels on the current network.
    /links
    Lists all servers on the current network. May be disabled "for security reasons".
    /nick nickname
    Changes your nick.
    /names #channel
    Shows the nicks of all users on #channel.
    /msg nickname message
    Sends a private message to a user.
    /query nickname message
    Sends a private message to a user and opens a private chat window.
    /me action
    Prints "yourname action"
    /notice nickname message
    Sends a notice to the specified user. Like a /msg, but usually makes a sound.
    /whois nickname
    Shows information about the specified user. This action is not visible to the specified user.
    /whowas nickname
    Shows information about a user who has quit.
    /dns nickname
    Attempts to resolve the IP address of the specified user. Doesn't work on all networks, doesn't work all the time.
    /ping nickname
    Pings the specified user. This action is visible to the specified user.
    Nick Management (NickServ)

    /ns register password [email]
    Registers your current nick with NickServ with the chosen password and binds it to an e-mail address (optional).
    /ns identify password
    Identifies your nick to NickServ using the password you set. If you have a nick that's been registered, and you don't identify or change it, NickServ will forcibly change it after a short time, usually a minute or two.
    /ns recover nickname password
    Kills (forcibly disconnects) someone who has your registered nick.
    /ns ghost nickname password
    Terminates a "ghost" IRC session that's using your nickname.
    /ns set password yournewpassword
    Changes your password.
    Under no circumstances should you change your nick to the letter O followed by 8 digits, such as O69385624. Doing so will automatically G-line (network-wide ban) you for 24 hours on some networks.
    Channel modes

    +n
    Disallows external messages.
    +t
    Only op/hops can set the topic.
    +p
    Sets the channel as invisible in /list.
    +s
    Sets the channel as invisible in /list and /whois.
    +i
    Sets the channel as closed unless the person was invited.
    +k pass
    Sets a password for the channel which users must enter to join.
    +l number
    Sets a limit on the number of users who are allowed in the channel at the same time.
    +m
    Prevents users who are not opped/hopped/voiced from talking.
    +R
    Sets the channel so only registered nicks are allowed in.
    +M
    Sets the channel so only registered nicks are allowed to talk.
    +S
    Strips formatting from messages, rendering them as plaintext.
    +c
    Blocks messages containing color codes.
    +i
    A user must be invited to join the channel.
    +N
    No nick changes permitted in the channel.
    /mode #channel +/-attribute [data]

    ##ChanServ commands

    All ChanServ commands begin with /cs or /chanserv or /msg ChanServ
    Depending on your client, /cs or /chanserv may not work.
    /cs identify #channel password
    Identifies you as the channel's founder and gives you founder-level privileges.
    /cs set #channel mlock modes
    Locks the channel's modes. Just + unlocks all.
    /cs set #channel secureops on|off
    Keeps everyone except aops, sops, and the founder from becoming ops.
    /cs set #channel keeptopic on|off
    Maintains the topic even if everyone leaves.
    /cs set #channel enforce on|off
    Restores op/halfop/voice if a person with op/halfop/voice gets de-opped/halfopped/voiced.
    /cs set #channel leaveops on|off
    Whether or not to allow the first person who join the channel to get ops.
    /cs register #channel password description
    Registers the current channel to you with ChanServ and sets its password and description.
    /cs drop #channel [dropcode]
    Un-registers the current channel to you with ChanServ.
    /cs set #channel founder nickname
    Sets the current channel's founder.
    /cs set #channel password newpass
    Changes the current channel's password to newpass.
    /cs set #channel desc description
    Changes the current channel's description.
    /cs set #channel url address
    Associates a URL with the channel.
    /cs set #channel email address
    Associates an email address with the channel.
    Other stuff

    ##Kicking people
    /kick #channel nickname [reason]
    Setting people's modes (for current channel only)
    /mode nickname +/-attributes [data]

    ##User modes

    +q
    User is owner of the current channel (prefix ~ on UnrealIRCd, usually @ elsewhere)
    +a
    User is an admin (SOP) on the current channel (prefix & on UnrealIRCd, usually @ elsewhere).
    +o
    User is an operator (AOP) on the current channel (prefix @).
    +h
    User is a half-op on the current channel (prefix %).
    +v
    User has voice on the current channel (prefix +).
    Banning people
    /mode #channel +b hosts
    Hosts take the following form: nickname!userid@hostname
    Use /whois, /whowas or /who to find the information necessary for a ban.
    * is a wildcard and can replace nickname, userid, parts of nickname or userid, or hostname or segments of hostname.

    ##Examples:
    joe!*@*
    Will prevent anyone with the nick joe from joining.
    *myg0t*!*
    Will prevent anyone whose nick contains myg0t from joining.
    mark!*elc@*
    Will prevent anyone with the nick mark and the userid elc from joining.
    *!*@c-123-24-76-213.ga.isp.net
    Will prevent anyone with the host c-123-24-76-213.ga.isp.net from joining.
    *!*@*
    Bans everyone. Don't do that.

    ##Access lists

    /cs access #channel add nickname level
    Adds nickname to the channel's access list at the specified level.
    /cs access channel del nickname
    Removes nickname from the channel's access list.
    /cs access #channel list
    Displays the channel's access list.
    /cs access #channel count
    Displays how many entries are in the channel's access list.
    Access levels

    These may vary from network to network. For example, some networks do not go by tens and use 3, 4, 5, 10, etc.
    Founder
    Full access to ChanServ functions, automatic opping upon entering channel.
    100+
    Makes the person an SOP, automatic opping upon entering channel.
    50
    Makes the parson an AOP, automatic opping upon entering channel.
    40
    Automatic half-opping.
    30
    Automatic voicing.
    0
    No special privileges.
    -1
    May not be opped.
    -100
    May not join the channel.
    Any nick not on the access list has an access level of 0.

    ##AOPs and SOPs

    AOPs
    Are automatically ops and can give themselves ops.
    Can give/take op/halfop/voice to/from other channel members.
    Can unban themselves.
    Receive memos sent to the whole channel.
    Can invite themselves to the channel.
    SOPs
    Can do everything AOPs can.
    Can give and take AOP privileges.
    Receive memos sent to the channel's SOPs.
    Can add (but not remove) AKICKs.

    Viewing AOP and SOP lists
    /cs aop #channel list
    /cs sop #channel list

    ##AKICKs

    People on the AKICK list are automatically kicked and banned when they enter the channel. Bans made as a result of AKICK must be removed manually.
    /cs akick #channel add host [reason]
    Adds host to #channel's AKICK list [for reason].
    /cs akick #channel del host
    Removes host from the AKICK list.
    /cs akick #channel list
    /cs akick #channel view
    Displays the AKICK list.