Last updated 1 September 2017.


You'll often see people performing so called actions in IRC. Unlike talking normally, actions say to the IRC channel something that you're doing. You precede the action with /me. For example: /me shakes fist in the air in frustration about learning IRC.

While on Drupal's IRC channels, there may be several other conversations occurring simultaneously. To avoid confusion as to who is talking to whom, it is common courtesy to start your sentence out with the recipient's user name as it appears in the channel member list. For example, if "exampleUser" were a user in IRC and you wished to talk to that person, you should begin your message with that user's name: exampleUser: Can you please help me? Many IRC programs also have a tab-complete feature. That is, if you start typing a person's name and strike the tab key, the program will either complete the name if it can or suggest a list of names. This can greatly speed up your response time, especially if the recipient has a long, cryptic name.

Chatting directly with another user

If you want to message someone directly within the channel, precede your message with their nick:. This will alert the person that they have a message especially for them, and makes it easier for the person receiving the message to read it in a busy channel. For example: "tomf__: I'm speaking directly to tomf__". You can also use tab completion when typing in an IRC nick. Type the first couple of letters in someone's nick and then hit <tab>, and voila, your IRC client has finished typing the rest of the nick. If there is more than one nick that contains the first couple letters you typed in, keep hitting <tab> until you find the nick you want.

If you need to message someone directly, outside of the channel, precede your message with /msg nick. You should only message someone privately if the conversation does not concern the rest of the channel. Do not message anyone privately for support. To message someone privately you type: "/msg tomf__ hey, how was the game?".

A general courtesy is to request permission before sending a private message (PM) to someone. This is as simple as tomf__: hey, pm?. Some people consider uninvited private messages to be stalking behavior, and would be quite upset by it. Always ask before private messaging someone.

There is an additional important reason to ask permission first: New tabs containing PMs are annoying if they aren't expected. Depending on the IRC client a PM might pop up immediately breaking the person you are messaging away from the conversation they are trying to follow. They could even be in the middle of typing a response when your PM pops up.

So even if you're sure the person you are messaging knows you aren't a stalker you should ask in the channel and wait for them to /msg you.

To chat with an unregistered nick, you need send a message to NickServ to set the Unfiltered variable ON:

/msg nickserv set unfiltered on

Filtering helps you a bit when spambots invade freenode, but as this is quite rare these days, there is little harm in keeping unfiltered on.

Asking questions

The motto for Drupal IRC chat is "Don't ask to ask, just ask." All you need to do is start asking. Please be aware that answers are provided on a voluntary basis. If someone is available to answer your question and has knowledge about your issue, they will do the best they can in assisting you. Here are a few tips for asking good questions ("good" meaning questions that will get answers faster):

  • Vague questions with vague language will almost never get a response. You know the details about your issue right down to the letter but other people do not.
  • Writing a paragraph to describe your problem is okay.
  • Have some patience.
  • Ask the Druplicon bot (see below)

Read this excellent blog post for more good advice on how to ask questions. Another good resource is this page.

Getting Answers

There are answers that you will get that are de facto in nature. What is meant by this is that many questions will get the same (initial) answer. So, to avoid losing patience, here is what you may receive initially:

  1. "There is a module that will do this for you. It is called <module name here>" More often than not, there is a module that will do what you want. Please skim over the module list and try some modules out before asking for help.
  2. "That type of functionality requires a custom module" If you need a very specific functionality, but cannot find a sufficient module, you will more than likely need to create the module yourself. If this is the case, you must know how to create modules. There are many great books out there for learning Drupal module development as well as a few small tutorials here.

As is often the case, doing a bit of research before hand will get you your answers. Asking questions that have simple answers - though valid - can be somewhat annoying to people trying help you. Again, do some research, use the search function (or through Google by using <your search terms here> if searching is disabled), and look through the module list before asking for help.

If you are asking a question about a specific third party module or theme, please realize that the likelihood of getting an answer depends on whether someone who can provide support for that specific project has actually joined the channel, isn't idle and is able to help. It is valid to ask questions about third party modules, but you may have better luck posting your question on the issue queue for that module.

Set an away message when you aren't available

If you're going to step away from your computer for a bit, but want to keep IRC open so you can scroll back to see the message log, you should set yourself to away. You precede your away message with /away to set yourself away. For example: /away I'm out to lunch for a bunch of munch. To come back from away status just type /away with nothing after it.

If you are using an "away script", please make certain it does not (repeatedly and initially alike) announce to any channels that you're away, as this quickly becomes spammy and is generally frowned upon.

Using an "away nick" (ie. changing your nick from "myname" to "myname|afk") is considered bad etiquette among some IRC users and should be avoided.

The IRC bots

The bot in the drupal irc channels is Druplicon. The bot is run by Morbus, and if there are any weird problems, contact him. Druplicon uses the bot module.

