Difference between revisions of "Irc setup"

From The Powder Toy
Jump to: navigation, search
m (Moved other commands section into bot commands)
m (Reverted edits by JohnLolFun (talk) to last revision by jacob1)
 
(19 intermediate revisions by 10 users not shown)
Line 1: Line 1:
This guide will show you how to set up an Internet Relay Chat Client (IRC Client).
+
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. It's a very powerful protocol that is extensible and can be used in a variety of ways.
 
  
For the purposes of this guide, though, we'll focus on joining The Powder Toy's primary channel.
+
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 <ins>'''#powder on irc.freenode.net'''</ins> and <ins>'''#powder-social for socializing and off topic banter.'''</ins>.
+
For those of you who know how to use an IRC client, it is <ins>'''#powder'''</ins> on <ins>'''irc.libera.chat'''</ins>.
  
If you can't be bothered setting up an IRC client, or are on a computer where you can't install or download a program, go here: [http://webchat.freenode.net/?channels=#powder,#powder-social Freenode Webchat]
+
If you can't be bothered setting up an IRC client, there is a web client available here: [https://web.libera.chat/#powder #powder on libera.chat]
  
 
Read this page to learn about IRC safety: [http://www.ircbeginner.com/ircinfo/irc-safety.html Internet Relay Chat Safety]
 
Read this page to learn about IRC safety: [http://www.ircbeginner.com/ircinfo/irc-safety.html Internet Relay Chat Safety]
 
This should be common knowledge, but read it anyway. Don't accept any files over DCC (IRC's file sharing protocol) from someone you don't know.
 
  
 
==  Setup  ==
 
==  Setup  ==
For the purposes of this guide, we will be using IceChat. There are other IRC clients that are suitable for other purposes, for example, mIRC has powerful scripting support (shareware), XChat employs a minimal interface, and irssi and BitchX are text-only (CLI), extensible, and have powerful scripting support. Hexchat is also a good irc client, and is recommended over IceChat, especially if you don't like the look of IceChat.
+
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 IRC clients, with the exception of irssi and BitchX will be easy to use for most users will be similar to IceChat, so the instructions provided below will be of help to users of any client.''
+
''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.''
  
 
'''1.'''
 
'''1.'''
Line 21: Line 18:
 
! Program || Homepage || Platforms|| Cost
 
! Program || Homepage || Platforms|| Cost
 
|-
 
|-
| IceChat || http://www.icechat.net/site/ || Windows || Free
+
| HexChat || https://hexchat.org/index.html || Windows - macOS - Linux || Free  
|-
 
| mIRC || http://www.mirc.com/ || Windows || 30Day Trial - 20.00 USD
 
|-
 
| HexChat || http://hexchat.org/index.html || Windows - *NIX || Free
 
 
|-
 
|-
| XChat || http://xchat.org/ || *NIX || Free
+
| IRCCloud || https://irccloud.com/ || All platforms (web app) - Android - iOS || Free
 
|-
 
|-
| irssi || http://irssi.org/ || Windows - Mac - *NIX || Free  
+
| Revolution: || https://play.google.com/store/apps/details?id=io.mrarm.irc || Android || Free
 
|-
 
|-
| BitchX || http://www.bitchx.com/ || Windows - *NIX || Free
+
| Colloquy || http://colloquy.info/ || macOS || Free
|-
 
| Colloquy || http://colloquy.info/ || Mac || Free
 
|-
 
| KVIrc: || http://www.kvirc.net/ || Windows - Mac - *NIX || Free  
 
 
|}
 
|}
 
''Linux clients are usually available for you to install via your package manager.''
 
''Linux clients are usually available for you to install via your package manager.''
  
'''2.''' Run the installer and follow the prompts. ''irssi does not require installation.''
+
'''2.''' Run the installer and follow the prompts. ''irssi is a command line client that does not require installation.''
  
'''3.''' Start your client.
+
'''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 <code>/nick [yournewnick]</code> and press enter. Most commands on IRC are executed commencing with the / key. There is a brief list of commands below.
+
'''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 <code>/nick [yournewnick]</code> and press enter. Most commands on IRC are prefixed with a "/" (forward slash). There is a brief list of commands below.
  
'''5.''' When your IRC client prompts you for a server, enter "irc.freenode.net". If it asks for a port, type in 6667 or enter 6697 for SSL. If it asks for both in one textbox, type in "irc.freenode.net:6667" or "irc.freenode.net: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".
+
'''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.''' Type in <code>/connect irc.freenode.net</code> into the text box and press enter. You might need to enter <code> /connect irc.freenode.net:6667</code> or <code>/connect irc.freenode.net:6697</code> for SSL. Your IRC client might have a GUI shortcut for this server. If so, you can use that.
+
'''6.''' If you chose another, more textual client, type in <code>/connect irc.libera.chat</code> into the text box and press enter. You might need to enter  
 +
