Having users diffuse the situation on their own is always the best outcome, tension might have built up from misunderstandings caused by language barriers or missed steps during troubleshooting for example. Freenode, the IRC network we use, call these users Catalysts:
Catalysts try to resolve problems, not through the use of authority and special privilege, but by fostering consensus, gently nudging participants in the direction of more appropriate behavior and by generally reducing the level of confrontation rather than confronting users with problems.
If a moderator has to step in and resolve a situation, it is important to not make rash decision, look at what has happened and make an educated decision based on facts rather than heat of the moment calls for intervention, if you are not already in the room when a situation occurs, consult the channel logs to ensure a fair judgement on the situation.
Please do keep in mind that a show of force should always be the last resort, and attempting to resolve the situations through conversation is the recommended approach, at times a conversation can be overrules by OPing up (getting a channel moderation prefix) to show that your say s final, but this should not be the default approach to solving a situation.
When all else fails, you may move on to more extreme reactions.
The first action you’ll want to do when taking action against a user is to look up the user with a `/whois` command, an example output is as follows:
Clorith is ~firstname.lastname@example.org * marius
Clorith on #wordpress #wordpress-social
Clorith using asimov.freenode.net TX, USA
Clorith is logged in as Clorith
Clorith End of /WHOIS list.
From this we can determine where I am connecting from, if their nickname is registered on the IRC network and such. This is all handy information for later on.
What is important to take not of here is if there are obvious indications of this being either a proxy connection, or a dynamic IP address. If it’s a dynamic IP you may wish to do a “ident and wildcard host” match that takes a subnet into account (this is to try and not affect other users on the same subnet):
A proxy can be handled any way you like, it’s a throwaway and you won’t see it again any time soon, so any pattern you deem worthy will work there.
If they have a registered nickname, you can target the nickname alone, as they are likely to keep using it:
Kicking a user is usually done in conjunction with a ban, or to drive a point across if the user does not wish to listen but you don’t wish to punish them for an extended period of time. (The latter being a dubious approach, but unfortunately what it is often used for)
One of the two most extreme measures you can take in an IRC channel is banning the user. This action wil bar entry to the channel, and should always be used in conjunction with a kick (a user may still speak if they are in the channel, a ban only blocks entry).
/mode #WordPress +b $host
Again utilizing the pattern from the WhoIs earlier, we apply a ban to the user.
IRC users can take direct actions the wrong way, it is not uncommon that a ban will result in you needing to watch the channel for proxy connections from disgruntled users for some period of time after performing any of the extreme measures above. It is important that someone is available to moderate the room after action is taken in case of such situations.
There may be strength in numbers, but there’s wisdom in few.
If someone is already diffusing a situation, don’t jump in and add to it, if it’s already calming down this may making the user feel ganged up on, or restarting the whole ordeal might have a negative impact and lead to frustration and escalation.
ChanServ has many handy commands, which can all be accessed using the help command