# channel operator quick reference direct discussion about administrative action away from the main channel and into `#reddit-diabetes-ops`. the goal is to minimise disruption to the channel caused by debates about administrative enforcement and rules-lawyers. our `-ops` channel is *the* place where users should come to ask for our help. examples: - any sort of operator request or discussion of channel administration in the main channel - PMs asking why a ban was set - reports of harassment (unless the user is confiding in you) - any request for operator action ## changing channel access permissions - consider a mute instead of setting a ban, unless they are an obvious troll/flooder/spammer - a `/kick` without a ban can be used as a warning - if a ban is necessary, try to keep your nick from publicly appearing as the user who set the ban. this is especially important if you have interacted with the user in the channel, to prevent any suspicion of bias. using chanserv for enforcement accomplishes this nicely. ## hostmasks - about hostmasks [https://en.wikipedia.org/wiki/Internet_Relay_Chat#Hostmasks](https://en.wikipedia.org/wiki/Internet_Relay_Chat#Hostmasks) - to ban a user by IP address, use a hostmask like `*!*@1.2.3.4` or `*!*@ip-4-3-2-1.city.dynamic.someisp.net` - think twice before setting bans for pools of ip addresses with masks like `*!*@1.2.3.*` or `*!*@*.someisp.net`, but if abuse is persistent and correlates strongly with the pool it is better to set a ban that is too broad than too narrow and refine it after you have regained control of the channel ## the copypasta note that requesting chanserv to do anything will require you to be authenticated to your nickserv - to op yourself: `/msg chanserv op #reddit-diabetes` - to kick a user out of the channel (requires op): `/kick nick` - to mute a user: `/msg chanserv quiet #reddit-diabetes nick!ident@ip.ad.dr.ess` - to unmute a user: `/msg chanserv unquiet #reddit-diabetes nick!ident@ip.ad.dr.ess` - to list muted users: `/mode #reddit-diabetes +q` - to set a mute mode (requires op): `/mode #reddit-diabetes +q nick!ident@ip.ad.dr.ess` - to ban a user: `/msg chanserv akick #reddit-diabetes add nick!ident@ip.ad.dr.ess ban reason | private notes` - to unban a user: `/msg chanserv akick #reddit-diabetes del nick!ident@ip.ad.dr.ess` - to list bans: `/msg chanserv akick #reddit-diabetes list` - to list ban modes: `/mode #reddit-diabetes +b` - to set a ban mode (requires op): `/mode #reddit-diabetes +b nick!ident@ip.ad.dr.ess` ## handling troll/flood barrages - try to handle it with quick `/kick` commands and subsequent `akick` rules - hilight or PM other ops for help - if you are overwhelmed, you can regain some stability by muting unregistered users with `/mode #reddit-diabetes +q $~a` while you ban the ip addresses that the troll is wielding. if you need to do this, throw this link in the topic to explain the situation: [http://git.io/zrffqw](http://git.io/zrffqw) ## resources for operator advice - [https://freenode.net/channel_guidelines.shtml](https://freenode.net/channel_guidelines.shtml) - [https://freenode.net/using_the_network.shtml](https://freenode.net/using_the_network.shtml) - `##chops-lounge` is a great source for advice ## reference information to link to users - our old community rules post would work well enough if a user asks why their behavior is not allowed [http://www.reddit.com/r/diabetes/comments/1677wz/meta_rules_for_our_community/](http://www.reddit.com/r/diabetes/comments/1677wz/meta_rules_for_our_community/) - `#freenode` [https://webchat.freenode.net/?channels=freenode](https://webchat.freenode.net/?channels=freenode) if they are having general technical issues