<code> /connect irc.libera.chat:6667</code>  
 +
or  
 +
<code>/connect irc.libera.chat:+6697</code> for SSL. Your IRC client might also just have another GUI shortcut for this server. If so, you can use that.
  
http://i1220.photobucket.com/albums/dd454/jjc-ipod/TPT%20wiki/Connect.png?800x431
+
[[File:Connect.png|400px|thumb|right|This is what it looks like when you connected to a server]]
  
You have now connected to a server. In this server, there are many channels (chat rooms) you can join. The Powder Toy's official channel is #powder (all channels are prefixed by a #). To join #powder-social or #powder, simply type in <code>/join</code> #powder" or <code>/join #powder-social</code> 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.
+
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 <code>/join #powder</code> or <code>/join #powder-dev</code> 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.
  
 
==  IRC Netiquette  ==
 
==  IRC Netiquette  ==
'''1.''' It is common courtesy to address a message to a specific user (thats not in a private message (also known as a query - more on that later)) with their nick, 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.''
+
'''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).
 
'''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).
  
 
==  Our Channels  ==
 
==  Our Channels  ==
 +
This is a list of official #powder channels: 
 +
 
{| class="wikitable"
 
{| class="wikitable"
 
! Channel || Description
 
! Channel || Description
Line 64: Line 58:
 
|#powder || The main channel
 
|#powder || The main channel
 
|-
 
|-
|#powder-social || Off topic banter
+
|#powder-dev || Development discussion, github activity notifications
 
|-
 
|-
|#powder-dev || Development discussion (rarely used). Bug reports should go in #powder.
+
|#powder-bots || Bot testing channel
 
|-
 
|-
|##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-forum || Forum posts are reported here as they happen
 
|-
 
|-
 
|#powder-saves || New and updated saves are reported.
 
|#powder-saves || New and updated saves are reported.
|-
 
|#powder-unregistered || <del>This is where you'll find yourself if you aren't registered with Freenode or using a webchat client.</del> Not in use at the moment
 
 
|}
 
|}
  
