Java IRC Bot with Sample Code

Harsh S.
By
Harsh S.
Hello, I'm Harsh, I hold a degree in Masters of Computer Applications. I have worked in different IT companies as a development lead on many large-scale...
3 Min Read

Introduction to Java IRC Bot

In this tutorial, we’ll build a simple IRC bot in Java programming language. An IRC bot is a program that runs on an IRC server and interacts with users and other bots.

IRC bots have a variety of purposes. For example – they provide information and services to users. They can moderate chat rooms enforce rules, and automate tasks.

We can create IRC bots in various programming languages such as Python, Java, or C++. In order to function properly, they need to connect to a server and join specific chat rooms.

Once the bot establishes a connection to the server, it can listen for messages from other users and bots. The bot can then respond to these messages in a variety of ways. For example, by sending back a reply, performing an action, or ignoring the message.

Description of the bot

We are using Java to build this IRC bot and using the PircBot library. It is a simple bot that can greet new users, answer basic questions, and moderate the chat room.

We used the following IRC server irc.freenode.net for testing and joining the channel #python.

Code

import org.pircbotx.Configuration;
import org.pircbotx.PircBotX;
import org.pircbotx.exception.IrcException;
import org.pircbotx.hooks.ListenerAdapter;
import org.pircbotx.hooks.events.MessageEvent;

import java.io.IOException;

public class SimpleIRCBot extends ListenerAdapter {
    public static void main(String[] args) throws IOException, IrcException {
        // Configure the bot
        Configuration configuration = new Configuration.Builder()
                .setName("SimpleIRCBot")
                .addServer("irc.freenode.net")
                .addAutoJoinChannel("#python")
                .addListener(new SimpleIRCBot())
                .buildConfiguration();

        // Create an instance of the bot
        PircBotX bot = new PircBotX(configuration);

        // Connect to the IRC server
        bot.startBot();
    }

    @Override
    public void onMessage(MessageEvent event) throws Exception {
        // Listen for messages in the channel
        String message = event.getMessage();

        if (message.equalsIgnoreCase("!hello")) {
            // Respond to the !hello command
            event.respond("Hello, I am your Java IRC bot!");
        }
    }
}

In this code:

  • We import the necessary classes from the PircBotX library.
  • We create a class SimpleIRCBot that extends ListenerAdapter to handle events.
  • In the main method, we configure the bot, set its name, specify the IRC server, and add the channel to join.
  • We create an instance of the bot, connect it to the server, and start it.
  • The onMessage method listens for messages in the channel. In this example, it responds to the “!hello” command with a greeting.

This is a basic example to get you started with Java IRC bot development. You can expand and customize the bot’s functionality based on your specific requirements.

Also Read: IRC Bot Explained

Conclusion

This example code provides a simplified introduction to Java IRC bot development. Depending on your project’s needs, you can further enhance the bot’s capabilities, add error handling, and create more advanced features.

Share This Article