This guide will show you how to use IRC (Internet Relay Chat) and set up an IRC Client.
IRC clients allow you to access IRC, which is a protocol that allows you to connect to servers which host multiple channels, which are like chat rooms.
For those of you who know how to use an IRC client, it is on .
If you can't be bothered setting up an IRC client, there is a web client available here: #powder on libera.chat
Read this page to learn about IRC safety: Internet Relay Chat Safety
- 1 Setup
- 2 IRC Netiquette
- 3 Our Channels
- 4 Services
- 5 Commands
- 6 Operator commands
- 7 Queries/Private Messages/Dialogs
- 8 Account Registration
- 9 Bot commands
- 10 IRC Help
- 11 Registering and maintaining a channel
- 12 Operators
For the purposes of this guide, we will be using HexChat. There are other IRC clients that are suitable for other purposes, for example, mIRC has its own scripting language (shareware), irssi and weechat are text-only (CLI), and clients like KiwiIRC run in your browser.
Most gui IRC clients will be easy to use for most users and should be similar to HexChat, so the instructions provided below will provide help regardless of your client choice.
|HexChat||https://hexchat.org/index.html||Windows - macOS - Linux||Free|
|IRCCloud||https://irccloud.com/||All platforms (web app) - Android - iOS||Free|
Linux clients are usually available for you to install via your package manager.
2. Run the installer and follow the prompts. irssi is a command line client that does not require installation.
3. Start your client. On HexChat, a small window should pop up where you can set up your nickname(s) and choose a server to connect to.
4. Enter a nick (nickname) to use. This will be your "username", though others may use it too unless you register it (registering will be discussed later). If you wish to change your nick later, just type in
/nick [yournewnick] and press enter. Most commands on IRC are prefixed with a "/" (forward slash). There is a brief list of commands below.
5. On HexChat, click "Add" and name the new entry "Libera.Chat", then click Edit. Enter "irc.libera.chat/6667" or 6697 for SSL. On other clients, type in "irc.libera.chat:6667" or "irc.libera.chat:+6697" for SSL. Also, if using SSL, select the option to use SSL, the option may be something similar to "Use SSL on all servers for this network".
6. If you chose another, more textual client, type in
/connect irc.libera.chat into the text box and press enter. You might need to enter
/connect irc.libera.chat:+6697 for SSL. Your IRC client might also just have another GUI shortcut for this server. If so, you can use that.
You have now connected to a server network. This network hosts thousands of channels (chat rooms) you can join. The Powder Toy's official main channel is #powder (all channels are prefixed by one or more #). To join #powder or #powder-dev, simply type in
/join #powder or
/join #powder-dev in the text box and press enter. You may see a list of the users at the right (View > Window > Userlist or similar for some IRC clients). Type in /names if you cannot find the userlist, or simply /n on irssi.
1. It is common courtesy to address a message to a specific user (that's not in a private message (also known as a query - more on that later)) with their nick followed by a colon and then the message, because this highlights them (more on highlighting later). For example, raj-k: You are the most awesomest person that ever existed.. You can type the first few letters of a name ("jac") and then press tab to tab complete a name ("jacob1")
2. Try not to spam up the channel with anything - either nick changes, repeated disconnections and connections, or regular spam. If you want to talk to a specific group of friends, create a channel for yourself (see the /join command below, on the Commands subsection).
This is a list of official #powder channels:
|#powder||The main channel|
|#powder-dev||Development discussion, github activity notifications|
|#powder-bots||Bot testing channel|
|#powder-moo||Bot testing and spam channel|
|#powder-subframe||Discussions about subframe and other advanced TPT technology|
|#powder-mc||Minecraft relay channel|
|#powder-forum||Forum posts are reported here as they happen|
|#powder-saves||New and updated saves are reported.|
Please Note that the services available may vary by name and are not available for each IRC Network. The shortcut commands may not be supported by every client.
||ChanServ manages channel access rights and prevents channels from being removed when no other users have joined|
||NickServ gives users the ability to register and manage their accounts and grouped nicks|
||MemoServ allows to send memos to other registered users that are shown to them when they connect next time.|
 This has some more basic commands along with descriptions and examples.
Starts a private conversation with the nick specified. This takes place outside of any channel you may be in, most clients will open a new tab for it.
/msg [nick] [message] Sends a Private Message (PM) to the nick specified.
/msg NickServ help (
/ns help) for help with your nick and nick registration (more on that later)
/msg ChanServ help (
/cs help) for help with the channel you are currently in and commands to perform on it
/msg MemoServ help (
/ms help) for help on sending messages to users who are not online
/away [reason] to mark yourself as away temporarily. This way, if anyone queries you or looks at you in the nick list, they can tell that you aren't there. Use /back to remove this status.
/join [channel] to join a channel. Remember, all channels are prefixed with a #. If you join a channel that does not exist (e.g.,
/join #rewriewrnoefwfwef), the server (irc.libera.chat) will create the channel for you and you will be named the operator of that channel by default. You can register channels to preserve your operator position (more on that later).
/part ([#channel]) [message] to leave a channel.
[mesage] is optional.
/quit [message] to disconnect from the server. [message] is optional. By default, it will be "Quit.".
/nick [newnick] to change your nick.
/names for a list of the people on the channel.
/me [message] or
to say something in third person. For example, the message "Hello, World" would show up as:
* raj-k Hello, World!
You can see that doesn't make much sense, so you'd alter the text to make sense in third person, e.g., typing in "/me says Hello, World!". This results in
* raj-k says Hello, World!
* raj-k is drinking the blood of people who change their nick constantly.
/part's you then
/join's you to the chosen channels.
Commands may differ in different clients; where for the Icechat client,
/rejoin executes the same command as
/cycle does in other clients.
/connect [server]:[port] to connect to a server. If your IRC client does not support multiple-server connections, this will disconnect your previous server.
/server [server]:[port] to connect to a server. This should disconnect you from all other servers regardless of your IRC client.
(only usable if you are an operator)
/kick [nick] to kick a user (takes them off the channel). The user can still rejoin, however..
/ban [nick] to ban a user. This bans their hostname too, so changing their nick won't allow them access. However, this does not kick a user off the channel. If a user is not on the channel, they won't be able to join.
/kickban [nick] to kick and ban a user. Combines a Kick and a Ban.
/topic [topic] to change the topic.
A query is basically a private chat with somebody on the channel you are on. This is usually done by double-clicking on a nick, or by writing
/query [user nick]. On HexChat, you can also right-click a nick from the list on the right side and select "Open Dialog Window".
Switch to the server tab (most likely named "Libera.Chat") and type the following:
/msg NickServ register [password] [e-mail]
Remember to switch to the nick you want to name your account before this. You will receive an email from Libera.Chat containing a command you will have to run to verify your registration.
To login to your account after connecting, use this command inside the server tab (please don't use it in a channel tab, accidentally forgetting the command prefix would announce your password to everybody in the channel):
/msg NickServ identify [nick] [password]
You don't need to supply the [nick] argument if you're already using one of your grouped nicks.
Typing this every time however is annoying, so on HexChat you can open the network/server list from the first menu, select Libera.Chat and click on Edit, select "NickServ (/NICKSERV + Password)" and enter your password in the respective field.
Instead of registering every nick you want to own, please use the following command. It will add the nick to the account you are currently logged on to. Of course the nick needs to be unregistered and you will have to switch to it before running the command.
/msg NickServ group
Also, you may apply for a cloak by asking in "#libera". A cloak is a host that is assigned to you and looks like this "unaffiliated/username". If you login to your NickServ account before joining channels, this will hide your ip address from other people. Note: Cloaks do not hide your IP if you connect from webchat, you will need to install a client if you want to hide your IP.
PowderBot is the resident bot in the powder channels, and is there to help us and provide some functionality making our channels and the site easy to use. All of its commands can be accessed in a query with it. These are some of the basic commands for the bot. If you need to use a lot of them, please use a query.
The bot will find the last message made by <nick> and the time it was sent.
Returns some basic information from a TPT user's profile.
Lists all commands that PowderBot can perform. Please use this in a query/private message to avoid flooding the channel.
Powder Toy save URLs will automatically display a description. For example, https://powdertoy.co.uk/Browse/View.html?ID=2198 will be followed by:
Save is "Destroyable city 5 (wth metro)" by "dima-gord"
You can also start a message with something like "~477820", which will also show info on the save. the ~ must be at the start of the message
If the command is marked with an asterisk (*) then please use a query/private message for it, as it can be quite verbose.
(list [<plugin>]) -- Lists the commands available in the given plugin. If no plugin is given, lists the public plugins available.
(calc <math expression>) -- Returns the value of the evaluated <math expression>. Uses Python syntax
(wolf <query>) -- Sends the query to Wolfram|Alpha. Also doubles as a good calculator.
If you ever need help dealing specifically with the Libera.Chat server and channels, and a channel operator cannot help you, just join #libera and ask for a staff member. They can and probably will help you.
Registering and maintaining a channel
You must be registered with NickServ to register a channel with ChanServ.
To register a channel, first join the channel you want using /join. All personal channels must have a ##, not just a # at the beginning of the name (unless you create a channel for an open-source project). The letters/numbers after the ## can be anything you want. However, the channel you want must not be already registered.
Once in the channel, type:
/msg ChanServ register ##PT-cctv
For a user to have flags set on them, they must be registered with NickServ.
For a list of flags, type:
/msg ChanServ help flags
This lists flags that you can add, and how to add them.
If you get stuck at any time, type:
/msg ChanServ help
This lists ChanServ commands.
I also advise that you type:
/msg ChanServ set ##PT-cctv guard on
This makes sure you don't lose the topic and makes sure there is always 1 person in the channel (ChanServ) that makes sure no one can take over your channel.
Channel operators have full control over the channel and can kick, ban, and conduct other administrative activities. Channel Ops on #powder are the moderators/administrators on the website. You can identify an op by looking at their nick on the list of nicks. If their nick is prefixed by a "@" or a "+", they are an operator. The "@" usually signals they are about to, or have done, something requiring operator status. If they have a "+" behind their name, however, it means they are an operator, but do not currently have privileged operator status. Moderators usually use the bot to ban without gaining actual operator status, but they can use the bot to op themselves when they need.
This is a list of all the operators on #powder:
- simtr (Simon)
- Switzerland (Lockheedmartin)
A note to editors:
- Pictures are appreciated when adding new sections. But don't make them too large. You should only include the relevant sections.