==  Commands  ==
+
== Services ==
[http://www.ircbeginner.com/ircinfo/ircc-commands.html This] has some more basic commands along with descriptions and examples.
+
'''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.'''
 
 
=== Services ===
 
'''**Please Note that the services available may vary by name and are not available for each IRC Network'''
 
 
{| class="wikitable"
 
{| class="wikitable"
! Service || Description
+
! Service || Shortcut || Description
| ChanServ || ChanServ gives normal users the ability to maintain a channel on IRC
 
 
|-
 
|-
| NickServ || NickServ gives users the ability to register and manage a nick on IRC
+
| ChanServ || <code>/cs</code> || ChanServ manages channel access rights and prevents channels from being removed when no other users have joined
 
|-
 
|-
| MemoServ || MemoServ allows users to send memos to registered users.
+
| NickServ || <code>/ns</code> || NickServ gives users the ability to register and manage their accounts and grouped nicks
 
|-
 
|-
 +
| MemoServ || <code>/ms</code> || MemoServ allows to send memos to other registered users that are shown to them when they connect next time.
 
|}
 
|}
 +
 +
==  Commands  ==
 +
[http://www.ircbeginner.com/ircinfo/ircc-commands.html ] This has some more basic commands along with descriptions and examples.
 +
 
=== /query ===
 
=== /query ===
 
<code>/query [nick]</code>  
 
<code>/query [nick]</code>  
Starts a private conversation with the nick specified. This takes place outside of any channel you may be in.
+
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  ===
 
===  /msg  ===
 
<code> /msg [nick] [message]</code/> Sends a Private Message (PM) to the nick specified.
 
<code> /msg [nick] [message]</code/> Sends a Private Message (PM) to the nick specified.
<code> /msg nickserv help</code> for help with your nick and nick registration (more on that later)
+
<code> /msg NickServ help</code> (<code>/ns help</code>) for help with your nick and nick registration (more on that later)
<code> /msg chanserv help</code> for help with the channel you are currently in and commands to perform on it
+
<code> /msg ChanServ help</code> (<code>/cs help</code>) for help with the channel you are currently in and commands to perform on it
<code> /msg memoserv help </code> for help on sending messages to users who are not online
+
<code> /msg MemoServ help </code> (<code>/ms help</code>) for help on sending messages to users who are not online
  
 
===  /away  ===
 
===  /away  ===
<code>/away [reason]</code> to leave temporarily.  
+
<code>/away [reason]</code> 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.
Warning: If your client is set to send a message the channel on away, you will be kicked by the IRC bot when you go away. To disable it, check your client's settings.
 
  
 
===  /join  ===
 
===  /join  ===
<code>/join [channel]</code> to join a channel. Remember, all channels are prefixed with a #. If you join a channel that does not exist (e.g., <code>/join #rewriewrnoefwfwef</code>), the server (irc.freenode.net) 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).
+
<code>/join [channel]</code> to join a channel. Remember, all channels are prefixed with a #. If you join a channel that does not exist (e.g., <code>/join #rewriewrnoefwfwef</code>), 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  ===
 
===  /part  ===
''/part ([#channel]) [message]'' to leave a channel.
+
<code>/part ([#channel]) [message]</code> to leave a channel.
 
+
[mesage] is optional.
 
===  /quit  ===
 
===  /quit  ===
''/quit [message]'' to disconnect from the server. [message] is optional. By default, it will be "Quit.".
+
<code>/quit [message]</code> to disconnect from the server. [message] is optional. By default, it will be "Quit.".
  
 
===  /nick  ===
 
===  /nick  ===
''/nick [newnick]'' to change your nick.
+
<code>/nick [newnick]</code> to change your nick.
  
 
===  /names  ===
 
===  /names  ===
''/names'' for a list of the people on the channel.
+
<code>/names</code> for a list of the people on the channel.
  
 
===  /me  ===
 
===  /me  ===
''/me [message]'' or ''/action [message]'' to say something in third person. For example, the message "Hello, World" would show up as:  
+
<code>/me [message]</code> or <code>/action [message]</code>
 +
to say something in third person. For example, the message "Hello, World" would show up as:  
 
<code>* raj-k Hello, World!</code>
 
<code>* raj-k Hello, World!</code>
  
Line 130: Line 127:
  
 
===  /cycle  ===
 
===  /cycle  ===
<code>/cycle [channel(s)]</code> <code>/part</code>'s you then <code>/join</code>'s you to the chosen channels.  
+
<code>/cycle [channel(s)]</code> <code>/part</code>'s you then <code>/join</code>'s you to the chosen channels.
 +
Commands may differ in different clients; where for the Icechat client, <code>/rejoin</code> executes the same command as <code>/cycle</code> does in other clients.
  
 
===  /connect  ===
 
===  /connect  ===
Line 136: Line 134:
  
 
===  /server  ===
 
===  /server  ===
<code>/server [server]:[port]</code> to connect to a server. This will disconnect all previous servers regardless of IRC client.
+
<code>/server [server]:[port]</code> to connect to a server. This should disconnect you from all other servers regardless of your IRC client.
  
 
==  Operator commands  ==
 
==  Operator commands  ==
Line 142: Line 140:
  
 
===  /kick  ===
 
===  /kick  ===
<code>/k [nick]</code> to kick a user (takes them off the channel). The user can still rejoin, however..
+
<code>/kick [nick]</code> to kick a user (takes them off the channel). The user can still rejoin, however..
  
 
===  /ban  ===
 
===  /ban  ===
<code>/b [nick]</code> 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.
+
<code>/ban [nick]</code> 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  ===
 
===  /kickban  ===
<code>/kb [nick]</code> to kick and ban a user.
+
<code>/kickban [nick]</code> to kick and ban a user. Combines a Kick and a Ban.
  
 
===  /topic  ===
 
===  /topic  ===
 
<code>/topic [topic]</code> to change the topic.
 
<code>/topic [topic]</code> to change the topic.
  
== Other  ==
+
[[File:Query.png|300px|thumb|right|This is a query tab with PowderBot]]
===  Nick Registration  ===
+
 
Note: a Common shortcut to /msg NickServ is /ns, ex. /ns help register
+
== Queries/Private Messages/Dialogs ==
 +
 
 +
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 <code>/query [user nick]</code>. On HexChat, you can also right-click a nick from the list on the right side and select "Open Dialog Window".
  
On server(or channel) type  
+
==  Account Registration  ==
 +
Switch to the server tab (most likely named "Libera.Chat") and type the following:
 
<code>/msg NickServ register [password] [e-mail]</code>
 
<code>/msg NickServ register [password] [e-mail]</code>
Remember to before registering change your nick(using /nick command) to nick that you want to register! Either another nick will be registered.
+
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, change your nick(using /nick command) to nick that you registered and type:
+
=== Logging in ===
<code>/msg NickServ identify [password_that_you_registered]</code>
+
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):
 +
<code>/msg NickServ identify [nick] [password]</code>
 +
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.
  
Or you can login using a nick that is not registered to your account by using:
+
=== Grouping nicks ===
<code>/msg NickServ identify [nick_that_you_registered] [password_that_you_registered]</code>
+
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.
 +
<code>/msg NickServ group</code>
  
You can also group other nicks to your account by using /nick to get to the nick you want to group, then typing:
+
=== Cloaks ===
<code>/msg NickServ group </code>
+
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.
 
 
'''Once you registered your nick,''' you may apply for a cloak by asking in "#freenode". A cloak is a host that is assigned to you and looks like this "unaffiliated/username". You can also join groups that are registered and get one of their cloaks, ex: botters (#botters). A group cloak is the same as a standard "unaffiliated" cloak.
 
  
 
==  Bot commands  ==
 
==  Bot commands  ==
StewieGriffin 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 his commands can be accessed in a query with him.
+
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.
 
These are some of the basic commands for the bot. If you need to use a lot of them, please use a query.
  
=== $seen <nick>  ===
+
=== $seen <nick>  ===
 
The bot will find the last message made by <nick> and the time it was sent.
 
The bot will find the last message made by <nick> and the time it was sent.
  
=== $profile <user>  ===
+
=== $profile <user>  ===
Returns some basic information from a users profile.
+
Returns some basic information from a TPT user's profile.
  
 
=== $commands ===
 
=== $commands ===
Lists all commands that StewieGriffin can perform. Please use in a private message to avoid flooding.
+
Lists all commands that PowderBot can perform. Please use this in a query/private message to avoid flooding the channel.
  
===  URLS ===
+
===  URLs ===
 
Powder Toy save URLs will automatically display a description. For example, https://powdertoy.co.uk/Browse/View.html?ID=2198 will be followed by:
 
Powder Toy save URLs will automatically display a description. For example, https://powdertoy.co.uk/Browse/View.html?ID=2198 will be followed by:
  
Line 193: Line 196:
  
 
===  Other Commands  ===
 
===  Other Commands  ===
If the command is marked with an asterix (*) then please use a query for it, as it can be quite verbose.
+
If the command is marked with an asterisk (*) then please use a query/private message for it, as it can be quite verbose.
  
====  $list* = ===
+
====  $list* ====
 
(list [<plugin>]) -- Lists the commands available in the given plugin. If no plugin is given, lists the public plugins available.
 
(list [<plugin>]) -- Lists the commands available in the given plugin. If no plugin is given, lists the public plugins available.
 
====  $google  ====
 
(google <search>) -- Searches google.com for the given string. As many results as can fit are included.
 
  
 
====  $calc  ====
 
====  $calc  ====
Line 208: Line 208:
  
 
==  IRC Help  ==
 
==  IRC Help  ==
If you ever need help dealing specifically with the Freenode server and channels, and an operator cannot help you, just join '''#freenode''' and ask for a staff member. They can help you.
+
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.
 
 
'''<ins>Queries</ins>'''
 
 
 
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 <code>/query [user nick]</code>.
 
 
 
http://img9.imageshack.us/img9/6703/1110f.jpg
 
 
 
See, the query is open with me and dikzak (a.k.a. lieuwe and doxin)
 
  
 
==  Registering and maintaining a channel  ==
 
==  Registering and maintaining a channel  ==
'''You must be registered with NickServ to register a channel.'''
+
'''You must be registered with NickServ to register a channel with ChanServ.'''
  
To registered a channel, first join the channel you want using /join. '''Remember, all channels must have a ## not just a # at the beginning of the name (except under certain circumstances which I won't go into here...).''' The letters/numbers after the ## can be anything you want. However, the channel you want may already be registered.
+
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.
  
 
<ins>For now, lets say you want to register ##PT-cctv.</ins>
 
<ins>For now, lets say you want to register ##PT-cctv.</ins>
Line 239: Line 231:
 
<code>/msg ChanServ set ##PT-cctv guard on</code>
 
<code>/msg ChanServ set ##PT-cctv guard on</code>
 
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.
 
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.
 
 
====='''<ins>Bots and Scripts</ins>''' =====
 
======'''<ins>Bots</ins>''' ======
 
An IRC Bot can be a script or a whole program that connects to IRC.
 
It can range in functionality and interface, as there are many different types of IRC bots,
 
an example of an IRC bot would be [https://github.com/ProgVal/Limnoria Limnoria] a clone of Supybot.
 
Or even a home built IRC Bot like [https://github.com/cracker64/Crackbot Crackbot] which cracker64 built himself in Lua.
 
Many users on TPT have their own bots, and can help you like Simon (Ximon, owner of StewieGriffin), cracker64, jacksonmj and many others.
 
If ever you have a further question on IRC bots feel free to pop into ##powder-bots for some help.
 
======'''<ins>Scripts</ins>''' ======
 
To be added
 
===='''<ins>irssi</ins>'''====
 
to be added
 
  
 
==  Operators  ==
 
==  Operators  ==
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 are not set to truly have permission to give themselves op. Moderators usually use the bot to ban without gaining actual operator status, but they can use the bot to op themselves when they need.
+
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:
 
This is a list of all the operators on #powder:
  
 +
* boxmein
 
* Catelite
 
* Catelite
 
* cracker64
 
* cracker64
* devast8a (rarely on)
+
* jacob1
* frankbro (rarely on)
+
* jacksonmj
* ief015 (rarely on)
+
* mniip
* jacob1 (away nicks: jacob1[away], jacob1[A])
+
* Mrprocom
* jacksonmj (away nick: jacksonmj-away)
+
* Skylark
* Lockheedmartin
+
* simtr (Simon)
* savask
+
* Switzerland (Lockheedmartin)
* Skylark (rarely on)
 
* Triclops256 (away nick: Triclops256|away)
 
* Xenocide (rarely on, away nick: [NotHere])
 
* Ximon (away nick: Ximon[A])
 
  
>A note to editors:
+
'''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.
+
* Pictures are appreciated when adding new sections. But don't make them too large. You should only include the relevant sections.'''

Latest revision as of 11:33, 14 March 2022

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 #powder on irc.libera.chat.

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

Setup

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.

1.

Program Homepage Platforms Cost
HexChat https://hexchat.org/index.html Windows - macOS - Linux Free
IRCCloud https://irccloud.com/ All platforms (web app) - Android - iOS Free
Revolution: https://play.google.com/store/apps/details?id=io.mrarm.irc Android Free
Colloquy http://colloquy.info/ macOS 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:6667 or /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.

This is what it looks like when you connected to a server

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.

IRC Netiquette

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).

Our Channels

This is a list of official #powder channels:

Channel Description
#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.

Services

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.

Service Shortcut Description
ChanServ /cs ChanServ manages channel access rights and prevents channels from being removed when no other users have joined
NickServ /ns NickServ gives users the ability to register and manage their accounts and grouped nicks
MemoServ /ms MemoServ allows to send memos to other registered users that are shown to them when they connect next time.

Commands

[1] This has some more basic commands along with descriptions and examples.

/query

/query [nick] 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

/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

/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

/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

/part ([#channel]) [message] to leave a channel. [mesage] is optional.

/quit

/quit [message] to disconnect from the server. [message] is optional. By default, it will be "Quit.".

/nick

/nick [newnick] to change your nick.

/names

/names for a list of the people on the channel.

/me

/me [message] or /action [message] 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! or * raj-k is drinking the blood of people who change their nick constantly.

/cycle

/cycle [channel(s)] /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

/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 [server]:[port] to connect to a server. This should disconnect you from all other servers regardless of your IRC client.

Operator commands

(only usable if you are an operator)

/kick

/kick [nick] to kick a user (takes them off the channel). The user can still rejoin, however..

/ban

/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

/kickban [nick] to kick and ban a user. Combines a Kick and a Ban.

/topic

/topic [topic] to change the topic.

This is a query tab with PowderBot

Queries/Private Messages/Dialogs

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".

Account Registration

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.

Logging in

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.

Grouping nicks

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

Cloaks

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.

Bot commands

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.

$seen <nick>

The bot will find the last message made by <nick> and the time it was sent.

$profile <user>

Returns some basic information from a TPT user's profile.

$commands

Lists all commands that PowderBot can perform. Please use this in a query/private message to avoid flooding the channel.

URLs

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

Other Commands

If the command is marked with an asterisk (*) then please use a query/private message for it, as it can be quite verbose.

$list*

(list [<plugin>]) -- Lists the commands available in the given plugin. If no plugin is given, lists the public plugins available.

$calc

(calc <math expression>) -- Returns the value of the evaluated <math expression>. Uses Python syntax

$wolf

(wolf <query>) -- Sends the query to Wolfram|Alpha. Also doubles as a good calculator.

IRC Help

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.

For now, lets say you want to register ##PT-cctv. 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.

Operators

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:

  • boxmein
  • Catelite
  • cracker64
  • jacob1
  • jacksonmj
  • mniip
  • Mrprocom
  • Skylark
  • 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.