IRC

Awesome IRC Awesome

A curated list of awesome IRC resources.

A list of tools, software & other resources related to the Internet Relay Chat (IRC) protocol.

IRC (Internet Relay Chat) is an open source protocol that can be used for multi-user text based communication through channels.

Clients

You use these to connect to IRC.

  • Komanda - Designed for people who write code (beta). (source) Linux
  • Textual - Very customizable, ZNC integration, iCloud sync ($4.99). (source) macOS
  • LimeChat - One window for multiple servers, keyboard shortcuts, fast & stable. (source) macOS iOS
  • HexChat](https://hexchat.github.io) - Based on XChat, easy to use, spell check & multiple languages. (source) Windows macOS Linux
  • Kiwi IRC - Powerful modern IRC messenger for the web. (source, demo) Web
  • CIRC - Uses the chrome.sockets APIs to connect directly to IRC servers without needing a proxy. (source) Chrome
  • Quassel - Distributed (clients can attach to and detach from a central core that stays permanently online. (source) Linux macOS Windows
  • Yaaic - Multi-server/channel support, SASL support, Smooth channel scrolling / swiping. (source) Android
  • Koko - Minimalistic design, VIM-like shortcuts and built on electron. Windows macOS
  • relay.js - Focuses on making IRC less intimidating and easier to use. (demo) Web
  • Circe - For use in Emacs, sane defaults. Emacs
  • Smuxi - User-friendly, based on GNOME / GTK+. (source) Linux Windows macOS
  • KvIRC - Free, portable, based on Qt GUI toolkit. (source) Linux macOS Windows
  • Konversation - User-friendly client built on the KDE Platform. (source) Linux
  • sic - Simple IRC client - a terminal client in less than 250 lines of C. Linux
  • Colloquy - AppleScript-enabled IRC client. macOS
  • irssi - Terminal client, multi-protocol friendly for module authors, GPLv2. Linux macOS Cygwin BSD
  • Revolution IRC - Feature-full, actively maintained Android IRC client. (source) Android
  • AdiIRC - Never has a client offered such granular settings for every aspect of the IRC experience. (features, screenshots) Windows WINE
  • IRC for Android™ Android/Chrome OS client for power users, with ZNC built-ins, notification logic, reliable DCC, keybinds for hardware keyboards, etc. Android ChromeOS

More? Clients that include bouncers are found below.

Bouncers

Useful for disconnecting and reconnecting without losing the chat session.

Hosted

  • IRCCloud - Group chat for teams, friends, and communities. stay connected, chat from anywhere, and never miss a message (+client) (£0-£3.50/month).
  • iOS App - Official. Objective-C
  • Android App - Official. Java
  • Nimbus - Standalone client. macOS Objective-C
  • Grove - Hosted IRC and so much more (+client) (10-125/month).

Self-hosted

  • Convos - Always online web IRC client. (source, demo) Perl JavaScript Web
  • ZNC - Most popular. many different plugins. (source)
  • BIP IRC Proxy - Always online, lightweight and secure Open Source IRC proxying with backlogging. (source) C
  • TheLounge - Responsive, self-hosted & support for multiple users. (source, demo) JavaScript Node.js Web
  • WeeChat - A fast, light and extensible chat client. (source) Linux macOS Windows

Daemons

Used for running your own IRC server or network.

  • ircd.js - Server will allow clients to connect, join channels, change topics; basic stuff.
  • InspIRCd - Modular, stable, written from scratch. (source)
  • miniircd - Very simple and limited.
  • ngIRCd - Portable and lightweight for small or private networks. (source)
  • Hulk - Intended for private business use or hobby work. Haskell
  • Oragono - Modern, experimental server that's portable and designed around specifications. (source)
  • charybdis - Scalable IRCv3 server.
  • RobustIRC - IRC server without netsplits.

Services

Used to provide user accounts and bots like NickServ/ChanServ to your network.

  • Atheme - Designed for large networks with high scalability requirements. (source)
  • anope - Designed for flexibility and ease of use. (source)

Bots

IRC users which provide services for humans, e.g. integrations or information.

  • Sopel - Tonnes of ready made features, tutorial, fully documented. (source) Python
  • IRCcat - Simplifies messaging from shell scripts. Java
  • Limnoria - Robust, user friendly, developer friendly. Python
  • Twitch Plays - Takes input from the chat and presses the corresponding key. Python
  • Skybot - Main goals are simplicity and power. Python
  • talkbackbot - Responds to configured trigger phrases with quotes from notable women. (source) Python
  • lazybot - User-friendly and powerful. Clojure
  • IRC-BF - Brainfuck
  • geordi - Compiles and runs C++ code snippets. C++
  • CloudBot - Simple, fast, expandable. Python
  • yossarian-bot - Large default plugin set, Cinch-based. Ruby
  • helga - Pluggable chat bot supporting multiple protocols. Python

Frameworks

Helpful to write bots or integrate IRC with applications.

  • node-irc JavaScript
  • Cinch - Quickly create bots with minimal effort. Ruby
  • goirc - Event-based, stateful, lacking documentation. Go
  • Hubot IRC Adapter - The IRC adapter for hubot. JavaScript
  • go-ircevent - Event-based. Go
  • pyaib - Easy to use framework for writing bots. Python
  • slate-irc - Plugin system, simple api, arbitrary input stream, debug support. JavaScript
  • PircBotX - Event based IRC Library with a straightforward API (updated fork of PircBot). Java
  • IRC::Client - Perl6 based extendable IRC client framework.

Bridges

Sends messages back and forth.

  • discord-irc - Discord ↔ IRC. JavaScript
  • slack-irc - Slack ↔ IRC. JavaScript
  • irc-slack - Slack ↔ IRC. Go
  • BitlBee - XMPP, Jabber, Google Talk, MSN Messenger, Yahoo! Messenger, AIM, ICQ, Twitter API, HipChat ↔ IRC. C
  • teleirc - Telegram ↔ IRC. JavaScript
  • toxirc - Tox ↔ IRC. C
  • skyweb2irc - Skype (webclient API) ↔ IRC. Javascript
  • whapp-irc - WhatsApp Web ↔ IRC. Go
  • matterbridge - IRC ↔ Mattermost ↔ Discord ↔ XMPP ↔ Gitter ↔ Slack ↔ Discord ↔ Telegram ↔ ... Go

Channels

IRC channels.

Discovery

Platforms

  • ##linux@freenode - Linux support and discussion channel. (rules)
  • #ubuntu@freenode - Official ubuntu support channel. (rules)

Programming

  • #python@freenode - Good place for short python questions. (rules)

Networks

A collection of IRC servers is known as a network.

  • freenode - The largest network, for free and open source software communities. (rules)
  • Snoonet - Community of redditors and subreddits. (rules)
  • OFTC - Community for free and open source software communities.

Articles

Articles and blog posts about IRC.

Guides

How-to's, documentation and books.

  • #irchelp - A vast amount of reasonably up-to-date information.

Protocol

Information and resources about the IRC protocol itself.

Miscellaneous

Items that belong on the list but defy classification.

  • IRC LC - Create a URL that points to a channel on a IRC network.

Use

The best ways to use this list are:

  • by using command + F to search the contents

This list also uses tags to help when searching the contents:

  • Language - Python, Java, C++, Go, JavaScript, Ruby, C etc.
  • Platform - Web, macOS, Windows, Linux, Chrome etc.

Credits

Craig Davison

GitHub Twitter

...and contributors.

Contributions are welcome!

License

Unless otherwise stated: