Difference between revisions of "Irc setup"

From The Powder Toy
Jump to: navigation, search
(Operators)
m (Reverted edits by JohnLolFun (talk) to last revision by jacob1)
 
(29 intermediate revisions by 11 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:6667'''</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 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 and XChat 2.0 employ a minimal interface, and irssi and BitchX are text-only (CLI), extensible, and have powerful scripting support.  
+
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
 
|-
 
| XChat || http://xchat.org/ || *NIX || Free
 
|-
 
| XChat 2.0 || http://www.silverex.org/news/ || Windows || Free  
 
 
|-
 
|-
| irssi || http://irssi.org/ || Windows - Mac - *NIX || Free  
+
| IRCCloud || https://irccloud.com/ || All platforms (web app) - Android - iOS || Free
 
|-
 
|-
| BitchX || http://www.bitchx.com/ || Windows - *NIX || Free  
+
| Revolution: || https://play.google.com/store/apps/details?id=io.mrarm.irc || Android || Free
 
|-
 
|-
| Colloquy || http://colloquy.info/ || Mac || Free
+
| Colloquy || http://colloquy.info/ || macOS || 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 "/nick [yournewnick]" 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. If it asks for both in one textbox, type in "irc.freenode.net:6667".
+
'''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 "/connect irc.freenode.net" into the text box and press enter. You might need to enter "/connect irc.freenode.net:6667". 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 "/join #powder" or "/join #powder-social" 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).
  
