Skip to content

Instantly share code, notes, and snippets.

@hello-party
Last active December 3, 2018 03:28
Show Gist options
  • Save hello-party/f2dd6ab7a2e0fda4755736257fbbdbd3 to your computer and use it in GitHub Desktop.
Save hello-party/f2dd6ab7a2e0fda4755736257fbbdbd3 to your computer and use it in GitHub Desktop.

This was originally at https://botbot.me/how-to-setup-irc-channel -- but the site seems to have disappeared.


Note: This guide is geared towards the Freenode IRC network, but with a few small tweaks should work against most public IRC networks.

Step 0 ‐ Are you Eligible?

Freenode is primarily a network for people involved in open source software. Read Freenode's guidelines to determine whether you are on topic before getting started. Although we are a private company, we work on open source code, and that is sufficient to claim eligibility.

Step 1 ‐ Register Yourself on Freenode

Open your IRC client (see our recommended clients), and setup a connection to Freenode. If there isn't already a preset for it, use the following settings:

Server: chat.freenode.net
Port: 7000
SSL: enabled
Choose a preferred nickname or nick and enter your desired password. Freenode has good docs on registering a nick, but it boils down to this command:

/msg NickServ REGISTER <password> <youremail@example.com>

Replace with the password you entered in your client and youremail@example.com with your email address. In case the nick you want is registered, you can change your nick using this command:

/nick <newnick>

If it is available, register it and update your IRC client settings.

Once you've registered a nick and confirmed your email address, login to IRC. The easiest way to do this is to just restart your IRC client and make sure it logs in correctly. Alternatively, you can run this command:

/msg NickServ IDENTIFY <nick> <password>

After logging in the first time, use this command to force anyone using your nick to login, preventing potential abuse:

/msg NickServ SET ENFORCE ON

Step 2 ‐ Register a Channel

Unfortunately group registration is currently closed, but don't let that stop you from registering and using a channel. Pick a channel name based on the naming guidelines and check if it is already in use via /msg ChanServ INFO #channelname. Once you've found an available channel, join it and register it:

/join #channelname
/msg ChanServ REGISTER #channelname

Now you want to put some safeguards in place to make sure you don't lose access to your channel in the future. First, tell ChanServ to guard your channel. This ensures that your channel is never completely empty (at which point, all it's settings are lost).

/msg ChanServ SET #channelname GUARD ON

Next, lock down your channel via the following flags:

p (paranoid): don't show channel membership and don't allow people to request invites r (block unidentified): only registered users can join s (secret): don't show the channel in the channel lists i (invite-only): only invited users can join /msg Chanserv SET #channelname MLOCK +prsi

Step 3 ‐ Invite Users

For each user, you want to allow in your room, add them to the invitation list (make sure they've registered their nick first):

/mode #channelname +I $a:<nickofperson>

Also considering giving somebody else admin privileges or "ops" in case something is needed when you're not around:

/msg ChanServ flags #channelname <nickofperson> +voAti

v (voice): Enables use of the voice/devoice commands, allowing the user to send messages in a moderated channel. o (op): Enables use of the op/deop commands. A (access list): Enables viewing of channel access lists. t (topic): Enables use of the topic and topicappend commands. i (invite): Enables use of the invite and getkey commands.

Done!

Congratulations, you now have your own private chatroom! There's a lot more functionality than what's explained here though. See the references below for more information and also consider donating to Freenode's parent organization, the PDPC to help keep the service running.


References

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment