Skip to content

Zero dependency pure Java library for implementing your own NIO IRC Client / Bot / Crawler / Logger.

License

Notifications You must be signed in to change notification settings

Konloch/HeadlessIRC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java IRC Bot

Zero dependency pure Java library for implementing your own NIO IRC Clients / Bots / Crawlers / Loggers.

💡 Requirements

  • Java Runtime 1.8 or higher

📚 Links

💻 How To Use

  1. Create a new bot instance, from there join the server you want and store that object.
IRCBot bot = new IRCBot("your nick goes here", "Java IRC Client");
Server server = bot.join("irc.freenode.net");
  1. Using the server object, you can now join rooms.
Room room1 = server.join("#example-room-1");
Room room2 = server.join("#example-room-2");
  1. You can now handle events to receive and send messages.
room1.send("Hello room #1");
room2.send("Hello room #2");

//handle room join updates
server.onJoin((room, user) -> {
	System.out.println("JOIN: " + room.getName() + "["+room.getUsers().size()+"] " + user.getNickname());
});

//handle room leave updates
server.onLeave((room, user) -> {
	System.out.println("QUIT: " + room.getName() + "["+room.getUsers().size()+"] " + user.getNickname());
});

//handle incoming room messages
server.onRoomMessage((room, user, msg) -> {
	if(msg.toLowerCase().contains("hello")) {
		room.send("Hello, this is a room message");
		user.send("Hello, this is a private message");
	}
});

//handle incoming private messages
server.onPrivateMessage((user, msg) -> {
	if(msg.toLowerCase().contains("hello"))
		user.send("Hello, this is a private message");
});

👨‍💻 Disclaimer

  • Still a work in progress / in development
  • Lacks most IRC features beyond the absolute basics

About

Zero dependency pure Java library for implementing your own NIO IRC Client / Bot / Crawler / Logger.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages