version=pmwiki-2.2.130 ordered=1 urlencoded=1 agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 author=mkf charset=UTF-8 csum=client -> clients ctime=1596259356 host=188.210.102.116 name=Irc.Guide rev=25 targets=Irc.Clients,Ircnow.Servers,Bouncer.Bouncer text=(:title A Beginner's Guide to IRC:)%0a%0a!! The short and quick version%0a%0aIRC stands for Internet Relay Chat, an open protocol that lets people chat online in real-time.%0a%0aFirst, you will want to find [[irc/clients|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users. Each network is made up of many servers. %0a%0a!! Searching for IRC network to connect to%0a%0aThere are an enormous number of IRC networks to choose from. [[ircnow/servers|IRCNow]] is one such network -- it's an all-purpose network built on principles of user freedom.%0a%0a[[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of other popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. %0a%0a!! Joining, managing, and leaving channels%0a%0a!!! Finding a channel%0a%0aAfter you connect to a server, you will want to join a channel. A channel is a chat%0aroom. On IRC, channels generally begin with the hashtag (#).%0a%0aOn networks like Snoonet, Freenode, and Libera.Chat, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a%0aTo find channels to join, in your IRC client, type @@/list@@. On most networks,%0athis will list all available channels. Some networks like Freenode and Libera.Chat%0awill use a bot called alis. To use this, type @@/msg alis help@@.%0a%0a!!! Joining and leaving channels%0a%0aTo join a channel, type /join #channel. To create a channel, you simply /join an empty%0achannel. A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a%0aYou should see a list of users in the channel when you join it. If you want to see%0athem again, type /names.%0a%0aTo chat, simply begin typing in the window and press enter or the return key to send.%0a%0aTo leave a channel, type /part.%0a%0aNotice how commands on IRC begin with "/".%0a%0a!!! Inviting friends%0a%0aTo invite a user to your channel, type /invite nickname #channel.%0a%0a!!! Managing a channel%0a%0aEvery channel has its own ops, the people who help maintain order in a channel.%0aWhen you first join a channel, you are automatically channel op. You will get%0aan @ sign in front of your nick (sometimes referred to as a snail).%0a%0aTo make another user a channel operator, type /mode +o nickname.%0a%0a!! Messaging%0a%0aTo send a private message (PM for short) to a user, type @@/msg nickname Hello, world!@@. Replace the nickname and the message.%0a%0a!! Kicking and Banning Users%0a%0aSometimes you will have troublesome users. IRC allows you to:%0a%0a# kick a user from a channel immediately%0a# ban a user from entering a channel%0a%0aMany new users find it confusing that kicks and bans are distinct.%0a%0aTo kick a user from a channel, type @@/kick nickname@@. This immediately kicks a user%0afrom a channel, but it does not stop him from rejoining immediately after being kicked.%0a%0aTo prevent an abuser from rejoining a channel, you must ban the user. So actually,%0aremoving a user generally requires both a kick and a ban.%0a%0a!!! Vhosts%0a%0aOn IRC, every client that connects to a server will have a vhost that looks like this:%0a%0anickname!username@hostmask%0a%0aIf you type /mode +b nickname, you will ban nickname!*@*, where the asterisk * refers to any match. That is, you will ban all users that have the same nickname, regardless of what their username or hostmask is. This is not, however, what you really want. Any user can simply change his nickname and rejoin the channel.%0a%0aYou might therefore choose to ban a user based on his hostmask, which is usually the same as his IP address. If you type /mode +b *!*@hostmask, this will ban all users with the same hostmask, which is usually a ban on the IP address.%0a%0aUnfortunately, there is another complication. Some IP addresses might have multiple users connecting to it, such as if the IP address is hosting a bouncer. To ban only a single user from this IP address, you will want to type /mode +b *!username@hostmask. This will ban all users with the username and hostmask, which should only be one user instead of all users.%0a%0aTo find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by [[bouncer.bouncer|using a bouncer]], the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.%0a%0aTo learn more about the commands in your IRC client, type /help.%0a%0aTo quit your IRC client, type /quit.%0a%0a%0a!! Design of the IRC protocol%0a%0aThe beauty of IRC is that IRC is an open protocol that anyone can write software for. As a result, there is no official IRC client; there are instead hundreds. Here is a list of some of the most [[bouncer.bouncer|common IRC clients]].%0a%0aWhen you connect to IRC, you will be asked for the hostname and port of the server, as well as whether you want to use plaintext or SSL (a secured connection). The hostname will look something like irc.ircnow.org. The port will often be 6667 for plaintext and 6697 for SSL. Enabling SSL will ensure that your connection is secured by encryption. Make sure that you have the correct port and that you check if the port uses SSL or not. Using the wrong port and putting the incorrect setting for SSL is a huge cause of connection problems. It is not possible to use SSL on a port if the server doesn't support it.%0a%0aOnce you connect to a network, you can type /list. This will list all the visible channels on the network so you can find one to join.%0a%0aWhat most users find surprising about IRC is that by design, you don't have to register to chat. You can pick any nickname/real name you want. The main benefit of this design is that you can be totally anonymous on IRC, something which is impossible on most social networks. As you might expect, however, this can be confusing and can lead to impersonation, harassment, and spam. As a result, many IRC networks encourage you to register and claim your nickname.%0a%0a!! IRC Services%0a%0aThere is no uniform IRC services, so every single network implements its own services in a different and contradictory way. For now, we'll discuss NickServ, which is used most commonly on IRC networks.%0a%0aTo interact with Nickserv, you send the message /msg Nickserv %3ccommand>, like /msg Nickserv help. This will show you all the options available to register a nick, reset a password, and so forth. Once you register a nick, you can then register a channel. To do so, type /msg Chanserv %3ccommand>, like /msg Chanserv help.%0a%0a!! Bouncers%0a%0aBecause of the way IRC is designed, servers do not store messages for clients.%0aServers only relay messages to clients. This means that when you disconnect, you can't%0areceive any messages. Whenever you turn off your phone or shut off your PC, you%0adisconnect and could lose messages. For this reason, we recommend%0a[[bouncer.bouncer|signing up for a bouncer]].%0a%0a!! Extra comments from other sites%0a%0aTo protect your privacy, you will want to use a bouncer, VPN, or tor.%0aWith all three services, it is possible your privacy may still be compromised.%0aYou will want to make sure your provider is trustworthy.%0a%0aBe careful when identifying with NickServ. If you send the message to the wrong window%0aor you make a typo, you might accidentally reveal your password. Always double%0acheck before identifying.%0a%0a!! User modes%0a%0a!! Channel modes%0a%0aFirst. Modes set by an op upon a channel.%0aSecond. Modes set by an op upon its users, giving them privileges or restrictions.%0a74. To set modes, use /mode, with the following parameters:%0aFirst. The target of the mode, be it a user for the first division of modes, or a channel for the second.%0aSecond. + or - and the mode or modes to be added or removed.%0aThird. Any parameter for the mode.%0a%0aTo key a channel:%0a%0a/mode +k password%0a%0aTo make a channel invite only:%0a%0a/mode +i%0a%0aTo half-op someone:%0a%0a/mode +h username%0a%0aTo voice someone:%0a%0a/mode +v username%0a%0aTo prevent unregistered users from joining:%0a%0a/mode +R%0a84. To prevent unregistered users from joining, +r.%0a%0aEDIT: As this is a common countermeasure recommended, it should be noted that often the chanmode is +R.%0a%0aTo prevent unvoiced users from chatting (while allowing them to view):%0a%0a/mode +m%0a%0aNote. You may want to use LEVELS SET AUTOVOICE 0 to auto-voice people, and then strip voice when they become troublemakers.%0a%0aTo change a channel topic:%0a%0a/topic This is the new channel topic!%0a time=1626890560 title=A Beginner's Guide to IRC author:1626890560=mkf csum:1626890560=client -> clients diff:1626890560:1625150648:=7c7%0a%3c First, you will want to find [[irc/clients|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users. Each network is made up of many servers. %0a---%0a> First, you will want to find [[irc/client|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users. Each network is made up of many servers. %0a host:1626890560=188.210.102.116 author:1625150648=jrmu diff:1625150648:1623252138:=102c102%0a%3c !! IRC Services%0a---%0a> !! Using NickServ%0a host:1625150648=38.81.163.143 author:1623252138=jrmu diff:1623252138:1623251222:=129a130%0a> 73. Channel modes are in this work considered in two classes:%0a136,155c137,181%0a%3c %0a%3c To key a channel:%0a%3c %0a%3c /mode +k password%0a%3c %0a%3c To make a channel invite only:%0a%3c %0a%3c /mode +i%0a%3c %0a%3c To half-op someone:%0a%3c %0a%3c /mode +h username%0a%3c %0a%3c To voice someone:%0a%3c %0a%3c /mode +v username%0a%3c %0a%3c To prevent unregistered users from joining:%0a%3c %0a%3c /mode +R%0a---%0a> 75. Multiple modes may be added at the same time, but:%0a> First. The modes and the parameters must be grouped together; as "/mode #channel +bbbb troll1 troll2 troll3 troll4" (to ban 4 trolls with 1 /mode).%0a> Second. There must be as many modes as there are parameters.%0a> Third. The same action cannot both add and remove modes.%0a> %0a> EDIT: Incorrect, it is possible to "mix up" modes e.g. "/mode #channel +b+e troll1*@* good_user1!*@*" is permitted. (Also correct syntax should be used in examples, as in troll1!*@* troll2!*@* etc). %0a> Second is incorrect as well, there are modes which require no parameters, thus one could e.g. set 1 ban, but also moderated and secret. so "/mode #channel +bsm troll3!*@*" is valid.%0a> Third is incorrect as well, one may set AND remove modes simultaneously.%0a> %0a> Div. 1. Channel Modes.%0a> 76. First step of channel modes.%0a> 77. +k.%0a> 78. +i.%0a> 79. +b.%0a> 80. +e.%0a> 81. +I.%0a> 82. Modes of different op grades.%0a> 83. Applications.%0a> 84. +r.%0a> 85. +m.%0a> 86. +M.%0a> 76. In this division, the first step is always /mode followed by the target channel.%0a> 77. To make a channel require a password to join:%0a> First. "+k".%0a> Second. The password, case sensitive.%0a> 78. To make a channel invite-only, "+i".%0a> 79. To ban someone:%0a> First. +b.%0a> Second. The mask intended to be banned. [See para. 27.]%0a> 80. To exempt someone from banning:%0a> First. +e.%0a> Second. The mask intended to be excepted.%0a> 81. To exempt someone from having to be invited:%0a> First. +I.%0a> Second. The mask intended to be exempted.%0a> 82. To use xOP through /mode [see para. 44]:%0a> First. To make someone owner, +q.%0a> Second. To super-op someone, +a.%0a> Third. To op someone, +o.%0a> Fourth. To half-op someone, +h.%0a> Fifth. To voice someone, +v.%0a> 83. It is possible to use /mode to op people through masks as well as nicks. This may be useful on Freenode.%0a> %0a> EDIT: Incorrect. /mode #channel +o requires a nickname as a paramemter. Perhaps using ChanServ to op by masks was meant?%0a> %0a160,163c186%0a%3c To prevent unvoiced users from chatting (while allowing them to view):%0a%3c %0a%3c /mode +m%0a%3c %0a---%0a> 85. To prevent unvoiced users from talking (but not from viewing), +m.%0a166,168c189,197%0a%3c To change a channel topic:%0a%3c %0a%3c /topic This is the new channel topic!%0a---%0a> EDIT: Once again Anope specific advice, for Atheme one may wish to /cs flags #chan *!*@* +V (do note that all an abuser would have to do in either case is leave and rejoin to get voiced again).%0a> Also 0 in Anope should mean "all users" but actually means "all registered users". In effect, -1 is "all users" (despite the help files saying otherwise).%0a> %0a> 86. To prevent unvoiced AND unregistered users from talking (but not from viewing), +M.%0a> Note. The above three measures are all very good defenses against low-effort trolls.%0a> %0a> At least partially incorrect, +M often only blocks unregistered users from speaking. If they are registered but NOT voiced, they are usually permitted to speak. Also +M CAN have different functionalities.%0a> %0a> EDIT: This is Unreal and Rizon-specific advice, on InspIRCd one would use user mode +I to hide channels, on freenode user mode +i (set by default) hides non-common channels. Also of note that Unreal's and Insp's chan hiding do NOT hide the idle + signon time. (Again the guide appears to cater a lot to Rizon, then to freenode).%0a host:1623252138=38.81.163.143 author:1623251222=jrmu diff:1623251222:1622786896:=7,8c7,10%0a%3c First, you will want to find [[irc/client|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users. Each network is made up of many servers. %0a%3c %0a---%0a> To chat on IRC, you must first connect to a network. Each network is made up of many servers. To connect, you will need to download [[bouncer.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a> %0a> After installing your preferred IRC Client, you may wish to request a bouncer with IRCNow to stay connected. The IRC clients page has instructions about how to do this.%0a> %0a11,53c13,30%0a%3c There are an enormous number of IRC networks to choose from. [[ircnow/servers|IRCNow]] is one such network -- it's an all-purpose network built on principles of user freedom.%0a%3c %0a%3c [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of other popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. %0a%3c %0a%3c !! Joining, managing, and leaving channels%0a%3c %0a%3c !!! Finding a channel%0a%3c %0a%3c After you connect to a server, you will want to join a channel. A channel is a chat%0a%3c room. On IRC, channels generally begin with the hashtag (#).%0a%3c %0a%3c On networks like Snoonet, Freenode, and Libera.Chat, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a%3c %0a%3c To find channels to join, in your IRC client, type @@/list@@. On most networks,%0a%3c this will list all available channels. Some networks like Freenode and Libera.Chat%0a%3c will use a bot called alis. To use this, type @@/msg alis help@@.%0a%3c %0a%3c !!! Joining and leaving channels%0a%3c %0a%3c To join a channel, type /join #channel. To create a channel, you simply /join an empty%0a%3c channel. A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a%3c %0a%3c You should see a list of users in the channel when you join it. If you want to see%0a%3c them again, type /names.%0a%3c %0a%3c To chat, simply begin typing in the window and press enter or the return key to send.%0a%3c %0a%3c To leave a channel, type /part.%0a%3c %0a%3c Notice how commands on IRC begin with "/".%0a%3c %0a%3c !!! Inviting friends%0a%3c %0a%3c To invite a user to your channel, type /invite nickname #channel.%0a%3c %0a%3c !!! Managing a channel%0a%3c %0a%3c Every channel has its own ops, the people who help maintain order in a channel.%0a%3c When you first join a channel, you are automatically channel op. You will get%0a%3c an @ sign in front of your nick (sometimes referred to as a snail).%0a%3c %0a%3c To make another user a channel operator, type /mode +o nickname.%0a%3c %0a---%0a> [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. %0a> %0a> !! Servers%0a> %0a> Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend [[bouncer.bouncer|signing up for a bouncer]]. Otherwise, you will lose messages whenever you disconnect.%0a> %0a> !! Choosing an IRC client%0a> %0a> You need [[bouncer.bouncer|an IRC client]] in order to connect to an IRC network.%0a> %0a> !! Channels%0a> %0a> On IRC, channels generally begin with the hashtag (#). On networks like Snoonet and Freenode, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a> %0a> To create a channel, simply join it. The command is /join #channel. Notice how in IRC, a command always begins with "/". A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a> %0a> Every channel has its own operators, the people who help maintain order in a channel.%0a> %0a56,91c33,34%0a%3c To send a private message (PM for short) to a user, type @@/msg nickname Hello, world!@@. Replace the nickname and the message.%0a%3c %0a%3c !! Kicking and Banning Users%0a%3c %0a%3c Sometimes you will have troublesome users. IRC allows you to:%0a%3c %0a%3c # kick a user from a channel immediately%0a%3c # ban a user from entering a channel%0a%3c %0a%3c Many new users find it confusing that kicks and bans are distinct.%0a%3c %0a%3c To kick a user from a channel, type @@/kick nickname@@. This immediately kicks a user%0a%3c from a channel, but it does not stop him from rejoining immediately after being kicked.%0a%3c %0a%3c To prevent an abuser from rejoining a channel, you must ban the user. So actually,%0a%3c removing a user generally requires both a kick and a ban.%0a%3c %0a%3c !!! Vhosts%0a%3c %0a%3c On IRC, every client that connects to a server will have a vhost that looks like this:%0a%3c %0a%3c nickname!username@hostmask%0a%3c %0a%3c If you type /mode +b nickname, you will ban nickname!*@*, where the asterisk * refers to any match. That is, you will ban all users that have the same nickname, regardless of what their username or hostmask is. This is not, however, what you really want. Any user can simply change his nickname and rejoin the channel.%0a%3c %0a%3c You might therefore choose to ban a user based on his hostmask, which is usually the same as his IP address. If you type /mode +b *!*@hostmask, this will ban all users with the same hostmask, which is usually a ban on the IP address.%0a%3c %0a%3c Unfortunately, there is another complication. Some IP addresses might have multiple users connecting to it, such as if the IP address is hosting a bouncer. To ban only a single user from this IP address, you will want to type /mode +b *!username@hostmask. This will ban all users with the username and hostmask, which should only be one user instead of all users.%0a%3c %0a%3c To find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by [[bouncer.bouncer|using a bouncer]], the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.%0a%3c %0a%3c To learn more about the commands in your IRC client, type /help.%0a%3c %0a%3c To quit your IRC client, type /quit.%0a%3c %0a%3c %0a---%0a> To send a message to a single user, type /msg %3cnickname> . This will create a private message, or PM for short.%0a> %0a104,105c47,48%0a%3c There is no uniform IRC services, so every single network implements its own services in a different and contradictory way. For now, we'll discuss NickServ, which is used most commonly on IRC networks.%0a%3c %0a---%0a> Unfortunately, IRC in its current state is very fragmented. There is no "One True Services" and so every single network implements its own services in a different and contradictory way. For now, we'll discuss the most common services implemented by Atheme and Anope, which uses Nickserv.%0a> %0a108,115c51,75%0a%3c !! Bouncers%0a%3c %0a%3c Because of the way IRC is designed, servers do not store messages for clients.%0a%3c Servers only relay messages to clients. This means that when you disconnect, you can't%0a%3c receive any messages. Whenever you turn off your phone or shut off your PC, you%0a%3c disconnect and could lose messages. For this reason, we recommend%0a%3c [[bouncer.bouncer|signing up for a bouncer]].%0a%3c %0a---%0a> !! Joining and leaving and also managing channels%0a> %0a> To leave a channel, type /part. To quit your IRC client, type /quit.%0a> To invite a user to your channel, type /invite nickname #channel.%0a> %0a> To make another user a channel operator, type /mode +o nickname.%0a> %0a> Sometimes you will have troublesome users. Unfortunately, IRC's method of banning users is confusing and unnecessarily complex. This bad design can and should be fixed someday, as we hope to do by making a more user-friendly app.%0a> %0a> To kick a user from a channel ban a user, type /kick nickname. This kick is only temporary, however, because a user can rejoin right after being kicked. To ban him permanently from the channel, you must learn how to ban a user.%0a> %0a> On IRC, every client that connects to a server will have a vhost that looks like this:%0a> %0a> nickname!username@hostmask%0a> %0a> If you type /mode +b nickname, you will ban nickname!*@*, where the asterisk * refers to any match. That is, you will ban all users that have the same nickname, regardless of what their username or hostmask is. This is not, however, what you really want. Any user can simply change his nickname and rejoin the channel.%0a> %0a> You might therefore choose to ban a user based on his hostmask, which is usually the same as his IP address. If you type /mode +b *!*@hostmask, this will ban all users with the same hostmask, which is usually a ban on the IP address.%0a> %0a> Unfortunately, there is another complication. Some IP addresses might have multiple users connecting to it, such as if the IP address is hosting a bouncer. To ban only a single user from this IP address, you will want to type /mode +b *!username@hostmask. This will ban all users with the username and hostmask, which should only be one user instead of all users.%0a> %0a> To find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by [[bouncer.bouncer|using a bouncer]], the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.%0a> %0a> To learn more about the commands in your IRC client, type /help.%0a> %0a118,129c78,102%0a%3c To protect your privacy, you will want to use a bouncer, VPN, or tor.%0a%3c With all three services, it is possible your privacy may still be compromised.%0a%3c You will want to make sure your provider is trustworthy.%0a%3c %0a%3c Be careful when identifying with NickServ. If you send the message to the wrong window%0a%3c or you make a typo, you might accidentally reveal your password. Always double%0a%3c check before identifying.%0a%3c %0a%3c !! User modes%0a%3c %0a%3c !! Channel modes%0a%3c %0a---%0a> 70. On Freenode, there is no HostServ. Instead "cloaks" (their name for vHosts) are to be manually requested in #freenode. If you are affiliated with a FOSS project, you may request a cloak of that project, in the form project/role/user. If you do not meet that project's policy for letting you have cloaks, you can get an "unaffiliated" cloak, in the form unaffiliated/accountname.%0a> Note. It is possible through manipulating ChanServ to reveal a person's IP. The details will not be discussed here, both because I cannot see a reason someone would want to know this without malicious intent, and because I personally do not know how. But the take-away is that cloaks are not completely secure and complete security requires a VPN or Tor.%0a> %0a> EDIT: Personal wording should be avoided, also using a VPN does not guarantee one is "completely secure", this is still shifting trust in the end, and a VPN provider can be dodgy/have malicious intentions as well (tl;dr: one should not blindly trust a VPN 100%25 with one's sensitive data).%0a> %0a> 71. Unlike private messages with users, messages to services are NOT in a separate window, except in Pidgin. Thus it is EXTREMELY EASY to accidentally divulge your password if you mistype something. For that reason I would recommend not using a password you use anywhere else, and always double checking if you have the prefix "/msg NickServ" completely right.%0a> %0a> EDIT: Advice usually given is /query NickServ so that NOTICEs do not get lost. This has nothing to do with *Serv bots et al being services, but simply responding via NOTICE by default (can at times be optionally changed to use PRIVMSG).%0a> %0a> !! Channel and user modes%0a> %0a> PART V. CHANNEL AND USER MODES.%0a> 72. Divisions of modes.%0a> 73. Classes of channel modes.%0a> 74. How to set modes.%0a> 75. Adding or removing multiple modes.%0a> Div. 1. Channel Modes.%0a> Div. 2. User Modes.%0a> 72. Modes are divided into:%0a> First. User modes, set by a user upon themselves or a server upon a user.%0a> Second. Channel modes, set by an op upon a channel or users in it, or by a server or service upon a channel.%0a> Third. Server modes, set by a server operator upon their server, which is beyond the scope of this work.%0a> %0a> EDIT: Server modes? Modes set upon a server? Source required as this seems to be more theoretical "what could be someday" by some RFCs (which also stated nicknames would become obsoleted).%0a> %0a196a170,175%0a> Div. 2. User Modes.%0a> 87. +R.%0a> 88. +p.%0a> 87. To block private messages from unregistered users, +R.%0a> 88. To hide channels the enquirer doesn't share with you, as well as sign-on and idle time from /whois, +p.%0a> %0a197a177,213%0a> %0a> Note. Freenode does that automatically, but MOST OTHER NETWORKS DON'T, and thus this information, in conjunction with others can be a versatile tool for investigating trolls.%0a> %0a> EDIT: freenode no longer sets +R by default.%0a> %0a> THE END.%0a> TABULATION OF MOD ROLES.%0a> ------------------------------------------------------------------------------------------------------%0a> | Common name | /mode code | Symbol (text based) | Symbol (Hexchat) | Symbol (Pidgin) | ACCESS level |%0a> | Owner | +q | ~ | Orange dot | Blue flag | 10000 |%0a> | Super-op | +a | & | Yellow dot | None | 10 |%0a> | Op | +o | @ | Blue dot | Gold hexagram | 5 |%0a> | Half-op | +h | %25 | Light blue dot | Silver star | 4 |%0a> | Voiced | +v | + | Blue dot | "Connection" | 3 |%0a> ------------------------------------------------------------------------------------------------------%0a> %0a> EDIT: If the channel is set persist (often +P or e.g. +z on Rizon) it will remain even if the last person leaves (as this is implemented in many major IRCd's this should be mentioned). (Also possible with Anope's ChanServ without a persistent channel mode)%0a> %0a> %0a> !! FURTHER READING.%0a> %0a> Note: The sources provided herein are for purposes of comparison and reference only. No inference of endorsement or responsibility for any part of any of their contents is to be drawn or can be accepted.--Author.%0a> %0a> !!!IRC in Press and Media%0a> * Back to Basics, Linux Magazine #198 (2017), Linux News Media: https://www.linux-magazine.com/Issues/2017/198/Revisit-IRC%0a> %0a> !!!Original IRC RFC's:%0a> %0a> *RFC 1459 by Jarkko Oikarinen (inventor of IRC): https://tools.ietf.org/html/rfc1459%0a> *RFC 2811 "Channel Management" : https://tools.ietf.org/html/rfc2811%0a> *RFC 2812 "Client Protocol": https://tools.ietf.org/html/rfc2812%0a> %0a> !!!Third Party Documentation%0a> * UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a> *Rizon Wiki https://wiki.rizon.net/index.php?title=Main_Page%0a> *AnopeWiki https://wiki.anope.org/index.php/Main_Page%0a> *Atheme Wiki https://github.com/atheme/atheme/wiki%0a host:1623251222=38.81.163.143 author:1622786896=jrmu diff:1622786896:1622786837:=21c21,39%0a%3c You need [[bouncer.bouncer|an IRC client]] in order to connect to an IRC network.%0a---%0a> You need [[bouncer.bouncer|an IRC client]] in order to connect to an IRC network. We have practical guides for the following clients:%0a> %0a> * [[bouncer.Adium|Adium]]%0a> * [[bouncer.Atomic|Atomic]]%0a> * [[bouncer.Hexchat|Hexchat]]%0a> * [[bouncer.IceChat|IceChat]]%0a> * [[bouncer.irssi|Irssi]]%0a> * [[Bouncer.KiwiIRC|KiwiIRC]]%0a> * [[Bouncer.Limechat|Limechat]]%0a> * [[Bouncer.Pidgin|Pidgin]]%0a> * [[Bouncer.Quassel|Quassel]]%0a> * [[Bouncer.RevolutionIRC|RevolutionIRC]]%0a> * [[Bouncer.SimpleIRC|SimpleIRC]]%0a> * [[Bouncer.Smuxi|Smuxi]]%0a> * [[Bouncer.Thunderbird|Thunderbird]]%0a> * [[Bouncer.Vision|Vision]]%0a> * [[Bouncer.WeeChat|Weechat]]%0a> * [[Bouncer.XChat|XChat]]%0a> * [[Bouncer.Yaaic|Yaaic]]%0a host:1622786896=125.231.28.9 author:1622786837=jrmu csum:1622786837=Because this is designed to be a beginner's guide, I'm going to revert this change diff:1622786837:1622197959:=43,46c43,46%0a%3c On IRC, channels generally begin with the hashtag (#). On networks like Snoonet and Freenode, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a%3c %0a%3c To create a channel, simply join it. The command is /join #channel. Notice how in IRC, a command always begins with "/". A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a%3c %0a---%0a> Chat rooms are called "channels" on IRC. Most IRC clients allow the user to connect to multiple channels at once and keep multiple simultaneous conversations. On IRC, channels generally begin with the hashtag (#). On networks like Snoonet and Freenode, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a> %0a> To create a channel, simply join it. For text driven IRC clients, the command to join a channel is /join #channel. Notice how in IRC, a command always begins with "/". A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a> %0a51c51%0a%3c To send a message to a single user, type /msg %3cnickname> . This will create a private message, or PM for short.%0a---%0a> In text driven IRC clients, you may deliver a private message to another user tipping /msg %3cnickname> followed my an actual text message. This will create a private message, or PM for short.%0a host:1622786837=125.231.28.9 author:1622197959=bountyht diff:1622197959:1622196329:minor=43,46c43,46%0a%3c Chat rooms are called "channels" on IRC. Most IRC clients allow the user to connect to multiple channels at once and keep multiple simultaneous conversations. On IRC, channels generally begin with the hashtag (#). On networks like Snoonet and Freenode, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a%3c %0a%3c To create a channel, simply join it. For text driven IRC clients, the command to join a channel is /join #channel. Notice how in IRC, a command always begins with "/". A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a%3c %0a---%0a> On IRC, channels generally begin with the hashtag (#). On networks like Snoonet and Freenode, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a> %0a> To create a channel, simply join it. The command is /join #channel. Notice how in IRC, a command always begins with "/". A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a> %0a51c51%0a%3c In text driven IRC clients, you may deliver a private message to another user tipping /msg %3cnickname> followed my an actual text message. This will create a private message, or PM for short.%0a---%0a> To send a message to a single user, type /msg %3cnickname> . This will create a private message, or PM for short.%0a host:1622197959=185.191.124.152 author:1622196329=bountyht csum:1622196329=Add direct links to the client guides we have for userfriendlyness diff:1622196329:1622195249:=18,39d17%0a%3c %0a%3c !! Choosing an IRC client%0a%3c %0a%3c You need [[bouncer.bouncer|an IRC client]] in order to connect to an IRC network. We have practical guides for the following clients:%0a%3c %0a%3c * [[bouncer.Adium|Adium]]%0a%3c * [[bouncer.Atomic|Atomic]]%0a%3c * [[bouncer.Hexchat|Hexchat]]%0a%3c * [[bouncer.IceChat|IceChat]]%0a%3c * [[bouncer.irssi|Irssi]]%0a%3c * [[Bouncer.KiwiIRC|KiwiIRC]]%0a%3c * [[Bouncer.Limechat|Limechat]]%0a%3c * [[Bouncer.Pidgin|Pidgin]]%0a%3c * [[Bouncer.Quassel|Quassel]]%0a%3c * [[Bouncer.RevolutionIRC|RevolutionIRC]]%0a%3c * [[Bouncer.SimpleIRC|SimpleIRC]]%0a%3c * [[Bouncer.Smuxi|Smuxi]]%0a%3c * [[Bouncer.Thunderbird|Thunderbird]]%0a%3c * [[Bouncer.Vision|Vision]]%0a%3c * [[Bouncer.WeeChat|Weechat]]%0a%3c * [[Bouncer.XChat|XChat]]%0a%3c * [[Bouncer.Yaaic|Yaaic]]%0a host:1622196329=195.176.3.23 author:1622195249=bountyht diff:1622195249:1622195219:=204,206d203%0a%3c %0a%3c !!!Third Party Documentation%0a%3c * UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a209a207,209%0a> %0a> !!!Third Party Documentation%0a> * UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a\ No newline at end of file%0a host:1622195249=209.127.17.242 author:1622195219=bountyht csum:1622195219=Fixed the end of entry lists diff:1622195219:1622194567:=195,209c195,202%0a%3c %0a%3c !!!IRC in Press and Media%0a%3c * Back to Basics, Linux Magazine #198 (2017), Linux News Media: https://www.linux-magazine.com/Issues/2017/198/Revisit-IRC%0a%3c %0a%3c !!!Original IRC RFC's:%0a%3c %0a%3c *RFC 1459 by Jarkko Oikarinen (inventor of IRC): https://tools.ietf.org/html/rfc1459%0a%3c *RFC 2811 "Channel Management" : https://tools.ietf.org/html/rfc2811%0a%3c *RFC 2812 "Client Protocol": https://tools.ietf.org/html/rfc2812%0a%3c *Rizon Wiki https://wiki.rizon.net/index.php?title=Main_Page%0a%3c *AnopeWiki https://wiki.anope.org/index.php/Main_Page%0a%3c *Atheme Wiki https://github.com/atheme/atheme/wiki%0a%3c %0a%3c !!!Third Party Documentation%0a%3c * UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a\ No newline at end of file%0a---%0a> Original IRC RFC's:%0a> RFC 1459 by Jarkko Oikarinen (inventor of IRC): https://tools.ietf.org/html/rfc1459%0a> RFC 2811 "Channel Management" : https://tools.ietf.org/html/rfc2811%0a> RFC 2812 "Client Protocol": https://tools.ietf.org/html/rfc2812%0a> Rizon Wiki https://wiki.rizon.net/index.php?title=Main_Page%0a> AnopeWiki https://wiki.anope.org/index.php/Main_Page%0a> Atheme Wiki https://github.com/atheme/atheme/wiki%0a> UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a\ No newline at end of file%0a host:1622195219=209.127.17.242 author:1622194567=bountyht diff:1622194567:1614488975:minor=17c17%0a%3c Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend [[bouncer.bouncer|signing up for a bouncer]]. Otherwise, you will lose messages whenever you disconnect.%0a---%0a> Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend [[bouncer.bouncer/signing up for a bouncer]]. Otherwise, you will lose messages whenever you disconnect.%0a host:1622194567=91.203.145.116 author:1614488975=jrmu diff:1614488975:1612242025:=1c1,3%0a%3c (:title A Beginner's Guide to IRC:)%0a---%0a> Make IRCNow Great again.%0a> %0a> A Beginner's Guide to IRC%0a host:1614488975=198.251.81.119 author:1612242025=jrmu diff:1612242025:1597610335:=1,2d0%0a%3c Make IRCNow Great again.%0a%3c %0a host:1612242025=37.120.153.107 author:1597610335=gry diff:1597610335:1597574543:minor=9c9%0a%3c After installing your preferred IRC Client, you may wish to request a bouncer with IRCNow to stay connected. The IRC clients page has instructions about how to do this.%0a---%0a> After installing your preferred IRC Client, you can request a bouncer with IRCNow to stay connected.%0a host:1597610335=203.129.25.247 author:1597574543=gry csum:1597574543=clarified diff:1597574543:1597574499:=3c3%0a%3c !! The short and quick version%0a---%0a> !! The short version%0a host:1597574543=203.129.25.247 author:1597574499=gry csum:1597574499=added headings diff:1597574499:1597536122:=3,4d2%0a%3c !! The short version%0a%3c %0a11,12d8%0a%3c !! Searching for IRC network to connect to%0a%3c %0a15,16d10%0a%3c !! Servers%0a%3c %0a19,20d12%0a%3c !! Channels%0a%3c %0a27,28d18%0a%3c !! Messaging%0a%3c %0a31,32d20%0a%3c !! Design of the IRC protocol%0a%3c %0a41,42d28%0a%3c !! Using NickServ%0a%3c %0a47,48d32%0a%3c !! Joining and leaving and also managing channels%0a%3c %0a72,73c56%0a%3c !! Extra comments from other sites%0a%3c %0a---%0a> %0a83,84d65%0a%3c !! Channel and user modes%0a%3c %0a192,193c173%0a%3c !! FURTHER READING.%0a%3c %0a---%0a> FURTHER READING.%0a host:1597574499=203.129.25.247 author:1597536122=gry csum:1597536122=+- diff:1597536122:1597536042:=5,9c5,7%0a%3c To chat on IRC, you must first connect to a network. Each network is made up of many servers. To connect, you will need to download [[bouncer.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a%3c %0a%3c After installing your preferred IRC Client, you can request a bouncer with IRCNow to stay connected.%0a%3c %0a%3c [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. %0a---%0a> To connect, visit [[bouncer.bouncer|our IRC clients page]] and choose your preferred client. Then follow the instructions at our IRC clients page to request a bouncer to stay connected.%0a> %0a> To chat on IRC, you must first connect to a network. Each network is made up of many servers. [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. To connect, you will need to download [[bouncer.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a host:1597536122=203.129.25.247 author:1597536042=gry csum:1597536042=+To connect, visit [[bouncer.bouncer|our IRC clients page]] and choose your preferred client. ... diff:1597536042:1597535943:=4,5d3%0a%3c %0a%3c To connect, visit [[bouncer.bouncer|our IRC clients page]] and choose your preferred client. Then follow the instructions at our IRC clients page to request a bouncer to stay connected.%0a host:1597536042=203.129.25.247 author:1597535943=gry csum:1597535943=updated link to bouncer.bouncer diff:1597535943:1596331829:=5,8c5,8%0a%3c To chat on IRC, you must first connect to a network. Each network is made up of many servers. [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. To connect, you will need to download [[bouncer.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a%3c %0a%3c Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend [[bouncer.bouncer/signing up for a bouncer]]. Otherwise, you will lose messages whenever you disconnect.%0a%3c %0a---%0a> To chat on IRC, you must first connect to a network. Each network is made up of many servers. [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. To connect, you will need to download [[irc.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a> %0a> Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend [[irc.bouncer/signing up for a bouncer]]. Otherwise, you will lose messages whenever you disconnect.%0a> %0a17,18c17,18%0a%3c The beauty of IRC is that IRC is an open protocol that anyone can write software for. As a result, there is no official IRC client; there are instead hundreds. Here is a list of some of the most [[bouncer.bouncer|common IRC clients]].%0a%3c %0a---%0a> The beauty of IRC is that IRC is an open protocol that anyone can write software for. As a result, there is no official IRC client; there are instead hundreds. Here is a list of some of the most [[irc/bouncer|common IRC clients]].%0a> %0a48c48%0a%3c To find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by [[bouncer.bouncer|using a bouncer]], the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.%0a---%0a> To find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by [[irc.bouncer|using a bouncer]], the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.%0a host:1597535943=203.129.25.247 author:1596331829=jrmu diff:1596331829:1596331219:=38,51c38,268%0a%3c On IRC, every client that connects to a server will have a vhost that looks like this:%0a%3c %0a%3c nickname!username@hostmask%0a%3c %0a%3c If you type /mode +b nickname, you will ban nickname!*@*, where the asterisk * refers to any match. That is, you will ban all users that have the same nickname, regardless of what their username or hostmask is. This is not, however, what you really want. Any user can simply change his nickname and rejoin the channel.%0a%3c %0a%3c You might therefore choose to ban a user based on his hostmask, which is usually the same as his IP address. If you type /mode +b *!*@hostmask, this will ban all users with the same hostmask, which is usually a ban on the IP address.%0a%3c %0a%3c Unfortunately, there is another complication. Some IP addresses might have multiple users connecting to it, such as if the IP address is hosting a bouncer. To ban only a single user from this IP address, you will want to type /mode +b *!username@hostmask. This will ban all users with the username and hostmask, which should only be one user instead of all users.%0a%3c %0a%3c To find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by [[irc.bouncer|using a bouncer]], the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.%0a%3c %0a%3c To learn more about the commands in your IRC client, type /help.%0a%3c %0a---%0a> type /mode +b nickname%0a> Note. To op yourself when you have the right to do so, use ChanServ.%0a> %0a> EDIT: While /op and /deop are (most likely) very universally supported, it should be noted these are client sided commands.%0a> %0a> 27. To punish people, use /ban and /unban, /kick, or /kickban or /kb if you want to do both. People who are under a plain /ban will not be allowed to send messages to the channel, but will still be able to view messages. If they leave, they can't rejoin for the duration of the ban. It takes one parameter, the mask, consisting of three parts:%0a> First. The nickname. This will ban everyone using the nickname.%0a> Second. The "ident", i.e. the part you see before the @ when someone joins a channel.%0a> Third. The host. An IP address or range of IP addresses can be used. If there are no legitimate users from a country or state trolls are posting from, you may do /ban *!*@*.[country code] or /ban *!*@*.[USPS code, e.g. wa for Washington].us. Regular expressions may be used for all 3 parts of the mask.%0a> Note. Timed bans are not possible with /ban or /kb. You must /unban manually.%0a> %0a> EDIT: The commands mentioned here, like above, are client sided (excluding /KICK being server-sided) and if not supported, /MODE +|-b #channel_name nick!user@hostmask must be used instead.%0a> %0a> 28. To find out what someone's IP is, use /whois and /whowas. The only parameter is the nickname.%0a> Note. On Freenode and some other networks, YOUR IP ADDRESS IS NOT MASKED LIKE IT IS ON RIZON. IT IS IN YOUR BENEFIT TO OBTAIN A CLOAK/VHOST AS SOON AS POSSIBLE.%0a> %0a> EDIT: Cloaks on freenode are NOT designed to hide the IP, see https://freenode.net/kb/answer/cloaks#cloaks-do-not-effectively-hide-your-ip%0a> %0a> Also /whois may take 2 params, on some IRCd's %3cnick> %3cserver> OR %3cserver> %3cnick>. Often /WHOIS %3cnick> %3cnick> (the same nick) is supported to query idle + signon time (as well as the away reason if the user is /AWAY) on users who are on remote servers (not the one you are on).%0a> %0a> 29. To know what commands your client supports, use /help. Play around a bit. It'll explain some of the more obscure commands better than I can.%0a> PART IV. USING NETWORK SERVICES.%0a> 30. Services common to all networks with them.%0a> 31. Services that occasionally appear.%0a> 32. Scope of part.%0a> 33. Querying a server, /ns, /cs, /ms, /hs.%0a> 34. HELP.%0a> Div. 1. NickServ.%0a> Div. 2. ChanServ.%0a> Div. 3. MemoServ.%0a> Div. 4. Miscellaneous.%0a> 30. Every network that has services will have--%0a> First. NickServ, for registering nicknames.%0a> Second. ChanServ, for registering channels.%0a> Third. MemoServ, for sending memos to offline users.%0a> Fourth. OperServ, for use by server operators.%0a> %0a> EDIT: "Every" network is incorrect, e.g. UnderNET and QuakeNet offer services albeit different ones than the usual *Serv ones.%0a> %0a> 31. Some networks will also have--%0a> First. HostServ, for requesting virtual hosts for cloaking IPs.%0a> Second. BotServ, for requesting bots.%0a> Third. HelpServ, for requesting help.%0a> Fourth. FunServ, for trivia games.%0a> 32. This work will not attempt to go into an exhaustive description of what every service can do, but will cover the basics of using them as well as some useful functions.%0a> 33. To query a server, use /msg [service] [command]. Most, but by no means all, clients will allow you to shorten the query by using:%0a> First. For NickServ, /nickserv or /ns.%0a> Second. For ChanServ, /chanserv or /cs.%0a> Third. For MemoServ, /memoserv or /ms.%0a> Fourth. For HostServ, /hostserv or /hs.%0a> Note. The latter, abbreviated forms will be used throughout this work.%0a> %0a> EDIT: These commands are often server-sided and thus not needed to be client-sided. Note that ngIRCd, which IRCNow utilizes, does NOT support these aliases and they must be integrated into the client via scripting/aliasing etc%0a> %0a> 34. Your first command to a service should always be /msg [service] HELP.%0a> Div. 1. NickServ.%0a> 35. REGISTER.%0a> 36. CONFIRM.%0a> 37. IDENTIFY.%0a> 38. Auto-identify.%0a> 39. GHOST.%0a> 40. GROUP.%0a> 41. SET ENFORCE.%0a> 35. To register a nickname, use /ns REGISTER, with the following two parameters:%0a> First. A password.%0a> Second. An email address. %0a> Note. Registration is highly encouraged, both for the security of your nickname, as well as because some channels won't let you join if you are unregistered to prevent spammers.%0a> 36. After you have done so, you will receive an email which will direct you to type /ns CONFIRM followed by a code. The registration will expire if you do not confirm it within 24 hours.%0a> %0a> EDIT: The user MUST be identified/logged in otherwise the confirmation code will NOT work. (incase they disconnect temporarily).%0a> %0a> 37. To log in as a registered nickname, use /ns IDENTIFY, with the following parameters:%0a> First. A nickname, if it is not your current nickname.%0a> Second. The password you registered it as.%0a> %0a> EDIT: Not ALL NickServs allow specifying the nick (albeit most do) (e.g. Rizon does NOT though).%0a> %0a> 38. Constantly typing it may be annoying, not to mention revealing of your IP. To have your client "remember" your password, put /ns IDENTIFY [password] in your auto-execute box.%0a> %0a> EDIT: 37. mentions that one can specify the nickname (in most cases) why is this not mentioned in 38?%0a> Most networks support SASL authentication which offers the benefit of e.g. occuring during signon instead of after, and only going to the acual service (so if one uses /msg NickServ then NickServ COULD be an imposter, but SASL would only go to the real one). For SASL regarding various clients see https://freenode.net/kb/answer/sasl%0a> %0a> 39. Sometimes when you get disconnected there may be a copy of yourself still in the channel. To remove this copy, type /ns GHOST with the following parameters:%0a> First. The nickname to be removed.%0a> Second. The password of that nick, if you are not in a group with it.%0a> Note. If your client allows for it, by all means put down names for your "second alternative" and "third alternative", and register them.%0a> 40. If you do get a vHost/cloak, it would be a good idea to group all your nicks under one group, so that all the nicks may use it. %0a> Use /ns GROUP with the following parameters:%0a> First. A nick you wish to be in the same group with.%0a> Second. That nick's password.%0a> %0a> EDIT: Often /hs group will be necessary as well to "synch" the main nick's vhost with the grouped nicks.%0a> %0a> 41. To protect your nickname while you are offline, use /ns SET ENFORCE. This will give anybody who uses this nickname 30 seconds to supply the password, or have their nick changed.%0a> %0a> EDIT: This is Atheme specific, Anope would use /ns SET KILL %0a> %0a> Div. 2. ChanServ.%0a> 42. REGISTER.%0a> 43. SET ACCESSTYPE.%0a> 44. Ways to use xOP.%0a> 45. SOP, AOP, HOP, VOP.%0a> 46. xOP.%0a> 47. Powers of ops.%0a> 48. Voiced people.%0a> 49. Half-ops.%0a> 50. Ops.%0a> 51. Super-ops.%0a> 52. Symbols for ops.%0a> 53. Purpose of ACCESS.%0a> 54. Access levels.%0a> 55. HELP LEVELS DESC.%0a> 56. LEVELS.%0a> 57. ACCESS.%0a> 58. Purpose of FLAGS.%0a> 59. Nature of FLAGS.%0a> 60. HELP FLAGS.%0a> 61. FLAGS.%0a> 62. Need to register.%0a> 42. To register a channel, use /cs REGISTER, with the following three parameters:%0a> First. The channel to be registered.%0a> Second. A password for that channel. While mandatory, you may wish to enable SECUREFOUNDER to prevent anyone into the hands of which the password might fall from abusing it.%0a> Third. A description of that channel, for use with /list.%0a> 43. There are three ways to manage the various administrative positions of an IRC channel:%0a> First. xOP.%0a> Second. ACCESS.%0a> Third. FLAGS.%0a> Note. To change from one to the other, use /cs SET #channel ACCESSTYPE.%0a> %0a> EDIT: This is near-exclusive to Rizon using an Anope 1.8.x fork, Atheme and Anope 2.0.x let you use all types simultaneously (assuming the respective modules are loased in the services configs).%0a> %0a> 44. XOP may be used:%0a> First. By /mode.%0a> Second. By ChanServ.%0a> %0a> EDIT: The various XOP levels (VOP, AOP etc) are services sided sets of privileges, which CANNOT be granted via /mode . The various prefixes can be granted via /mode though with sufficient privileges.%0a> %0a> 45. There are four types of ops:%0a> First. Super-ops (SOP).%0a> Second. Ops (AOP).%0a> Third. Half-ops. (HOP).%0a> Fourth. Voiced people. (VOP).%0a> %0a> EDIT: Sometimes a QOP (quintessential op) is a type as well, like a co-owner (may have different names at times).%0a> %0a> 46. To add people to each class, use /cs #channel xOP [hence the name] with the single parameter of the nickname of the person to be added.%0a> %0a> Unless xOP is meant to be replaced with the real levels (AOP, VOP etc) (which is NOT made clear through the wording) this advice literally using xOP is incorrect. %0a> %0a> 47. Each level of op, except voiced people, can:%0a> First. Ban and kick people at or below their level.%0a> Second. Give and take access levels at or below their level.%0a> 48. Voiced people gain no privileges except the right to keep sending messages when the channel is under +m.%0a> 49. Half-ops can set the topic on top of that.%0a> 50. Ops, also known as chanops or chops, can ban, give, and take ops and half-ops.%0a> 51. Super-ops, or protect-ops, can only be kicked by the channel owner.%0a> 52. The symbols for them are:%0a> First. For the owner of the channel, ~ before the nick, an orange dot in Hexchat, or a blue flag in Pidgin.%0a> Second. For super-ops, & before the nick, a yellow dot in Hexchat, none in Pidgin.%0a> Third. For ops, @ before the nick, a blue dot in Hexchat, or a gold sheriff's star in Pidgin.%0a> Fourth. For half-ops, %25 before the nick, a light blue dot in Hexchat, or a silver star in Pidgin.%0a> Fifth. For voiced people, + before the nick, a blue dot in Hexchat, or a circle with waves protruding out in Pidgin.%0a> 53. ACCESS is useful if you wish all users of a certain class to have privileges other than the default granted by xOP.%0a> 54. The access levels are:%0a> First. The founder, 10000.%0a> Second. Super-ops, 10.%0a> Third. Ops, 5.%0a> Fourth. Half-ops, 4.%0a> Fifth. Voiced people, 3.%0a> Sixth. Ordinary users, 0.%0a> Seventh. Banned people, -1.%0a> Note. The gaps between access levels are deliberate, to enable the formation of new access levels.%0a> 55. For a list of access levels with their features, use /cs HELP LEVELS DESC.%0a> 56. To adjust them, use /cs LEVELS with the following parameters:%0a> First. The channel on which the change is to take place.%0a> Second. LIST, to simply list the privileges of the current access levels for the channel and SET, to change them.%0a> Third. The feature (found using HELP LEVELS) the right to use which is sought to be changed.%0a> Fourth. The numerical access level to change it to.%0a> 57. To add or remove a person to the access list, use /cs ACCESS with the following parameters:%0a> First. The channel whose access list is sought to be changed.%0a> Second. ADD to add someone and DEL to remove someone.%0a> Third. The nick of the person to be added or removed.%0a> Fourth. The access level to which they are to be added (for ADD only).%0a> Note. To change the access level of a person, repeat this process.%0a> 58. FLAGS should be used if and only if you would like to fine-tune and individualize what every person is able to do.%0a> 59. FLAGS contains a list of attributes which are added to individual nicks as appropriate.%0a> Note. These "attributes" contain one letter, and ARE NOT coterminous or identical to the "features" of ACCESS!%0a> 60. To see a list of flags, use /cs HELP FLAGS.%0a> Note. Flags are case sensitive.%0a> 61. To use FLAGS, use /cs FLAGS with the following parameters:%0a> First. The channel.%0a> Second. The nick.%0a> Third. + or - followed by one-letter "flags".%0a> Note. +* to add all privileges, -* to remove all.%0a> %0a> EDIT: /cs levels is Anope exclusive, and NOT universal in all services out there.%0a> %0a> 62. It is absolutely necessary to be registered to register channels as well as be opped under either of these three systems. (Unless you use /mode, which expires every time you log off.) This is another incentive to register and have everyone in your channel register as well.%0a> %0a> EDIT: "oped under one of these three systems" to register a channel is incorrect, the user must be oped which is correct. If they are oped via xOP or ACCESS or FLAGS the channel already is registered.%0a> %0a> Div. 3. MemoServ.%0a> 63. MemoServ.%0a> 64. Advantages.%0a> 65. Memos to channels.%0a> 66. Possible application.%0a> 67. Range of memos to channels.%0a> 68. Storage of memos.%0a> 63. MemoServ is a service to send messages to registered:%0a> First. Users.%0a> Second. Channels.%0a> 64. The advantages of MemoServ are that it:%0a> First. Works whether the target is on- or offline.%0a> Second. Stores messages indefinitely.%0a> 65. MemoServ can be used to send messages to channels. %0a> 66. It is possible to set up a system where the ops of a channel talk to each other while private conversation continues unawares below. I do not believe this system is doable under any other protocol. This will greatly enhance the experience of managing a channel.%0a> %0a> EDIT: The rough setup/layout of such a system requires elaboration. Personal "bias" (I believe) should be avoided. If the system is using channel memos exclusively for communication, there is (often) a hard-enforced limit of how many memos a user/channel can store at once.%0a> %0a> 67. By default only super-ops and the owner will get memos to a channel. If you want people to get memos but do not trust them with super-op powers, your only choices are to use ACCESS or FLAGS.%0a> 68. MemoServ stores and numbers memos so you can look back on them whenever you want.%0a> %0a> EDIT: Memos to channels are Anope-specific (this guide appears a bit strongly based on Rizon).%0a> %0a> Div. 4. Miscellaneous.%0a> 69. VHosts.%0a> 70. Cloaks.%0a> 71. Note for using all services.%0a> 69. To hide your IP on most servers, ask HostServ. One will not be automatically given, but will be approved or rejected at network discretion. Pay attention to the kind of people that use the network and the kind of vHosts other people have to maximize your chances of approval. A vHost (short for "virtual host") is in the form of a domain, but does not actually resolve.%0a> %0a> EDIT: Most modern networks will cloak the hostname by default. A vHost CAN resolve technically speaking, but is often rejected due to network policies (but if one can prove ownership over the domain, it MAY be granted as vHost, this is once again up to the network's discrtion).%0a host:1596331829=38.81.163.143 author:1596331219=jrmu diff:1596331219:1596330724:=7c7%0a%3c Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend [[irc.bouncer/signing up for a bouncer]]. Otherwise, you will lose messages whenever you disconnect.%0a---%0a> Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend signing up for a bouncer, which we provide. Otherwise, you will lose messages whenever you disconnect.%0a host:1596331219=38.81.163.143 author:1596330724=jrmu diff:1596330724:1596330139:=5,6c5,6%0a%3c To chat on IRC, you must first connect to a network. Each network is made up of many servers. [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[https://irc2go.com|irc2go]] also provides a way to search popular networks and channels. To connect, you will need to download [[irc.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a%3c %0a---%0a> To chat on IRC, you must first connect to a network. Each network is made up of many servers. [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[irc2go.com|irc2go]] also provides a way to search popular networks and channels. To connect, you will need to download [[irc.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a> %0a15,16c15,16%0a%3c To send a message to a single user, type /msg %3cnickname> . This will create a private message, or PM for short.%0a%3c %0a---%0a> To send a message to a single user, type /msg %3cnickname> . This will create a private message.%0a> %0a23,38c23,72%0a%3c What most users find surprising about IRC is that by design, you don't have to register to chat. You can pick any nickname/real name you want. The main benefit of this design is that you can be totally anonymous on IRC, something which is impossible on most social networks. As you might expect, however, this can be confusing and can lead to impersonation, harassment, and spam. As a result, many IRC networks encourage you to register and claim your nickname.%0a%3c %0a%3c Unfortunately, IRC in its current state is very fragmented. There is no "One True Services" and so every single network implements its own services in a different and contradictory way. For now, we'll discuss the most common services implemented by Atheme and Anope, which uses Nickserv.%0a%3c %0a%3c To interact with Nickserv, you send the message /msg Nickserv %3ccommand>, like /msg Nickserv help. This will show you all the options available to register a nick, reset a password, and so forth. Once you register a nick, you can then register a channel. To do so, type /msg Chanserv %3ccommand>, like /msg Chanserv help.%0a%3c %0a%3c To leave a channel, type /part. To quit your IRC client, type /quit.%0a%3c To invite a user to your channel, type /invite nickname #channel.%0a%3c %0a%3c To make another user a channel operator, type /mode +o nickname.%0a%3c %0a%3c Sometimes you will have troublesome users. Unfortunately, IRC's method of banning users is confusing and unnecessarily complex. This bad design can and should be fixed someday, as we hope to do by making a more user-friendly app.%0a%3c %0a%3c To kick a user from a channel ban a user, type /kick nickname. This kick is only temporary, however, because a user can rejoin right after being kicked. To ban him permanently from the channel, you must learn how to ban a user.%0a%3c %0a%3c type /mode +b nickname%0a---%0a> Once you connect to a network%0a> %0a> First. Channel to join. Mandatory. The initial symbol must be included.%0a> Second. Channel key. Optional. If you happen to forget it, you may ask ChanServ using /cs GETKEY.%0a> Note. A /join command may fail because the channel you join is an invite-only channel. Again, ask ChanServ for an invite.%0a> %0a> EDIT: See EDIT under 15. for information about /join (joining multiple channels, prefix if # not being mandatory in certain clients etc). Also /cs getkey and /cs invite require sufficient ChanServ channel access.%0a> %0a> 19. Another command is /msg, or /m for short everywhere except Pidgin. It is used for private messages, (DO NOT CALL THEM DIRECT MESSAGES UNLESS YOU WANT TO SOUND LIKE YOU USE DISCORD WHICH YOU SHOULDN'T BECAUSE IT'S GAY.) It has two parameters:%0a> First. The target. Mandatory.%0a> Second. The message. Mandatory.%0a> %0a> EDIT: The bashing of Discord, especially calling it gay, is uncalled for. Uncertain if /m is as universal as /msg. %0a> %0a> 20. The target can be:%0a> First. A user. The message might not get through because the user might not take PMs from unregistered users or have put you on /ignore.%0a> Second. A channel. Channels are set by default not to accept messages from users that are not in them.%0a> Third. A service. In most clients, messages to services do not appear in a separate window.%0a> %0a> EDIT: Uncertain about "most clients". Also technically a service is seen as a user from the perspective of one's client (it just responds via NOTICE by default, so User notices would get as easily lost).%0a> %0a> 21. Another command is /quit. It disconnects you from IRC. The command takes one parameter: a quit message. It is optional to leave a quit message, but usually people will tell a joke in it. If none is given, it will default to "Leaving".%0a> %0a> EDIT: Default can also be a different message (e.g. Unreal defaults to the user's nick if no message was given). Also some networks employ static/fixed/forced quits.%0a> %0a> 22. Another command is /part. It allows you to leave a channel without disconnecting altogether. It has two parameters:%0a> First. A channel to leave. Optional, defaults to channel you are typing /part in.%0a> Second. A part message. Optional, defaults to none.%0a> %0a> EDIT: Like with /join multiple channels may be left simultaneously (/part #A,#B)%0a> %0a> 23. Another two commands are /say and /query. They send a message normally as if no command were being used, and are good for two purposes:%0a> First. Sending a message beginning with / without triggering a command.%0a> Second. PMing someone and opening a separate window with that person (/msg doesn't do that.)%0a> Note. For the first item, if you begin a message with ./ you will be understood.%0a> 24. For using /say and /query, remember that:%0a> First. /say works on channels, while /query works on users.%0a> Second. /say takes only the message as a parameter, while /query takes the same parameters as /msg except it is not possible to /query channels.%0a> %0a> EDIT: /say (at least on mIRC and AdiIRC) only works in the active channel, not a channel of one's choice (source of statement in 24 unclear, perhaps irssi?). Also /say on mIRC can work in queries as well, source: https://en.wikichip.org/wiki/mirc/commands/say#:~:text=The%2520%252Fsay%2520command%2520sends%2520a,%252C%2520use%2520the%2520%252Fmsg%2520command.%0a> %0a> 25. Another command is /invite. For invite only channels, this will be necessary if you want to get someone in. It has two parameters:%0a> First. The user to be invited. Mandatory.%0a> Second. The channel to be invited to. Optional, defaults to current channel. %0a> Note. You have to be an op to use this. If you are already one and can't get in, use ChanServ.%0a> %0a> EDIT: "defaults to current channel" would be client specific behavior, the "actual" /INVITE command requires both params. Also while being op is often needed for this, UnrealIRCd allows anyone to /INVITE by default. Using ChanServ requires sufficient channel level access through ChanServ first.%0a> %0a> %0a> 26. Another set of commands are /op and /deop, /hop and /dehop, /voice and /devoice. They will save you a lot of effort if you don't want to use /mode or ChanServ. %0a host:1596330724=38.81.163.143 author:1596330139=jrmu diff:1596330139:1596329146:=1,2c1,23%0a%3c A Beginner's Guide to IRC%0a%3c %0a---%0a> IRC Made Easy%0a> %0a> Contents%0a> %0a> Introduction.%0a> # The Nature of IRC.%0a> # Connecting.%0a> # Commands.%0a> # Using Network Services.%0a> # Channel and User Modes.%0a> # Tabulation of Mod Roles.%0a> # Further Reading.%0a> %0a> PART I. THE NATURE OF IRC.%0a> 1. IRC, servers, clients.%0a> 2. Clients only receive when they are online.%0a> 3. Networks and channels.%0a> 4. # and & channels.%0a> 5. Life and death of channels.%0a> 6. Channel, network, and server operators.%0a> 7. Existence of # channels.%0a> 8. Commands and ordinary messages.%0a> 9. / for starting commands.%0a5,6c26,27%0a%3c To chat on IRC, you must first connect to a network. Each network is made up of many servers. [[https://netsplit.de/channels/index.en.php|Netsplit.de]] contains a large selection of popular networks. [[irc2go.com|irc2go]] also provides a way to search popular networks and channels. To connect, you will need to download [[irc.bouncer|an IRC client]]. The IRC client will connect to a server on the network to communicate with other users.%0a%3c %0a---%0a> To chat on IRC, you must first connect to a network. Each network is made up of many servers. To connect, you will need to download an IRC client. The IRC client will connect to a server on the network to communicate with other users.%0a> %0a8a30%0a> 4. Channels begin with--%0a11,24c33,111%0a%3c To create a channel, simply join it. The command is /join #channel. Notice how in IRC, a command always begins with "/". A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a%3c %0a%3c Every channel has its own operators, the people who help maintain order in a channel.%0a%3c %0a%3c To send a message to a single user, type /msg %3cnickname> . This will create a private message.%0a%3c %0a%3c The beauty of IRC is that IRC is an open protocol that anyone can write software for. As a result, there is no official IRC client; there are instead hundreds. Here is a list of some of the most [[irc/bouncer|common IRC clients]].%0a%3c %0a%3c When you connect to IRC, you will be asked for the hostname and port of the server, as well as whether you want to use plaintext or SSL (a secured connection). The hostname will look something like irc.ircnow.org. The port will often be 6667 for plaintext and 6697 for SSL. Enabling SSL will ensure that your connection is secured by encryption. Make sure that you have the correct port and that you check if the port uses SSL or not. Using the wrong port and putting the incorrect setting for SSL is a huge cause of connection problems. It is not possible to use SSL on a port if the server doesn't support it.%0a%3c %0a%3c Once you connect to a network, you can type /list. This will list all the visible channels on the network so you can find one to join.%0a%3c %0a%3c Once you connect to a network%0a%3c %0a---%0a> To create a channel, simply join it. The command is /join #channel. A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a> %0a> EDIT: If the channel is set persist (often +P or e.g. +z on Rizon) it will remain even if the last person leaves (as this is implemented in many major IRCd's this should be mentioned). (Also possible with Anope's ChanServ without a persistent channel mode)%0a> %0a> 6. Channels, servers, and networks have their own classes of operators, each having a wider range of power than the one before it.%0a> 7. A channel beginning with # exists--%0a> First. On every server to which a client that is a member of it is connected;%0a> Second. On every server through which a message to every server covered by the first item must pass.%0a> %0a> EDIT: Potentially (most likely) wrong as # channels are global thus they exist on the ENTIRE network (all servers).%0a> %0a> 8. Clients and servers may send commands to servers. An ordinary message is interpreted as "/query %3cmessage>".%0a> %0a> EDIT: An "ordinary message" is interpreted as "msg $active %3cmessage" since /query is used to message a user%0a> %0a> 9. A command always begins with "/".%0a> PART II. CONNECTING.%0a> 10. Clients.%0a> 11. Web chats.%0a> 12. Finding channels.%0a> 13. Server key, address, and nick.%0a> 14. Message of the day.%0a> 15. Joining channels.%0a> 16. Networks.%0a> 17. Autojoins.%0a> 10. There is no single make of client; instead there is a variety of types. Ones I've used are:%0a> mIRC: For Windows. Proprietary shareware with a $20 license fee after 30 days.%0a> Pidgin: For Windows and Linux. Is also a client for many other chat protocols, but is slightly different from more conventional IRC clients.%0a> Trillian: For OS X, Windows, Linux, iOS, and Android. Proprietary, has a free version and a paid version without ads, resembles an IM client much more than an IRC client. Is also a client for its in-house chat protocol.%0a> HexChat: For Windows. FOSS version of XChat, which has a proprietary Windows version that requires payment. Past a certain point, will clear old messages as new messages come in. Has support for mIRC color codes, but not for Chinese characters.%0a> %0a> EDIT: https://hexchat.github.io/downloads.html allows installing HexChat for free and the Windows store version is NOT a must on Win 10, the Win 7 .exe's work perfectly fine%0a> %0a> Irssi: For Linux. A Text Based client, unlike the 4 others, which are GUI clients. Not recommended for new users.%0a> There are also other clients that I haven't used:%0a> Chatzilla (an add-on for Firefox), XChat (FOSS for Linux), WeeChat, Quassel, AdiIRC, etc.%0a> 11. For connecting on the go or from foreign devices, use KiwiIRC (kiwiirc.com) or Mibbit (mibbit.com), or see if the IRC network provides a web chat.%0a> 12. To find IRC channels, use irc2go.com. Most clients will include lists of networks with them.%0a> %0a> EDIT: https://netsplit.de/channels/index.en.php is another good source to mention and more well known%0a> %0a> 13. To connect to IRC, it is needed to provide:%0a> First. A server key or password. Very few servers will have this.%0a> Second. A server address. Use the address the network provides for the whole network; a server will be automatically assigned to you.%0a> Third. A nickname or nick. If your nick is already in use, the server will let you join with numbers added to the end.%0a> %0a> EDIT: It is said very few networks require a server password, which is mostly true, why mention it as first step? Also a username/ident and a realname/gecos MUST be provided as well (filled out in your client). Also the part with "your nick is already in use" is semi-true, it is up to the client whether you "join with numbers added at the end" (short version, that part is client specific, NOT server behavior).%0a> %0a> 14. Once you have connected, you will receive a Message Of The Day. This will usually include ground rules for the network and helpful tips.%0a> 15. From this point on, type "/join [channel, including leading symbol] [password if one is needed]" if you were asked to join a channel, or just "/list" if you're just looking around.%0a> %0a> EDIT: Due to "recent" spamwaves (ongoing for long periods of time) some networks impose a restriction that one must wait a certain duration after connecting to use /list and/or sometimes to /join a channel. Also some clients (e.g. AdiIRC) will work with /join channel (they will join #channel). Perhaps of more relevance is that one may join multiple channels at once via /join #A,#B key-a,key-b (if they need keys add those comma seperated).%0a> %0a> 16. Here are some networks:%0a> Freenode: Focuses on free and open-source software and other collaborative projects. Much more centralized and strictly governed than other IRC networks. (chat.freenode.net)%0a> Rizon: A general-purpose IRC network. It aims to cultivate a free, fun atmosphere. Both entertainment channels like #4chan and #8chan as well as more serious channels like #bibanon are there. (irc.rizon.net)%0a> EFnet: The original IRC network (not exactly, but close enough.) Has no ChanServ or NickServ, so keeping your nickname and channel yours will require some legwork. (irc.efnet.org)%0a> IRCnet: A European split of EFnet. Has no ChanServ or NickServ, so keeping your nickname and channel yours will require some legwork. (open.ircnet.net)%0a> Undernet: Has no NickServ, and registering channels is by application; channels will only be registered if they are active and have 5 regulars. (irc.undernet.net)%0a> These are the biggest ones, but there are many small networks. You're liable to find a good conversation and many friends on any of them, so give them a try!%0a> 17. At this point you may be wondering how to have your client join a channel every time you log on. Your client should have an "execute upon connection" box. Type /join [channel] [password if one is needed] in it.%0a> %0a> EDIT: Some networks have server-sided autojoin channels, where one would need to /part [channel] if joning them is not desired (or an "execute upon connection" is not necessary if those should be joined).%0a> %0a> PART III. COMMANDS.%0a> Prior reading: para. 9.%0a> 18. /join, /j.%0a> 19. /msg, /m%0a> 20. Target of /msg.%0a> 21. /quit.%0a> 22. /part.%0a> 23. /say, /query.%0a> 24. Important notices for /say and /query.%0a> 25. /invite.%0a> 26. /op, /deop, /voice, /devoice, /hop, /dehop.%0a> 27. /ban, /unban, /kick, /kickban, /kb.%0a> 28. /whois, /whowas.%0a> 29. /help.%0a> 18. The first command we will look at is /join or /j. It has two parameters:%0a416,419d502%0a%3c %0a%3c EDIT: If the channel is set persist (often +P or e.g. +z on Rizon) it will remain even if the last person leaves (as this is implemented in many major IRCd's this should be mentioned). (Also possible with Anope's ChanServ without a persistent channel mode)%0a%3c %0a%3c %0a host:1596330139=38.81.163.143 author:1596329146=jrmu diff:1596329146:1596259356:=24,29c24,30%0a%3c IRC stands for Internet Relay Chat, an open protocol that lets people chat online in real-time.%0a%3c %0a%3c To chat on IRC, you must first connect to a network. Each network is made up of many servers. To connect, you will need to download an IRC client. The IRC client will connect to a server on the network to communicate with other users.%0a%3c %0a%3c Because of the way IRC is designed, servers do not store messages for clients. They only relay those messages to clients. This means that when you disconnect, you can't receive any messages. For this reason, we recommend signing up for a bouncer, which we provide. Otherwise, you will lose messages whenever you disconnect.%0a%3c %0a---%0a> 1. Internet Relay Chat, or IRC, is a protocol for communication between:%0a> First. Servers, which carry the communication; and%0a> Second. Clients, which are connected to servers, through which they communicate with each other.%0a> 2. Servers do not store messages for clients; a client will only see the messages servers transmit when it is online.%0a> 3. Servers--%0a> First. May be grouped into networks, which allow channels to be shared;%0a> Second. Carry channels, in which all communication between clients takes place.%0a31,33c32,39%0a%3c On IRC, channels generally begin with the hashtag (#). On networks like Snoonet and Freenode, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.%0a%3c %0a%3c To create a channel, simply join it. The command is /join #channel. A channel is automatically created when the first user joins, and is destroyed when the last user leaves.%0a---%0a> First. # for channels usable throughout the network; and%0a> Second. & for channels usable on one server only. Few networks will have or allow the creation of such channels.%0a> Note. Channels beginning with ## are # channels, and on Freenode are used for conversation unrelated to FOSS.%0a> %0a> EDIT: ## vs # is (mostly) only done by Snoonet and freenode and NOT a general practice.%0a> %0a> 5. A channel is created when the first user joins, and is destroyed when the last user leaves.%0a> Note. When a client joins a channel, it is created on the server to which the client is connected.%0a host:1596329146=38.81.163.143 author:1596259356=jrmu diff:1596259356:1596259356:=1,518d0%0a%3c IRC Made Easy%0a%3c %0a%3c Contents%0a%3c %0a%3c Introduction.%0a%3c # The Nature of IRC.%0a%3c # Connecting.%0a%3c # Commands.%0a%3c # Using Network Services.%0a%3c # Channel and User Modes.%0a%3c # Tabulation of Mod Roles.%0a%3c # Further Reading.%0a%3c %0a%3c PART I. THE NATURE OF IRC.%0a%3c 1. IRC, servers, clients.%0a%3c 2. Clients only receive when they are online.%0a%3c 3. Networks and channels.%0a%3c 4. # and & channels.%0a%3c 5. Life and death of channels.%0a%3c 6. Channel, network, and server operators.%0a%3c 7. Existence of # channels.%0a%3c 8. Commands and ordinary messages.%0a%3c 9. / for starting commands.%0a%3c 1. Internet Relay Chat, or IRC, is a protocol for communication between:%0a%3c First. Servers, which carry the communication; and%0a%3c Second. Clients, which are connected to servers, through which they communicate with each other.%0a%3c 2. Servers do not store messages for clients; a client will only see the messages servers transmit when it is online.%0a%3c 3. Servers--%0a%3c First. May be grouped into networks, which allow channels to be shared;%0a%3c Second. Carry channels, in which all communication between clients takes place.%0a%3c 4. Channels begin with--%0a%3c First. # for channels usable throughout the network; and%0a%3c Second. & for channels usable on one server only. Few networks will have or allow the creation of such channels.%0a%3c Note. Channels beginning with ## are # channels, and on Freenode are used for conversation unrelated to FOSS.%0a%3c %0a%3c EDIT: ## vs # is (mostly) only done by Snoonet and freenode and NOT a general practice.%0a%3c %0a%3c 5. A channel is created when the first user joins, and is destroyed when the last user leaves.%0a%3c Note. When a client joins a channel, it is created on the server to which the client is connected.%0a%3c %0a%3c EDIT: If the channel is set persist (often +P or e.g. +z on Rizon) it will remain even if the last person leaves (as this is implemented in many major IRCd's this should be mentioned). (Also possible with Anope's ChanServ without a persistent channel mode)%0a%3c %0a%3c 6. Channels, servers, and networks have their own classes of operators, each having a wider range of power than the one before it.%0a%3c 7. A channel beginning with # exists--%0a%3c First. On every server to which a client that is a member of it is connected;%0a%3c Second. On every server through which a message to every server covered by the first item must pass.%0a%3c %0a%3c EDIT: Potentially (most likely) wrong as # channels are global thus they exist on the ENTIRE network (all servers).%0a%3c %0a%3c 8. Clients and servers may send commands to servers. An ordinary message is interpreted as "/query %3cmessage>".%0a%3c %0a%3c EDIT: An "ordinary message" is interpreted as "msg $active %3cmessage" since /query is used to message a user%0a%3c %0a%3c 9. A command always begins with "/".%0a%3c PART II. CONNECTING.%0a%3c 10. Clients.%0a%3c 11. Web chats.%0a%3c 12. Finding channels.%0a%3c 13. Server key, address, and nick.%0a%3c 14. Message of the day.%0a%3c 15. Joining channels.%0a%3c 16. Networks.%0a%3c 17. Autojoins.%0a%3c 10. There is no single make of client; instead there is a variety of types. Ones I've used are:%0a%3c mIRC: For Windows. Proprietary shareware with a $20 license fee after 30 days.%0a%3c Pidgin: For Windows and Linux. Is also a client for many other chat protocols, but is slightly different from more conventional IRC clients.%0a%3c Trillian: For OS X, Windows, Linux, iOS, and Android. Proprietary, has a free version and a paid version without ads, resembles an IM client much more than an IRC client. Is also a client for its in-house chat protocol.%0a%3c HexChat: For Windows. FOSS version of XChat, which has a proprietary Windows version that requires payment. Past a certain point, will clear old messages as new messages come in. Has support for mIRC color codes, but not for Chinese characters.%0a%3c %0a%3c EDIT: https://hexchat.github.io/downloads.html allows installing HexChat for free and the Windows store version is NOT a must on Win 10, the Win 7 .exe's work perfectly fine%0a%3c %0a%3c Irssi: For Linux. A Text Based client, unlike the 4 others, which are GUI clients. Not recommended for new users.%0a%3c There are also other clients that I haven't used:%0a%3c Chatzilla (an add-on for Firefox), XChat (FOSS for Linux), WeeChat, Quassel, AdiIRC, etc.%0a%3c 11. For connecting on the go or from foreign devices, use KiwiIRC (kiwiirc.com) or Mibbit (mibbit.com), or see if the IRC network provides a web chat.%0a%3c 12. To find IRC channels, use irc2go.com. Most clients will include lists of networks with them.%0a%3c %0a%3c EDIT: https://netsplit.de/channels/index.en.php is another good source to mention and more well known%0a%3c %0a%3c 13. To connect to IRC, it is needed to provide:%0a%3c First. A server key or password. Very few servers will have this.%0a%3c Second. A server address. Use the address the network provides for the whole network; a server will be automatically assigned to you.%0a%3c Third. A nickname or nick. If your nick is already in use, the server will let you join with numbers added to the end.%0a%3c %0a%3c EDIT: It is said very few networks require a server password, which is mostly true, why mention it as first step? Also a username/ident and a realname/gecos MUST be provided as well (filled out in your client). Also the part with "your nick is already in use" is semi-true, it is up to the client whether you "join with numbers added at the end" (short version, that part is client specific, NOT server behavior).%0a%3c %0a%3c 14. Once you have connected, you will receive a Message Of The Day. This will usually include ground rules for the network and helpful tips.%0a%3c 15. From this point on, type "/join [channel, including leading symbol] [password if one is needed]" if you were asked to join a channel, or just "/list" if you're just looking around.%0a%3c %0a%3c EDIT: Due to "recent" spamwaves (ongoing for long periods of time) some networks impose a restriction that one must wait a certain duration after connecting to use /list and/or sometimes to /join a channel. Also some clients (e.g. AdiIRC) will work with /join channel (they will join #channel). Perhaps of more relevance is that one may join multiple channels at once via /join #A,#B key-a,key-b (if they need keys add those comma seperated).%0a%3c %0a%3c 16. Here are some networks:%0a%3c Freenode: Focuses on free and open-source software and other collaborative projects. Much more centralized and strictly governed than other IRC networks. (chat.freenode.net)%0a%3c Rizon: A general-purpose IRC network. It aims to cultivate a free, fun atmosphere. Both entertainment channels like #4chan and #8chan as well as more serious channels like #bibanon are there. (irc.rizon.net)%0a%3c EFnet: The original IRC network (not exactly, but close enough.) Has no ChanServ or NickServ, so keeping your nickname and channel yours will require some legwork. (irc.efnet.org)%0a%3c IRCnet: A European split of EFnet. Has no ChanServ or NickServ, so keeping your nickname and channel yours will require some legwork. (open.ircnet.net)%0a%3c Undernet: Has no NickServ, and registering channels is by application; channels will only be registered if they are active and have 5 regulars. (irc.undernet.net)%0a%3c These are the biggest ones, but there are many small networks. You're liable to find a good conversation and many friends on any of them, so give them a try!%0a%3c 17. At this point you may be wondering how to have your client join a channel every time you log on. Your client should have an "execute upon connection" box. Type /join [channel] [password if one is needed] in it.%0a%3c %0a%3c EDIT: Some networks have server-sided autojoin channels, where one would need to /part [channel] if joning them is not desired (or an "execute upon connection" is not necessary if those should be joined).%0a%3c %0a%3c PART III. COMMANDS.%0a%3c Prior reading: para. 9.%0a%3c 18. /join, /j.%0a%3c 19. /msg, /m%0a%3c 20. Target of /msg.%0a%3c 21. /quit.%0a%3c 22. /part.%0a%3c 23. /say, /query.%0a%3c 24. Important notices for /say and /query.%0a%3c 25. /invite.%0a%3c 26. /op, /deop, /voice, /devoice, /hop, /dehop.%0a%3c 27. /ban, /unban, /kick, /kickban, /kb.%0a%3c 28. /whois, /whowas.%0a%3c 29. /help.%0a%3c 18. The first command we will look at is /join or /j. It has two parameters:%0a%3c First. Channel to join. Mandatory. The initial symbol must be included.%0a%3c Second. Channel key. Optional. If you happen to forget it, you may ask ChanServ using /cs GETKEY.%0a%3c Note. A /join command may fail because the channel you join is an invite-only channel. Again, ask ChanServ for an invite.%0a%3c %0a%3c EDIT: See EDIT under 15. for information about /join (joining multiple channels, prefix if # not being mandatory in certain clients etc). Also /cs getkey and /cs invite require sufficient ChanServ channel access.%0a%3c %0a%3c 19. Another command is /msg, or /m for short everywhere except Pidgin. It is used for private messages, (DO NOT CALL THEM DIRECT MESSAGES UNLESS YOU WANT TO SOUND LIKE YOU USE DISCORD WHICH YOU SHOULDN'T BECAUSE IT'S GAY.) It has two parameters:%0a%3c First. The target. Mandatory.%0a%3c Second. The message. Mandatory.%0a%3c %0a%3c EDIT: The bashing of Discord, especially calling it gay, is uncalled for. Uncertain if /m is as universal as /msg. %0a%3c %0a%3c 20. The target can be:%0a%3c First. A user. The message might not get through because the user might not take PMs from unregistered users or have put you on /ignore.%0a%3c Second. A channel. Channels are set by default not to accept messages from users that are not in them.%0a%3c Third. A service. In most clients, messages to services do not appear in a separate window.%0a%3c %0a%3c EDIT: Uncertain about "most clients". Also technically a service is seen as a user from the perspective of one's client (it just responds via NOTICE by default, so User notices would get as easily lost).%0a%3c %0a%3c 21. Another command is /quit. It disconnects you from IRC. The command takes one parameter: a quit message. It is optional to leave a quit message, but usually people will tell a joke in it. If none is given, it will default to "Leaving".%0a%3c %0a%3c EDIT: Default can also be a different message (e.g. Unreal defaults to the user's nick if no message was given). Also some networks employ static/fixed/forced quits.%0a%3c %0a%3c 22. Another command is /part. It allows you to leave a channel without disconnecting altogether. It has two parameters:%0a%3c First. A channel to leave. Optional, defaults to channel you are typing /part in.%0a%3c Second. A part message. Optional, defaults to none.%0a%3c %0a%3c EDIT: Like with /join multiple channels may be left simultaneously (/part #A,#B)%0a%3c %0a%3c 23. Another two commands are /say and /query. They send a message normally as if no command were being used, and are good for two purposes:%0a%3c First. Sending a message beginning with / without triggering a command.%0a%3c Second. PMing someone and opening a separate window with that person (/msg doesn't do that.)%0a%3c Note. For the first item, if you begin a message with ./ you will be understood.%0a%3c 24. For using /say and /query, remember that:%0a%3c First. /say works on channels, while /query works on users.%0a%3c Second. /say takes only the message as a parameter, while /query takes the same parameters as /msg except it is not possible to /query channels.%0a%3c %0a%3c EDIT: /say (at least on mIRC and AdiIRC) only works in the active channel, not a channel of one's choice (source of statement in 24 unclear, perhaps irssi?). Also /say on mIRC can work in queries as well, source: https://en.wikichip.org/wiki/mirc/commands/say#:~:text=The%2520%252Fsay%2520command%2520sends%2520a,%252C%2520use%2520the%2520%252Fmsg%2520command.%0a%3c %0a%3c 25. Another command is /invite. For invite only channels, this will be necessary if you want to get someone in. It has two parameters:%0a%3c First. The user to be invited. Mandatory.%0a%3c Second. The channel to be invited to. Optional, defaults to current channel. %0a%3c Note. You have to be an op to use this. If you are already one and can't get in, use ChanServ.%0a%3c %0a%3c EDIT: "defaults to current channel" would be client specific behavior, the "actual" /INVITE command requires both params. Also while being op is often needed for this, UnrealIRCd allows anyone to /INVITE by default. Using ChanServ requires sufficient channel level access through ChanServ first.%0a%3c %0a%3c %0a%3c 26. Another set of commands are /op and /deop, /hop and /dehop, /voice and /devoice. They will save you a lot of effort if you don't want to use /mode or ChanServ. %0a%3c Note. To op yourself when you have the right to do so, use ChanServ.%0a%3c %0a%3c EDIT: While /op and /deop are (most likely) very universally supported, it should be noted these are client sided commands.%0a%3c %0a%3c 27. To punish people, use /ban and /unban, /kick, or /kickban or /kb if you want to do both. People who are under a plain /ban will not be allowed to send messages to the channel, but will still be able to view messages. If they leave, they can't rejoin for the duration of the ban. It takes one parameter, the mask, consisting of three parts:%0a%3c First. The nickname. This will ban everyone using the nickname.%0a%3c Second. The "ident", i.e. the part you see before the @ when someone joins a channel.%0a%3c Third. The host. An IP address or range of IP addresses can be used. If there are no legitimate users from a country or state trolls are posting from, you may do /ban *!*@*.[country code] or /ban *!*@*.[USPS code, e.g. wa for Washington].us. Regular expressions may be used for all 3 parts of the mask.%0a%3c Note. Timed bans are not possible with /ban or /kb. You must /unban manually.%0a%3c %0a%3c EDIT: The commands mentioned here, like above, are client sided (excluding /KICK being server-sided) and if not supported, /MODE +|-b #channel_name nick!user@hostmask must be used instead.%0a%3c %0a%3c 28. To find out what someone's IP is, use /whois and /whowas. The only parameter is the nickname.%0a%3c Note. On Freenode and some other networks, YOUR IP ADDRESS IS NOT MASKED LIKE IT IS ON RIZON. IT IS IN YOUR BENEFIT TO OBTAIN A CLOAK/VHOST AS SOON AS POSSIBLE.%0a%3c %0a%3c EDIT: Cloaks on freenode are NOT designed to hide the IP, see https://freenode.net/kb/answer/cloaks#cloaks-do-not-effectively-hide-your-ip%0a%3c %0a%3c Also /whois may take 2 params, on some IRCd's %3cnick> %3cserver> OR %3cserver> %3cnick>. Often /WHOIS %3cnick> %3cnick> (the same nick) is supported to query idle + signon time (as well as the away reason if the user is /AWAY) on users who are on remote servers (not the one you are on).%0a%3c %0a%3c 29. To know what commands your client supports, use /help. Play around a bit. It'll explain some of the more obscure commands better than I can.%0a%3c PART IV. USING NETWORK SERVICES.%0a%3c 30. Services common to all networks with them.%0a%3c 31. Services that occasionally appear.%0a%3c 32. Scope of part.%0a%3c 33. Querying a server, /ns, /cs, /ms, /hs.%0a%3c 34. HELP.%0a%3c Div. 1. NickServ.%0a%3c Div. 2. ChanServ.%0a%3c Div. 3. MemoServ.%0a%3c Div. 4. Miscellaneous.%0a%3c 30. Every network that has services will have--%0a%3c First. NickServ, for registering nicknames.%0a%3c Second. ChanServ, for registering channels.%0a%3c Third. MemoServ, for sending memos to offline users.%0a%3c Fourth. OperServ, for use by server operators.%0a%3c %0a%3c EDIT: "Every" network is incorrect, e.g. UnderNET and QuakeNet offer services albeit different ones than the usual *Serv ones.%0a%3c %0a%3c 31. Some networks will also have--%0a%3c First. HostServ, for requesting virtual hosts for cloaking IPs.%0a%3c Second. BotServ, for requesting bots.%0a%3c Third. HelpServ, for requesting help.%0a%3c Fourth. FunServ, for trivia games.%0a%3c 32. This work will not attempt to go into an exhaustive description of what every service can do, but will cover the basics of using them as well as some useful functions.%0a%3c 33. To query a server, use /msg [service] [command]. Most, but by no means all, clients will allow you to shorten the query by using:%0a%3c First. For NickServ, /nickserv or /ns.%0a%3c Second. For ChanServ, /chanserv or /cs.%0a%3c Third. For MemoServ, /memoserv or /ms.%0a%3c Fourth. For HostServ, /hostserv or /hs.%0a%3c Note. The latter, abbreviated forms will be used throughout this work.%0a%3c %0a%3c EDIT: These commands are often server-sided and thus not needed to be client-sided. Note that ngIRCd, which IRCNow utilizes, does NOT support these aliases and they must be integrated into the client via scripting/aliasing etc%0a%3c %0a%3c 34. Your first command to a service should always be /msg [service] HELP.%0a%3c Div. 1. NickServ.%0a%3c 35. REGISTER.%0a%3c 36. CONFIRM.%0a%3c 37. IDENTIFY.%0a%3c 38. Auto-identify.%0a%3c 39. GHOST.%0a%3c 40. GROUP.%0a%3c 41. SET ENFORCE.%0a%3c 35. To register a nickname, use /ns REGISTER, with the following two parameters:%0a%3c First. A password.%0a%3c Second. An email address. %0a%3c Note. Registration is highly encouraged, both for the security of your nickname, as well as because some channels won't let you join if you are unregistered to prevent spammers.%0a%3c 36. After you have done so, you will receive an email which will direct you to type /ns CONFIRM followed by a code. The registration will expire if you do not confirm it within 24 hours.%0a%3c %0a%3c EDIT: The user MUST be identified/logged in otherwise the confirmation code will NOT work. (incase they disconnect temporarily).%0a%3c %0a%3c 37. To log in as a registered nickname, use /ns IDENTIFY, with the following parameters:%0a%3c First. A nickname, if it is not your current nickname.%0a%3c Second. The password you registered it as.%0a%3c %0a%3c EDIT: Not ALL NickServs allow specifying the nick (albeit most do) (e.g. Rizon does NOT though).%0a%3c %0a%3c 38. Constantly typing it may be annoying, not to mention revealing of your IP. To have your client "remember" your password, put /ns IDENTIFY [password] in your auto-execute box.%0a%3c %0a%3c EDIT: 37. mentions that one can specify the nickname (in most cases) why is this not mentioned in 38?%0a%3c Most networks support SASL authentication which offers the benefit of e.g. occuring during signon instead of after, and only going to the acual service (so if one uses /msg NickServ then NickServ COULD be an imposter, but SASL would only go to the real one). For SASL regarding various clients see https://freenode.net/kb/answer/sasl%0a%3c %0a%3c 39. Sometimes when you get disconnected there may be a copy of yourself still in the channel. To remove this copy, type /ns GHOST with the following parameters:%0a%3c First. The nickname to be removed.%0a%3c Second. The password of that nick, if you are not in a group with it.%0a%3c Note. If your client allows for it, by all means put down names for your "second alternative" and "third alternative", and register them.%0a%3c 40. If you do get a vHost/cloak, it would be a good idea to group all your nicks under one group, so that all the nicks may use it. %0a%3c Use /ns GROUP with the following parameters:%0a%3c First. A nick you wish to be in the same group with.%0a%3c Second. That nick's password.%0a%3c %0a%3c EDIT: Often /hs group will be necessary as well to "synch" the main nick's vhost with the grouped nicks.%0a%3c %0a%3c 41. To protect your nickname while you are offline, use /ns SET ENFORCE. This will give anybody who uses this nickname 30 seconds to supply the password, or have their nick changed.%0a%3c %0a%3c EDIT: This is Atheme specific, Anope would use /ns SET KILL %0a%3c %0a%3c Div. 2. ChanServ.%0a%3c 42. REGISTER.%0a%3c 43. SET ACCESSTYPE.%0a%3c 44. Ways to use xOP.%0a%3c 45. SOP, AOP, HOP, VOP.%0a%3c 46. xOP.%0a%3c 47. Powers of ops.%0a%3c 48. Voiced people.%0a%3c 49. Half-ops.%0a%3c 50. Ops.%0a%3c 51. Super-ops.%0a%3c 52. Symbols for ops.%0a%3c 53. Purpose of ACCESS.%0a%3c 54. Access levels.%0a%3c 55. HELP LEVELS DESC.%0a%3c 56. LEVELS.%0a%3c 57. ACCESS.%0a%3c 58. Purpose of FLAGS.%0a%3c 59. Nature of FLAGS.%0a%3c 60. HELP FLAGS.%0a%3c 61. FLAGS.%0a%3c 62. Need to register.%0a%3c 42. To register a channel, use /cs REGISTER, with the following three parameters:%0a%3c First. The channel to be registered.%0a%3c Second. A password for that channel. While mandatory, you may wish to enable SECUREFOUNDER to prevent anyone into the hands of which the password might fall from abusing it.%0a%3c Third. A description of that channel, for use with /list.%0a%3c 43. There are three ways to manage the various administrative positions of an IRC channel:%0a%3c First. xOP.%0a%3c Second. ACCESS.%0a%3c Third. FLAGS.%0a%3c Note. To change from one to the other, use /cs SET #channel ACCESSTYPE.%0a%3c %0a%3c EDIT: This is near-exclusive to Rizon using an Anope 1.8.x fork, Atheme and Anope 2.0.x let you use all types simultaneously (assuming the respective modules are loased in the services configs).%0a%3c %0a%3c 44. XOP may be used:%0a%3c First. By /mode.%0a%3c Second. By ChanServ.%0a%3c %0a%3c EDIT: The various XOP levels (VOP, AOP etc) are services sided sets of privileges, which CANNOT be granted via /mode . The various prefixes can be granted via /mode though with sufficient privileges.%0a%3c %0a%3c 45. There are four types of ops:%0a%3c First. Super-ops (SOP).%0a%3c Second. Ops (AOP).%0a%3c Third. Half-ops. (HOP).%0a%3c Fourth. Voiced people. (VOP).%0a%3c %0a%3c EDIT: Sometimes a QOP (quintessential op) is a type as well, like a co-owner (may have different names at times).%0a%3c %0a%3c 46. To add people to each class, use /cs #channel xOP [hence the name] with the single parameter of the nickname of the person to be added.%0a%3c %0a%3c Unless xOP is meant to be replaced with the real levels (AOP, VOP etc) (which is NOT made clear through the wording) this advice literally using xOP is incorrect. %0a%3c %0a%3c 47. Each level of op, except voiced people, can:%0a%3c First. Ban and kick people at or below their level.%0a%3c Second. Give and take access levels at or below their level.%0a%3c 48. Voiced people gain no privileges except the right to keep sending messages when the channel is under +m.%0a%3c 49. Half-ops can set the topic on top of that.%0a%3c 50. Ops, also known as chanops or chops, can ban, give, and take ops and half-ops.%0a%3c 51. Super-ops, or protect-ops, can only be kicked by the channel owner.%0a%3c 52. The symbols for them are:%0a%3c First. For the owner of the channel, ~ before the nick, an orange dot in Hexchat, or a blue flag in Pidgin.%0a%3c Second. For super-ops, & before the nick, a yellow dot in Hexchat, none in Pidgin.%0a%3c Third. For ops, @ before the nick, a blue dot in Hexchat, or a gold sheriff's star in Pidgin.%0a%3c Fourth. For half-ops, %25 before the nick, a light blue dot in Hexchat, or a silver star in Pidgin.%0a%3c Fifth. For voiced people, + before the nick, a blue dot in Hexchat, or a circle with waves protruding out in Pidgin.%0a%3c 53. ACCESS is useful if you wish all users of a certain class to have privileges other than the default granted by xOP.%0a%3c 54. The access levels are:%0a%3c First. The founder, 10000.%0a%3c Second. Super-ops, 10.%0a%3c Third. Ops, 5.%0a%3c Fourth. Half-ops, 4.%0a%3c Fifth. Voiced people, 3.%0a%3c Sixth. Ordinary users, 0.%0a%3c Seventh. Banned people, -1.%0a%3c Note. The gaps between access levels are deliberate, to enable the formation of new access levels.%0a%3c 55. For a list of access levels with their features, use /cs HELP LEVELS DESC.%0a%3c 56. To adjust them, use /cs LEVELS with the following parameters:%0a%3c First. The channel on which the change is to take place.%0a%3c Second. LIST, to simply list the privileges of the current access levels for the channel and SET, to change them.%0a%3c Third. The feature (found using HELP LEVELS) the right to use which is sought to be changed.%0a%3c Fourth. The numerical access level to change it to.%0a%3c 57. To add or remove a person to the access list, use /cs ACCESS with the following parameters:%0a%3c First. The channel whose access list is sought to be changed.%0a%3c Second. ADD to add someone and DEL to remove someone.%0a%3c Third. The nick of the person to be added or removed.%0a%3c Fourth. The access level to which they are to be added (for ADD only).%0a%3c Note. To change the access level of a person, repeat this process.%0a%3c 58. FLAGS should be used if and only if you would like to fine-tune and individualize what every person is able to do.%0a%3c 59. FLAGS contains a list of attributes which are added to individual nicks as appropriate.%0a%3c Note. These "attributes" contain one letter, and ARE NOT coterminous or identical to the "features" of ACCESS!%0a%3c 60. To see a list of flags, use /cs HELP FLAGS.%0a%3c Note. Flags are case sensitive.%0a%3c 61. To use FLAGS, use /cs FLAGS with the following parameters:%0a%3c First. The channel.%0a%3c Second. The nick.%0a%3c Third. + or - followed by one-letter "flags".%0a%3c Note. +* to add all privileges, -* to remove all.%0a%3c %0a%3c EDIT: /cs levels is Anope exclusive, and NOT universal in all services out there.%0a%3c %0a%3c 62. It is absolutely necessary to be registered to register channels as well as be opped under either of these three systems. (Unless you use /mode, which expires every time you log off.) This is another incentive to register and have everyone in your channel register as well.%0a%3c %0a%3c EDIT: "oped under one of these three systems" to register a channel is incorrect, the user must be oped which is correct. If they are oped via xOP or ACCESS or FLAGS the channel already is registered.%0a%3c %0a%3c Div. 3. MemoServ.%0a%3c 63. MemoServ.%0a%3c 64. Advantages.%0a%3c 65. Memos to channels.%0a%3c 66. Possible application.%0a%3c 67. Range of memos to channels.%0a%3c 68. Storage of memos.%0a%3c 63. MemoServ is a service to send messages to registered:%0a%3c First. Users.%0a%3c Second. Channels.%0a%3c 64. The advantages of MemoServ are that it:%0a%3c First. Works whether the target is on- or offline.%0a%3c Second. Stores messages indefinitely.%0a%3c 65. MemoServ can be used to send messages to channels. %0a%3c 66. It is possible to set up a system where the ops of a channel talk to each other while private conversation continues unawares below. I do not believe this system is doable under any other protocol. This will greatly enhance the experience of managing a channel.%0a%3c %0a%3c EDIT: The rough setup/layout of such a system requires elaboration. Personal "bias" (I believe) should be avoided. If the system is using channel memos exclusively for communication, there is (often) a hard-enforced limit of how many memos a user/channel can store at once.%0a%3c %0a%3c 67. By default only super-ops and the owner will get memos to a channel. If you want people to get memos but do not trust them with super-op powers, your only choices are to use ACCESS or FLAGS.%0a%3c 68. MemoServ stores and numbers memos so you can look back on them whenever you want.%0a%3c %0a%3c EDIT: Memos to channels are Anope-specific (this guide appears a bit strongly based on Rizon).%0a%3c %0a%3c Div. 4. Miscellaneous.%0a%3c 69. VHosts.%0a%3c 70. Cloaks.%0a%3c 71. Note for using all services.%0a%3c 69. To hide your IP on most servers, ask HostServ. One will not be automatically given, but will be approved or rejected at network discretion. Pay attention to the kind of people that use the network and the kind of vHosts other people have to maximize your chances of approval. A vHost (short for "virtual host") is in the form of a domain, but does not actually resolve.%0a%3c %0a%3c EDIT: Most modern networks will cloak the hostname by default. A vHost CAN resolve technically speaking, but is often rejected due to network policies (but if one can prove ownership over the domain, it MAY be granted as vHost, this is once again up to the network's discrtion).%0a%3c %0a%3c 70. On Freenode, there is no HostServ. Instead "cloaks" (their name for vHosts) are to be manually requested in #freenode. If you are affiliated with a FOSS project, you may request a cloak of that project, in the form project/role/user. If you do not meet that project's policy for letting you have cloaks, you can get an "unaffiliated" cloak, in the form unaffiliated/accountname.%0a%3c Note. It is possible through manipulating ChanServ to reveal a person's IP. The details will not be discussed here, both because I cannot see a reason someone would want to know this without malicious intent, and because I personally do not know how. But the take-away is that cloaks are not completely secure and complete security requires a VPN or Tor.%0a%3c %0a%3c EDIT: Personal wording should be avoided, also using a VPN does not guarantee one is "completely secure", this is still shifting trust in the end, and a VPN provider can be dodgy/have malicious intentions as well (tl;dr: one should not blindly trust a VPN 100%25 with one's sensitive data).%0a%3c %0a%3c 71. Unlike private messages with users, messages to services are NOT in a separate window, except in Pidgin. Thus it is EXTREMELY EASY to accidentally divulge your password if you mistype something. For that reason I would recommend not using a password you use anywhere else, and always double checking if you have the prefix "/msg NickServ" completely right.%0a%3c %0a%3c EDIT: Advice usually given is /query NickServ so that NOTICEs do not get lost. This has nothing to do with *Serv bots et al being services, but simply responding via NOTICE by default (can at times be optionally changed to use PRIVMSG).%0a%3c %0a%3c PART V. CHANNEL AND USER MODES.%0a%3c 72. Divisions of modes.%0a%3c 73. Classes of channel modes.%0a%3c 74. How to set modes.%0a%3c 75. Adding or removing multiple modes.%0a%3c Div. 1. Channel Modes.%0a%3c Div. 2. User Modes.%0a%3c 72. Modes are divided into:%0a%3c First. User modes, set by a user upon themselves or a server upon a user.%0a%3c Second. Channel modes, set by an op upon a channel or users in it, or by a server or service upon a channel.%0a%3c Third. Server modes, set by a server operator upon their server, which is beyond the scope of this work.%0a%3c %0a%3c EDIT: Server modes? Modes set upon a server? Source required as this seems to be more theoretical "what could be someday" by some RFCs (which also stated nicknames would become obsoleted).%0a%3c %0a%3c 73. Channel modes are in this work considered in two classes:%0a%3c First. Modes set by an op upon a channel.%0a%3c Second. Modes set by an op upon its users, giving them privileges or restrictions.%0a%3c 74. To set modes, use /mode, with the following parameters:%0a%3c First. The target of the mode, be it a user for the first division of modes, or a channel for the second.%0a%3c Second. + or - and the mode or modes to be added or removed.%0a%3c Third. Any parameter for the mode.%0a%3c 75. Multiple modes may be added at the same time, but:%0a%3c First. The modes and the parameters must be grouped together; as "/mode #channel +bbbb troll1 troll2 troll3 troll4" (to ban 4 trolls with 1 /mode).%0a%3c Second. There must be as many modes as there are parameters.%0a%3c Third. The same action cannot both add and remove modes.%0a%3c %0a%3c EDIT: Incorrect, it is possible to "mix up" modes e.g. "/mode #channel +b+e troll1*@* good_user1!*@*" is permitted. (Also correct syntax should be used in examples, as in troll1!*@* troll2!*@* etc). %0a%3c Second is incorrect as well, there are modes which require no parameters, thus one could e.g. set 1 ban, but also moderated and secret. so "/mode #channel +bsm troll3!*@*" is valid.%0a%3c Third is incorrect as well, one may set AND remove modes simultaneously.%0a%3c %0a%3c Div. 1. Channel Modes.%0a%3c 76. First step of channel modes.%0a%3c 77. +k.%0a%3c 78. +i.%0a%3c 79. +b.%0a%3c 80. +e.%0a%3c 81. +I.%0a%3c 82. Modes of different op grades.%0a%3c 83. Applications.%0a%3c 84. +r.%0a%3c 85. +m.%0a%3c 86. +M.%0a%3c 76. In this division, the first step is always /mode followed by the target channel.%0a%3c 77. To make a channel require a password to join:%0a%3c First. "+k".%0a%3c Second. The password, case sensitive.%0a%3c 78. To make a channel invite-only, "+i".%0a%3c 79. To ban someone:%0a%3c First. +b.%0a%3c Second. The mask intended to be banned. [See para. 27.]%0a%3c 80. To exempt someone from banning:%0a%3c First. +e.%0a%3c Second. The mask intended to be excepted.%0a%3c 81. To exempt someone from having to be invited:%0a%3c First. +I.%0a%3c Second. The mask intended to be exempted.%0a%3c 82. To use xOP through /mode [see para. 44]:%0a%3c First. To make someone owner, +q.%0a%3c Second. To super-op someone, +a.%0a%3c Third. To op someone, +o.%0a%3c Fourth. To half-op someone, +h.%0a%3c Fifth. To voice someone, +v.%0a%3c 83. It is possible to use /mode to op people through masks as well as nicks. This may be useful on Freenode.%0a%3c %0a%3c EDIT: Incorrect. /mode #channel +o requires a nickname as a paramemter. Perhaps using ChanServ to op by masks was meant?%0a%3c %0a%3c 84. To prevent unregistered users from joining, +r.%0a%3c %0a%3c EDIT: As this is a common countermeasure recommended, it should be noted that often the chanmode is +R.%0a%3c %0a%3c 85. To prevent unvoiced users from talking (but not from viewing), +m.%0a%3c Note. You may want to use LEVELS SET AUTOVOICE 0 to auto-voice people, and then strip voice when they become troublemakers.%0a%3c %0a%3c EDIT: Once again Anope specific advice, for Atheme one may wish to /cs flags #chan *!*@* +V (do note that all an abuser would have to do in either case is leave and rejoin to get voiced again).%0a%3c Also 0 in Anope should mean "all users" but actually means "all registered users". In effect, -1 is "all users" (despite the help files saying otherwise).%0a%3c %0a%3c 86. To prevent unvoiced AND unregistered users from talking (but not from viewing), +M.%0a%3c Note. The above three measures are all very good defenses against low-effort trolls.%0a%3c %0a%3c At least partially incorrect, +M often only blocks unregistered users from speaking. If they are registered but NOT voiced, they are usually permitted to speak. Also +M CAN have different functionalities.%0a%3c %0a%3c Div. 2. User Modes.%0a%3c 87. +R.%0a%3c 88. +p.%0a%3c 87. To block private messages from unregistered users, +R.%0a%3c 88. To hide channels the enquirer doesn't share with you, as well as sign-on and idle time from /whois, +p.%0a%3c %0a%3c EDIT: This is Unreal and Rizon-specific advice, on InspIRCd one would use user mode +I to hide channels, on freenode user mode +i (set by default) hides non-common channels. Also of note that Unreal's and Insp's chan hiding do NOT hide the idle + signon time. (Again the guide appears to cater a lot to Rizon, then to freenode).%0a%3c %0a%3c Note. Freenode does that automatically, but MOST OTHER NETWORKS DON'T, and thus this information, in conjunction with others can be a versatile tool for investigating trolls.%0a%3c %0a%3c EDIT: freenode no longer sets +R by default.%0a%3c %0a%3c THE END.%0a%3c TABULATION OF MOD ROLES.%0a%3c ------------------------------------------------------------------------------------------------------%0a%3c | Common name | /mode code | Symbol (text based) | Symbol (Hexchat) | Symbol (Pidgin) | ACCESS level |%0a%3c | Owner | +q | ~ | Orange dot | Blue flag | 10000 |%0a%3c | Super-op | +a | & | Yellow dot | None | 10 |%0a%3c | Op | +o | @ | Blue dot | Gold hexagram | 5 |%0a%3c | Half-op | +h | %25 | Light blue dot | Silver star | 4 |%0a%3c | Voiced | +v | + | Blue dot | "Connection" | 3 |%0a%3c ------------------------------------------------------------------------------------------------------%0a%3c FURTHER READING.%0a%3c Note: The sources provided herein are for purposes of comparison and reference only. No inference of endorsement or responsibility for any part of any of their contents is to be drawn or can be accepted.--Author.%0a%3c Original IRC RFC's:%0a%3c RFC 1459 by Jarkko Oikarinen (inventor of IRC): https://tools.ietf.org/html/rfc1459%0a%3c RFC 2811 "Channel Management" : https://tools.ietf.org/html/rfc2811%0a%3c RFC 2812 "Client Protocol": https://tools.ietf.org/html/rfc2812%0a%3c Rizon Wiki https://wiki.rizon.net/index.php?title=Main_Page%0a%3c AnopeWiki https://wiki.anope.org/index.php/Main_Page%0a%3c Atheme Wiki https://github.com/atheme/atheme/wiki%0a%3c UnrealIRCd Documentation Wiki https://www.unrealircd.org/docs/Main_Page%0a\ No newline at end of file%0a host:1596259356=38.81.163.143