HydraIRC is an open-source IRC client with an attractive and easy to use interface. It supports DCC Chat and File transfers, Connecting to Multiple IRC Servers, Docking/Floating Windows, DLL Plugins, Channel Monitoring, Message Logs, Logging, Output Themes, Color Schemes, Buddy Groups, Auto-Connect, One-Click Favorites and more. You can also set up audible notifications for chat events (e.g. when your buddies type something in a channel) and maintain multiple user identities.
HydraIRC is written in C++ using Microsoft Visual Studio .net, for it's GUI it uses Windows Template Library (WTL - which for the techbods out there, is basically just a C++ class wrapper of the Platform SDK). WTL is not bloated and slow like MFC is and requires no external DLL files. WTL is the best way to create lightning fast GUIs in C++. Other IRC clients out there have mainly been written using the ancient Platform SDK (mIRC), with Delphi and MFC which is slow (Bersirc, Klient), with horrible looking cross-platform GUI toolkits or skinning frameworks (savIRC, xChat, roxIRC, Trillian, etc) or look just downright UGLY (TurboIRC, Chocoa, Circle, Leafchat, etc). If you like how Windows looks and like your apps to look like all your other apps, then HydraIRC is for you!
Note: Features in bold are completed, those in italics are partially done.
- Written in C++ using modern tools (Visual Studio 7)
- Uses WTL/ATL for a Super fast, streamlined and efficient program!
- Uses XML for all config files, very minimal registry usage
- Dockable tabbed auto-hidable windows, tabbed MDI client area.
- Event based core (with user definable events)
- Nice looking, intuitive GUI, no skinnable ugly rubbish.
- Supports connecting to an unlimited number of servers
- Reliable server/network reconnects
- Supports private messages and Query windows
- Supports DCC chat and File transfer
- DCC File resumes with rollback and same-file checking.
- Nick Completion (in Server, Channel, DCC and Query windows!)
- FServe functions built in (e.g. auto-requeue on disconnect + more)
- User identities (username, nick list, etc) can be assigned on a per-server/per-network basis
- A user profile can store multiple identities.
- Highlighting can trigger events.
- Audio Mute function!
- Command profiles (a bunch of commands that are given to be run one after the other)
- Auto-Connect on startup list lets you connect to multiple servers on startup
- Auto Connect Command profiles can be attached on a per-server/per-network
- Auto Join Command profiles can be attach to channels on a per-network basis.
- User list icons denoting ops/voice, etc.
- Remembers nicks on a per-server or per-network basis, can auto-update the user profile automatically.
- Supports all known text style codes (colors, italics, bold, underline, etc)
- Supports changing fonts via control codes
- Toggleable channel userlists with additional dockable user list that shows the current channel's users
- DLL Plugin SDK.
- Scripting via way of DLL Plugins. (You can make plugins that can run scripts written in any scripting language!)