-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #56 from RITlug/add/irc-channel
Modernize IRC channel SOP (contributes to RITlug/tasks#8)
- Loading branch information
Showing
1 changed file
with
136 additions
and
100 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,171 +1,207 @@ | ||
The RITlug IRC Channel | ||
====================== | ||
########### | ||
IRC channel | ||
########### | ||
|
||
Overview | ||
-------- | ||
|
||
RITlug maintains an IRC channel on Freenode, which is open to the public. | ||
RITlug members are free to discuss any topic in the IRC channel, although it is expected that discussion adheres to RIT and Freenode policies (academic dishonesty, slander, threats, or anything else deemed inappropriate by club leadership may result in a warning or a ban at the discretion of the Op(s)) | ||
|
||
The IRC channel is available on Freenode as #ritlug. | ||
If you're not familiar with Freenode and/or IRC, you may want to brush up on your IRC basics. Here's a few things to get you started: | ||
|
||
1. Connect to Freenode using the client of your choosing (IRSSI, Pidgin, etc) | ||
The purpose of this document is to inform and instruct how to manage the RITlug IRC channel on the Freenode IRC servers. | ||
|
||
- Server: irc.freenode.net | ||
- Username: Whatever you go by! | ||
- Protocol: IRC | ||
- Password: None | ||
|
||
2. Set your nick (May not be necessary if you set a username in your client) | ||
|
||
- ``/nick <your new name>`` | ||
|
||
3. Register your Nick (required if you will have Op privileges, highly recommended otherwise) | ||
******** | ||
Overview | ||
******** | ||
|
||
- ``/msg NickServ register <Your Email> <Your Password>`` | ||
- NickServ will email you a confirmation code | ||
RITlug maintains a public IRC channel on Freenode. | ||
The channel is available on `Freenode`_ as ``#ritlug``. | ||
Additionally, it is bridged to the ``#general`` channel on Slack. | ||
Interactions and behavior for IRC adhere to all existing university and club policies. | ||
These policies are not defined in this document. | ||
|
||
4. Join the RITlug channel: ``/join #ritlug`` | ||
|
||
Other commands are detailed in the sections below. | ||
******************** | ||
Join the IRC channel | ||
******************** | ||
|
||
Adding a new Op | ||
--------------- | ||
Riot | ||
==== | ||
|
||
*This requires you to already have Op privileges* | ||
For more information about using Riot as an IRC client, read this article on `how to use Riot for IRC <https://opensource.com/article/17/5/introducing-riot-IRC>`__. | ||
|
||
As an Op, you can modify the permissions of other Ops (assuming you have permission to do so) so you can granularly control access if necessary. | ||
Web chat | ||
======== | ||
|
||
After signing in and identifying with NickServ (you will be prompted) | ||
A short-term chat session in your browser is possible. | ||
You will only remain connected as long as you are online. | ||
Join the channel via the `Freenode web chat bridge <https://webchat.freenode.net/?channels=ritlug>`__. | ||
|
||
:: | ||
IRC client | ||
========== | ||
|
||
/msg ChanServ #ritlug add <username to add> +AOfiorstv | ||
These instructions apply if you are using a more traditional IRC client. | ||
|
||
The flags (letters following the +) are detailed in `Flags <#flags>`__. | ||
You can add or remove flags as necessary in the command depending on the access you want to grant. Some flags can't be granted due to permissions, such as Founder. | ||
1. Connect to Freenode using the client of your choosing (IRSSI, HexChat, Pidgin, etc) | ||
|
||
For removing an Op, scroll down to Managing Access. | ||
- **Server**: irc.freenode.net | ||
- **Username**: preferred public username in chat | ||
- **Protocol**: IRC | ||
- **Password**: None | ||
|
||
Checking Access | ||
--------------- | ||
2. Register your nick, or username, with NickServ (required for operator privileges, highly recommended for all) | ||
|
||
ChanServ allows you to check (if you have permissions to do so) who has what access to the channel. | ||
- ``/query NickServ register <your email> <your password>`` | ||
- NickServ emails a confirmation code | ||
|
||
:: | ||
3. Join the RITlug channel: ``/join #ritlug`` | ||
|
||
/msg ChanServ access #ritlug list | ||
|
||
or with | ||
****************** | ||
Add a new operator | ||
****************** | ||
|
||
:: | ||
An operator is IRC lingo for a channel administrator. | ||
An operator can kick, quiet, and ban other users in the channel. | ||
They also have other permissions, like changing the channel's topic and adjusting other channel metadata. | ||
New operators may only be added by current operators. | ||
|
||
/msg ChanServ access #ritlug info <user to check> | ||
First, sign in to IRC and ensure you identify your username with NickServ. | ||
After, run the following command to add a new operator:: | ||
|
||
Managing Access | ||
--------------- | ||
/query ChanServ ACCESS #ritlug ADD <Freenode username> +AORfiorstv | ||
|
||
You can update a user's access levels after adding them, as necessary. | ||
You MUST add the user, as described in Adding a New Op above, or the permissions you grant will only be temporary. | ||
Access levels are controlled using what are referred to as `Flags <#flags>`__. | ||
The flags (letters following the ``+``) are detailed in `Flags <#flags>`__. | ||
Some flags can't be granted due to permissions, such as Founder. | ||
|
||
Adding permissions to a user | ||
|
||
:: | ||
******************** | ||
Check channel access | ||
******************** | ||
|
||
/msg ChanServ flags #ritlug <user to change> +<your flags to add> | ||
ChanServ allows you to check (if you have permissions) who has what access to the channel. | ||
Run either of the following commands to see the access list for the entire channel or for a specific user:: | ||
|
||
Removing permissions from a user | ||
/query ChanServ ACCESS #ritlug LIST | ||
/query ChanServ ACCESS #ritlug INFO <user to check> | ||
|
||
:: | ||
|
||
/msg ChanServ flags #ritlug <user to change> -<your flags to add> | ||
************************************* | ||
Manage channel access and permissions | ||
************************************* | ||
|
||
*(note the +/- in the commands above)* | ||
You can update a user's access levels after adding them via ChanServ. | ||
Access levels are controlled using `flags <#flags>`__. | ||
|
||
You can add and remove multiple flags at a time by tacking them onto the command, for example | ||
Add permissions to user | ||
======================= | ||
|
||
:: | ||
|
||
/msg ChanServ flags #ritlug <user to change> +Afi | ||
/query ChanServ ACCESS #ritlug ADD <Freenode username> +<your flags to add> | ||
|
||
or by using wildcards (\*), for example | ||
You can add or remove multiple flags at once by appending them:: | ||
|
||
:: | ||
/query ChanServ ACCESS #ritlug ADD <Freenode username> +Vv | ||
|
||
/msg ChanServ flags #ritlug <user to change> -* | ||
Remove permissions from user | ||
============================ | ||
|
||
Removing a user from the access list (removing all their permissions as well) | ||
Remove a user from the access list and all of their permissions:: | ||
|
||
:: | ||
/query ChanServ ACCESS #ritlug DEL <Freenode username> | ||
|
||
/msg ChanServ access #ritlug del <user to remove> | ||
|
||
***** | ||
Flags | ||
----- | ||
***** | ||
|
||
Flags are used to grant and revoke access on the channel. | ||
Flags grant and revoke access to the channel. | ||
|
||
.. raw:: html | ||
|
||
<pre> | ||
Flag Description | ||
+v Enables use of the voice/devoice commands. | ||
+V Enables automatic voicing. | ||
+o Enables the use of the op/deop commands. | ||
+O Enables automatic op | ||
+s Enables the use of the SET command | ||
+i Enables use of the INVITE and GETKEY commands. | ||
+r Enables use of the KICK, KICKBAN, BAN and UNBAN commands. | ||
+R Enables use of the RECOVER and CLEAR commands. | ||
+f Enables modification of channel access lists. | ||
+t Enables use of the TOPIC and TOPICAPPEND and TOPICPREPEND commands. | ||
+A Enables viewing of channel access lists. | ||
+S Marks the user as a SUCCESSOR. | ||
+F Grants full founder access. | ||
+b Enables automatic kickban. | ||
+e Exempts from +b and enables unbanning self. | ||
Flag Description | ||
+v Enables use of the voice/devoice commands. | ||
+V Enables automatic voicing. | ||
+o Enables the use of the op/deop commands. | ||
+O Enables automatic op | ||
+s Enables the use of the SET command | ||
+i Enables use of the INVITE and GETKEY commands. | ||
+r Enables use of the KICK, KICKBAN, BAN and UNBAN commands. | ||
+R Enables use of the RECOVER and CLEAR commands. | ||
+f Enables modification of channel access lists. | ||
+t Enables use of the TOPIC and TOPICAPPEND and TOPICPREPEND commands. | ||
+A Enables viewing of channel access lists. | ||
+S Marks the user as a SUCCESSOR. | ||
+F Grants full founder access. | ||
+b Enables automatic kickban. | ||
+e Exempts from +b and enables unbanning self. | ||
</pre> | ||
|
||
Handling Problem Users | ||
---------------------- | ||
|
||
Problem users may include users who are frequently disruptive, rude, or engage in activities that RIT and/or Freenode do not approve of. | ||
If a user becomes a problem, they should be warned and reminded of the channel policies. | ||
If they are a problem repeatedly, then additional action should be taken. | ||
************************** | ||
How to respond to conflict | ||
************************** | ||
|
||
This section explains how to respond to conflict in the IRC channel. | ||
Sometimes it may be from club members. | ||
More likely, it will be from spammers or groups not associated with RIT. | ||
|
||
For RIT students, faculty, and staff, their behavior in the channel is governed by RIT and RITlug club policy. | ||
Policy is not defined in this document. | ||
As a reminder, RIT policies apply to all students whether or not they are on campus at the time of the offense, if it is against another RIT student or RIT. | ||
|
||
It can sometimes be difficult to identify users in IRC. | ||
If their real life identity is known and they are a current RIT student or faculty and they repeatedly violate RIT policies, they should be reported to the proper RIT authorities (Public Safety, Student Conduct, or for cases of academic dishonesty, their department). | ||
|
||
Problem users in IRC can be kicked from the channel by doing | ||
Kick out a user | ||
=============== | ||
|
||
:: | ||
Kick out a user from the IRC channel with this command:: | ||
|
||
/kick <problem user> | ||
/kick <username> | ||
|
||
Repeatedly problematic users can be banned from the channel by name or by hostmask by doing | ||
Kick and permanently ban a user | ||
=============================== | ||
|
||
:: | ||
If a kick does not end the conflict, a user may be banned from the channel. | ||
When banning a user, IRC does not typically remove them from the channel. | ||
The recommended action is issuing a **kick-ban**. | ||
The following command kicks out and bans someone from the channel by their name or `hostmask <http://www.geekshed.net/2012/03/what-is-a-hostmask/>`__:: | ||
|
||
/msg ChanServ akick #ritlug add <problem user OR hostmask> | ||
/query ChanServ akick #ritlug ADD <username OR hostmask> | ||
|
||
You can also specify a reason for the ban by adding it to the end of the command. Bans can expire after a period of time or can be permanent: | ||
It is recommended to add a reason to a ban for archive purposes. | ||
Append a reason to a permanent ban with this command:: | ||
|
||
:: | ||
/query ChanServ akick #ritlug ADD <username OR hostmask> !P Permanently banned for harassing other RITlug members | ||
|
||
Kick and temporarily ban a user | ||
=============================== | ||
|
||
Set a ban with a time expiration with this command:: | ||
|
||
/msg ChanServ akick #ritlug add <problem user> !P You are banned permamently | ||
/msg ChanServ akick #ritlug add <problem user> !T 5d You are banned for 5 days | ||
/query ChanServ akick #ritlug ADD <username OR hostmask> !T 5d Banned for five days: Rude behavior towards others | ||
|
||
You can view the list of banned users with | ||
List all banned users | ||
===================== | ||
|
||
:: | ||
|
||
/msg ChanServ akick #ritlug list | ||
/query ChanServ akick #ritlug LIST | ||
|
||
And you can unban a user by running | ||
Unban a user | ||
============ | ||
|
||
:: | ||
|
||
/msg ChanServ akick #ritlug del <no longer problem user> | ||
/query ChanServ akick #ritlug DEL <username OR hostmask> | ||
|
||
|
||
********************* | ||
Channel configuration | ||
********************* | ||
|
||
.. note:: | ||
|
||
This section will explain how the channel is configured, in light of the August 2018 Freenode spam attacks. | ||
It will be added soon. | ||
|
||
|
||
.. _Freenode: https://freenode.net/ |