'''3.''' [http://dikzak.dyndns.org/netiquette.html Netiquette page]
+
==  Our Channels  ==
 +
This is a list of official #powder channels:  
  
==  Our Channels  ==
 
 
{| class="wikitable"
 
{| class="wikitable"
 
! Channel || Description
 
! Channel || Description
Line 67: 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. Bug reports should go in #powder.
+
|#powder-bots || Bot testing channel
 
|-
 
|-
|#powder-nl || For our Dutch users.
+
|#powder-moo || Bot testing and spam channel
 
|-
 
|-
|#powder-deutsch || For our German users
+
|#powder-subframe || Discussions about subframe and other advanced TPT technology
 
|-
 
|-
|#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
+
|#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.'''
 +
{| class="wikitable"
 +
! Service || Shortcut || Description
 +
|-
 +
| ChanServ || <code>/cs</code> || ChanServ manages channel access rights and prevents channels from being removed when no other users have joined
 +
|-
 +
| 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  ==
 
==  Commands  ==
[http://www.ircbeginner.com/ircinfo/ircc-commands.html This] has some more basic commands along with descriptions and examples.
+
[http://www.ircbeginner.com/ircinfo/ircc-commands.html ] This has some more basic commands along with descriptions and examples.
 +
 
 +
=== /query ===
 +
<code>/query [nick]</code>
 +
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  ===
"/msg [nick] [message]" Sends a Private Message (PM) to the nick specified.
+
<code> /msg [nick] [message]</code/> Sends a Private Message (PM) to the nick specified.
''/msg nickserv help'' 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)
''/msg chanserv help'' 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
''/msg memoserv help'' 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
 
 
===  /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.
 
  
 
===  /away  ===
 
===  /away  ===
''/away [reason]'' 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.
 
 
 
===  /server  ===
 
''/server [server]:[port]'' to connect to a server. This will disconnect all previous servers regardless of IRC client.
 
  
 
===  /join  ===
 
===  /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.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>
<code>
+
to say something in third person. For example, the message "Hello, World" would show up as:  
<raj-k> Hello, World!
+
<code>* raj-k Hello, World!</code>
</code>
 
 
 
But prefixed by ''/me'' or ''/action'', it would be
 
<code>
 
* raj-k Hello, World!
 
</code>
 
  
 
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
 
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
<code>
+
<code>* raj-k says Hello, World!</code>
* raj-k says Hello, World!
 
</code>
 
 
 
 
or
 
or
<code>
+
<code>* raj-k is drinking the blood of people who change their nick constantly.</code>
* raj-k is drinking the blood of people who change their nick constantly.
 
</code>
 
  
 
===  /cycle  ===
 
===  /cycle  ===
''/cycle [channel(s)]'' /part's you then /join'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.
  
===  /query <nick>  ===
+
===  /connect  ===
Opens a private messaging window between you and <nick>. This takes place outside any channel you may be in.
+
<code>/connect [server]:[port]</code> to connect to a server. If your IRC client does not support multiple-server connections, this will disconnect your previous server.
 +
 
 +
===  /server ===
 +
<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 143: Line 140:
  
 
===  /kick  ===
 
===  /kick  ===
''/k [nick]'' 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  ===
''/b [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.
+
<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  ===
''/kb [nick]'' to kick and ban a user.
+
<code>/kickban [nick]</code> to kick and ban a user. Combines a Kick and a Ban.
  
 
===  /topic  ===
 
===  /topic  ===
''/topic [topic]'' 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  ===
 
On server(or channel) type
 
<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.
 
  
To login change your nick(using /nick command) to nick that you registered and type:
+
== Queries/Private Messages/Dialogs ==
<code>
 
/msg NickServ identify [password_that_you_registered]
 
</code>
 
  
Or you can login using a nick that is not registered to your account by using:
+
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".
<code>
 
/msg NickServ identify [nick_that_you_registered] [password_that_you_registered]
 
</code>
 
  
You can also group other nicks to your account by using /nick to get to the nick you want to group, then typing:
+
==  Account Registration  ==
<code>
+
Switch to the server tab (most likely named "Libera.Chat") and type the following:
/msg NickServ group
+
<code>/msg NickServ register [password] [e-mail]</code>
</code>
+
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):
 +
<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.
 +
 
 +
=== 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.
 +
<code>/msg NickServ group</code>
 +
 
 +
=== 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  ==
 
==  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 "Player" ===
+
=== $seen <nick> ===
The bot will find the last message made by "Player" and the time it was sent.
+
The bot will find the last message made by <nick> and the time it was sent.
  
=== $randomsave  ===
+
=== $profile <user>  ===
Displays a random TPT save.
+
Returns some basic information from a TPT user's profile.
 
 
===  $profile <user>  ===
 
Returns some basic information from a users 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 ===
YouTube and 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:
  
 
''Save is "Destroyable city 5 (wth metro)" by "dima-gord"''
 
''Save is "Destroyable city 5 (wth metro)" by "dima-gord"''
  
==  Other Commands  ==
+
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
The help for these commands is taken straight for the bot. If the command is marked with an asterix (*) then please use a query for it, as it can be quite verbose.
 
  
===  $ls* ===
+
===  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.
 
(list [<plugin>]) -- Lists the commands available in the given plugin. If no plugin is given, lists the public plugins available.
  
===  $google ===
+
====  $calc ====
(google <search> [--{filter,language} <value>]) -- Searches google.com for the given string. As many results as can fit are included. --language accepts a language abbreviation; --filter accepts a filtering level ('active', 'moderate', 'off')
+
(calc <math expression>) -- Returns the value of the evaluated <math expression>. Uses Python syntax
  
===  $calc  ===
+
====  $wolf  ====
(calc <math expression>) -- Returns the value of the evaluated <math expression>. The syntax is Python syntax; the type of arithmetic is floating point. Floating point arithmetic is used in order to prevent a user from being able to crash to the bot with something like '<nowiki>10'''10'''10'''10'. One consequence is that large values such as '10'''24'</nowiki> might not be exact.
 
 
 
===  $wolf  ===
 
 
(wolf <query>) -- Sends the query to Wolfram|Alpha. Also doubles as a good calculator.
 
(wolf <query>) -- Sends the query to Wolfram|Alpha. Also doubles as a good calculator.
  
 
==  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 /query [user nick].
 
 
 
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>
 
Once in the channel, type:
 
Once in the channel, type:
<code>
+
<code>/msg ChanServ register ##PT-cctv</code>
/msg ChanServ register ##PT-cctv
 
</code>
 
  
 
'''For a user to have flags set on them, they must be registered with NickServ.'''
 
'''For a user to have flags set on them, they must be registered with NickServ.'''
 
For a list of flags, type:
 
For a list of flags, type:
<code>
+
<code>/msg ChanServ help flags</code>
/msg ChanServ help flags
 
</code>
 
 
This lists flags that you can add, and how to add them.
 
This lists flags that you can add, and how to add them.
  
 
If you get stuck at any time, type:
 
If you get stuck at any time, type:
<code>
+
<code>/msg ChanServ help</code>
/msg ChanServ help
 
</code>
 
 
This lists ChanServ commands.
 
This lists ChanServ commands.
  
 
I also advise that you type:
 
I also advise that you type:
<code>
+
<code>/msg ChanServ set ##PT-cctv guard on</code>
/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.
</code>
 
This makes sure you don't lose the topic and makes sure there is always 1 person in the channel (ChanServ).
 
 
 
'''<ins>Bots and 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 usually moderators/administrators on the website, though there are moderators that are not operators (ops for short), and vice-versa. 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. This is not true for all channels however, as "+" usually just means that the person is granted the ability to speak during a channel moderation. #powder is special for these purposes, however, and on #powder, "+" means that a user is an operator, but not about to carry out any operator-status tasks such as kicking, banning, or quieting.
+
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:
  
* frankbro
+
* boxmein
* ief015 - RainbowDash - pief015
+
* Catelite
 +
* cracker64
 +
* jacob1
 +
* jacksonmj
 +
* mniip
 +
* Mrprocom
 
* Skylark
 
* Skylark
* \Simon\ - FacialTurd - iSimon - \S\ - Ximon
+
* simtr (Simon)
* Catelite
+
* Switzerland (Lockheedmartin)
* devast8a
 
* AntB - Xenocide
 
* Lockheedmartin
 
* Triclops200
 
 
 
>A note to editors:
 
  
> * Try to be client-ambiguous. Not everyone uses the same IRC client.
+
'''A note to editors:
  
> * Pictures are appreciated when adding new sections. But don't make them too large. You should only include the relevent 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.