pircbotx

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.

License

License

GPL v3
GroupId

GroupId

org.pircbotx
ArtifactId

ArtifactId

pircbotx
Last Version

Last Version

2.1
Release Date

Release Date

Type

Type

jar
Description

Description

pircbotx
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.
Project URL

Project URL

http://github.com/thelq/pircbotx
Project Organization

Project Organization

Leon Blakey
Source Code Management

Source Code Management

https://github.com/TheLQ/pircbotx.git

Download pircbotx

How to add to project

<!-- https://jarcasting.com/artifacts/org.pircbotx/pircbotx/ -->
<dependency>
    <groupId>org.pircbotx</groupId>
    <artifactId>pircbotx</artifactId>
    <version>2.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.pircbotx/pircbotx/
implementation 'org.pircbotx:pircbotx:2.1'
// https://jarcasting.com/artifacts/org.pircbotx/pircbotx/
implementation ("org.pircbotx:pircbotx:2.1")
'org.pircbotx:pircbotx:jar:2.1'
<dependency org="org.pircbotx" name="pircbotx" rev="2.1">
  <artifact name="pircbotx" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.pircbotx', module='pircbotx', version='2.1')
)
libraryDependencies += "org.pircbotx" % "pircbotx" % "2.1"
[org.pircbotx/pircbotx "2.1"]

Dependencies

compile (4)

Group / Artifact Type Version
org.apache.commons : commons-lang3 jar 3.4
org.slf4j : slf4j-api jar 1.7.13
commons-codec : commons-codec jar 1.10
com.google.guava : guava jar 19.0

provided (2)

Group / Artifact Type Version
org.projectlombok : lombok jar 1.16.6
com.google.code.findbugs : jsr305 jar 3.0.1

test (3)

Group / Artifact Type Version
org.testng : testng jar 6.9.10
org.mockito : mockito-core jar 2.0.40-beta
ch.qos.logback : logback-classic jar 1.1.3

Project Modules

There are no modules declared in this project.

Build Status Codacy Badge Join the chat at https://gitter.im/pircbotx-irc/Lobby

November 2018 PircBotX 2.2 released

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.

Current Version: 2.2 - 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
  • CTCP VERSION, ACTION, PING, TIME, and FINGER support
  • 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 {
        @Override
        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("irc.freenode.net") //Join the freenode network
                                .addAutoJoinChannel("#pircbotx") //Join the official #pircbotx channel
                                .addListener(new MyListener()) //Add our listener that will be called on Events
                                .buildConfiguration();

                //Create our bot with the configuration
                PircBotX bot = new PircBotX(configuration);
                //Connect to the server
                bot.startBot();
        }
}
  • Join the #pircbotx channel on irc.freenode.net 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.

Support

Most answers can be found in the docs, javadocs (http://pircbotx.github.io/pircbotx/latest/apidocs/) and the wiki.

If you can't find an answer, ask on IRC at irc.freenode.net/#pircbotx . We also have a mailing list.

License

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.

Versions

Version
2.1
2.0.1
2.0
1.9
1.8
1.7
1.6
1.5
1.4
1.3-Beta-2