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 - 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
  • relay.js - Focuses on making IRC less intimidating and easier to use. 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
  • 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
  • Iridium - Friendly IRC client built in Vala and GTK, designed for elementary OS. (source) Linux

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

Self-hosted

  • Convos - Always online web IRC client. (source, demo) Perl JavaScript Web
  • ZNC - Most popular. many different plugins. (source) C++
  • 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
  • soju - A user-friendly IRC bouncer. Go

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)
  • Oragono - Modern, experimental server that's portable and designed around specifications. (source)
  • 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
  • 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
  • EveIRC - Extendable chat/channel/server-managenent service-providing bot. Using the Cinch Framework. Ruby
  • BitBot - Modular, event-driven bot featuring a REST API, individual user settings and much more. bitbot.dev Python
  • Cardinal - Python Twisted IRC bot with a focus on ease of plugin development. (source) Python

Frameworks

Helpful to write bots or integrate IRC with applications.

  • node-irc JavaScript
  • 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.
  • irccd - Flexible IRC bot customizable with Javascript. C++.

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
  • matterbridge - IRC ↔ Mattermost ↔ Discord ↔ XMPP ↔ Gitter ↔ Slack ↔ Discord ↔ Telegram ↔ ... Go

Channels

IRC channels.

Discovery

Platforms

  • #ubuntu@Libera.Chat - Official Ubuntu support channel. (rules)

Networks

A collection of IRC servers is known as a network.

  • Libera.Chat - Network mostly focused on free and open source projects, run by former freenode staff.
  • 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.

  • superseriousstats - Fast and efficient program to create statistics out of various types of chat logs. PHP Web

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: