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

9 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