Skip to content
Branch: master
Clone or download
Latest commit 9c62d27 Nov 9, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis travis Nov 9, 2018
src Mark PircBotX.send() as deprecated Oct 24, 2018
.gitignore Adjust lombok statements to correct syntax Nov 30, 2017
.travis.yml travis Nov 9, 2018
bnd.bnd Add OSGi metadata to manifest. Sep 18, 2015
pom.xml release 2.2 Nov 8, 2018

Build Status Codacy Badge Join the chat at

November 2017 Project moved from /TheLQ/pircbotx to a new github organisation /pircbotx/pircbotx

January 2016 PircBotX 2.1 is finally released!

June 2015 We've moved from Google Code! Issues, wiki, javadocs, and git mirror are on GitHub. Mercurial mirror is on BitBucket

Current Version: 2.1 - See Migration Guide to 2.x and ChangeLog for more information

PircBotX is a powerful and flexible Java IRC library forked from the popular PircBot framework, bringing many new up-to-date features and bug fixes in an official alternative distribution.

  • Robust, multi-threaded Event-Listener system with over 50 supported IRC events
  • Powerful Channel/User Model
  • Native SSL support using SSLSocket or STARTTLS
  • Standard and reverse/passive DCC Chat and Filesharing
  • IPv6 IRC servers and DCC clients
  • Op, voice, halfop, superops, and owner user modes
  • IRCv3 CAP negotiation with native support for SASL, TLS, away-notify, and message tags
  • WEBIRC support
  • Built in Ident server

Checkout the Wiki for tutorials and documentation

PircBotX in 3 Steps

A brief getting started guide

import org.pircbotx.Configuration;
import org.pircbotx.PircBotX;
import org.pircbotx.hooks.ListenerAdapter;
import org.pircbotx.hooks.types.GenericMessageEvent;

public class MyListener extends ListenerAdapter {
        public void onGenericMessage(GenericMessageEvent event) {
                //When someone says ?helloworld respond with "Hello World"
                if (event.getMessage().startsWith("?helloworld"))
                        event.respond("Hello world!");

        public static void main(String[] args) throws Exception {
                //Configure what we want our bot to do
                Configuration configuration = new Configuration.Builder()
                                .setName("PircBotXUser") //Set the nick of the bot. CHANGE IN YOUR CODE
                                .addServer("") //Join the freenode network
                                .addAutoJoinChannel("#pircbotx") //Join the official #pircbotx channel
                                .addListener(new MyListener()) //Add our listener that will be called on Events

                //Create our bot with the configuration
                PircBotX bot = new PircBotX(configuration);
                //Connect to the server
  • Join the #pircbotx channel on and send ?helloworld . Your bot will respond with Hello world! Since its a GenericMessageEvent, it will also respond when private messaged. Congratulations, you just wrote your first bot!

PircBotX can do so much more! Read the docs for more information.


Most answers can be found in the docs, javadocs ( and the wiki.

If you can't find an answer, ask on IRC at . We also have a mailing list.


This project is licensed under GNU GPL v3 to be compatible with the PircBot license.

It is assumed that commercial users can buy the commercial license of PircBot which grants "modification of the Product's source-code and incorporation of the modified source-code into your software"

The PircBot developer has ignored multiple emails asking for a less restrictive license and clarification of the commercial license. Users can show support by respectfully asking him directly at pircbot developer's email. More up to date information is available at in Issue #63.

You can’t perform that action at this time.