DSH105 / Nexus

Nexus \o/
GNU General Public License v3.0
5 stars 9 forks source link

Nexus

DSH105's IRC bot. A versatile, modular Java IRC bot using the PircBotX library.

According to Latin (C17), Nexus can be defined as a binding together (from nectere - to bind). Therefore, Nexus is the bot that brings everyone together.

I like contributions ;D

Current Features

We're very early in development, but we have the features below in place:

Development Builds

You can grab the latest builds from our Jenkins instance.

Build Status

JavaDoc

JavaDocs are available on the Jenkins instance. Contributing

See here for contributing guidelines.

You don't really need to worry about that though. The only thing I really want you to follow on that document is the PR formatting.

We'll happily work with you on any PRs to ensure they can be pulled ASAP. :smile:

Adding a new command

The most common contributions will be in the form of adding a new command. This is a relatively painless procedure. The general steps for doing so are outlined below:

  1. Fork the repository and clone your fork
  2. Navigate to the com.dsh105.nexus.command.module package in your IDE (in the src/main/java/com/dsh105/nexus/command/module/ directory)
  3. Choose the right category for your command, if not create one
  4. Create a new class that extends the com.dsh105.nexus.command.CommandModule class
  5. Add the @Command (com.dsh105.nexus.command.Command) annotation to your class and implement the interface
  6. Implement the onCommand method
    • In general returning true signifies a valid command (i.e. args were valid)
    • Returning false will result in a help message on command usage

You can take a look at the channel stats command to give you a head-start.

Building

We use Maven 3 to build Nexus. Simply run the mvn command in the project root to compile the code and run the unit tests. You'll get a complete JAR in the target/ directory with the dependencies appropriately shaded for you.

Todo List