You can use the bot to answer questions for you. The bot will automatically look up a node for you on if you type a node id such as "#12345" or "4321", but only if that is the entirety of the message and the number is at least 4 digits.

You can also ask the bot the last time someone was seen. If someone asks "seen peter", "seen peter? seen lois?", "have you seen sbippy?" or similar questions, the bot will report the last time they've been seen, where, and what their last known message was. They will only respond if the "seen Name" trigger is followed by a question mark or if the message immediately ends thereafter.

Reminders can be set with "Druplicon: remind NICK (at|by|in|on) DURATION (about|how|that|to) MESSAGE". For example: "Druplicon: remind Morbus in 1 hour and 6 minutes that his bot is awesome", "Druplicon: remind me in 23 minutes to check my pot roast.", or even "Druplicon: remind Monty on Wed, 12 May 2010 13:10:21 -0400 that this was when this code debuted."

Have the bot answer questions for you

You can also have Druplicon remember definitions for you. If you constantly are saying the same thing over and over in the support channel, and don't feel like typing the same response over and over, have Druplicon remember the answer. You set this up by typing "keyword" is "definition" to Druplicon. For example: "Druplicon: irchelp is <reply>You can find a very informative book page about IRC help in the handbook."

Now if someone were to ask about irc help in the channel, one would only have to type "irchelp?" to have Druplicon automatically answer with "You can find a very informative book page about IRC help in the handbook." To have Druplicon forget about that definition by "Druplicon: forget irchelp"

IRC admins or "ops"

There are several IRC admins or "ops" who can administer the main Drupal IRC channels, #drupal, #drupal-contribute, and #drupal-support.

To find an administrator, you can try typing any of the following commands (different IRC applications may or may not recognize the commands):

  • /cs access #drupal list
  • /chanserv access #drupal list
  • /msg chanserv #drupal list

IRC op cheatsheet

If you have IRC op privileges, you should only promote yourself to "op" if you need to perform an administrative action, such as kicking out or banning an offensive user, and once it is complete, you should demote yourself. To promote yourself to op, use the command:

/cs op #channel-name

To kick another user out of the channel, use the command:

/kick nick (Where "nick" is the username of the user to be kicked out.)

To kick out and ban the user, use the command:

/kickban nick

To change a channel topic, use the command:

/topic foobar (Where foobar is the topic you want to use.)

And then to demote yourself from op, use the command:

/cs op #drupal-contribute -yournick (Where "yournick" is your own username.)

And finally, once again: find chx if you have any problems, want to become an op, etc.

For more information on freenode, the network on which the Drupal IRC channels are hosted, see the Freenode FAQ.


jkhanlar’s picture

I am a little bit concerned about the Drupal community on Freenode IRC, particularly as related to support and assisting one another, especially taking notice to questions and not ignoring or neglecting them (as a community). Scrolling through buffers in various channels using Hexchat, I see significantly more color (from joins, parts and quits) than I do black color from asking questions, answering questions or discussing.

Using keywords from channel names on Freenode containing over 500 users in a single channel, I found that there are:

271 unique channels with PHP in the name
214 unique channels with Drupal in the name (eg #Drupal-* ##Drupal-*)
196 unique channels with Bitcoin in the name
141 unique channels with Ruby in the name
141 unique channels with OpenStack in the name
137 unique channels with Python in the name
94 unique channels with Android in the name
77 unique channels with Haskell in the name
69 unique channels with Django in the name
39 unique channels with Perl in the name
33 unique channels with CSS in the name
32 unique channels with Docker in the name
31 unique channels with Rails in the name
29 unique channels with Emacs in the name
27 unique channels with Wordpress in the name
27 unique channels with Clojure in the name
26 unique channels with #Git in the name
26 unique channels with Vim in the name
20 unique channels with Bash in the name
20 unique channels with jQuery in the name
19 unique channels with Javascript in the name
12 unique channels with Nodejs, Node.js, Node-js in the name
12 unique channels with Arduino in the name
11 unique channels with Joomla in the name
11 unique channels with Postgresql in the name
9 unique channels with ZNC in the name
9 unique channels with Chromium in the name
8 unique channels with irssi in the name
6 unique channels with Ansible in the name
6 unique channels with Angular in the name
5 unique channels with Github in the name
4 unique channels with ReactJS in the name
3 unique channels with nginx in the name
3 unique channels with VMWare in the name

Focusing on CMS/WAF:
214 unique channels with Drupal in the name (eg #Drupal-* ##Drupal-*)
69 unique channels with Django in the name
27 unique channels with Wordpress in the name
11 unique channels with Joomla in the name (12 for #Joomla which has mode +s)

I'm curious what this data means or represents with relation to the quantity and quality of response and support in #drupal and #drupal-support (both mentioned because I regularly observe more support-like activity or questions in #drupal than in #drupal-support). I speculate that the Drupal community is perhaps too distributed to be responsive comparable to other communities.

What thoughts do others have?