irc - the irc crate – usable, async IRC for Rust

  •        15

"the irc crate" is a thread-safe and async-friendly IRC client library written in Rust. It's compliant with RFC 2812, IRCv3.1, IRCv3.2, and includes some additional, common features from popular IRCds. You can find up-to-date, ready-to-use documentation online on To start using the irc crate with cargo, you can add irc = "0.13" to your dependencies in your Cargo.toml file. The high-level API can be found in irc::client::prelude. You'll find a number of examples to help you get started in examples/, throughout the documentation, and below.



Related Projects

oragono - A modern IRC server written in Go.

  •    Go

Oragono is a modern, experimental IRC server written in Go. It's designed to be simple to setup and use, and it includes features such as UTF-8 nicks / channel names, client accounts with SASL, and other assorted IRCv3 support. and are running Oragono in production if you want to take a look.

Limnoria - A modified version of Supybot (an IRC bot) with Python 3 and IRCv3 support including SASL, translations (fr/fi/it/hu/de), GPG authentication, TLS, and many other enhancements and bug fixes

  •    Python

Supybot is a robust (it doesn't crash), user friendly (it's easy to configure) and programmer friendly (plugins are extremely easy to write) Python IRC bot. It aims to be an adequate replacement for most existing IRC bots. It includes a very flexible and powerful ACL system for controlling access to commands, as well as more than 50 builtin plugins providing around 400 actual commands. Limnoria is a project which continues development of Supybot (you can call it a fork) by fixing bugs and adding features.

thelounge - 💬 Modern, responsive, cross-platform, self-hosted web IRC client

  •    Javascript

To learn more about configuration, usage and features of The Lounge, take a look at the website. The Lounge is the official and community-managed fork of Shout, by Mattias Erming.


  •    C

libircclient is a small but powerful library, which implements client-server IRC protocol. It has all features needed to create your own IRC client or bot, including multi-threading support, sync and async interfaces, CTCP/DCC support, colors, SSL connections and so on.

irssi - The client of the future

  •    C

Irssi is a modular chat client that is most commonly known for its text mode user interface, but 80% of the code isn't text mode specific. Irssi comes with IRC support built in, and there are third party ICB, SILC, XMPP (Jabber), PSYC and Quassel protocol modules available. Check the GitHub issues if it is already listed in there; if not, open an issue on GitHub or send a mail to

lettuce-core - Advanced Java Redis client for thread-safe sync, async, and reactive usage

  •    Java

Advanced and thread-safe Java Redis client for synchronous, asynchronous, and reactive usage. Supports Cluster, Sentinel, Pipelining, Auto-Reconnect, Codecs and much more.

go-ircevent - Event based IRC client library in Go (golang)

  •    Go

Event based irc client library.Please note: Callbacks are run in the main thread. If a callback needs a long time to execute please run it in a new thread.

quassel - Quassel IRC: Chat comfortably. Everywhere.

  •    C++

Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that one (or multiple) client(s) can attach to and detach from a central core -- much like the popular combination of screen and a text-based IRC client such as WeeChat, but graphical. You can find the current release notes on the Quassel IRC homepage, as well as in this repository's ChangeLog.

react-helmet-async - Thread-safe Helmet for React 16+ and friends

  •    Javascript

This package is a fork of React Helmet. <Helmet> usage is synonymous, but server and client now requires <HelmetProvider> to encapsulate state per request. react-helmet relies on react-side-effect, which is not thread-safe. If you are doing anything asynchronous on the server, you need Helmet to encapsulate data on a per-request basis, this package does just that.


  •    Perl

IRK is a Tcl client side library for IRC (Internet Relay Chat) programming. Its aim is to provide the underpinnings for IRC clients (e.g. chat clients, robots, services) written in Tcl. IRK takes care of the details of the IRC (RFC1459) protocol, allowing

KiwiIRC - Web based IRC client

  •    Javascript

Kiwi IRC is a fully featured IRC client that can be extended to suit almost any needs. Using the web application is extremely simple even without any IRC knowledge as all the common needs are built directly into the UI.


  •    Java

Martyr is a Java framework around the IRC protocol to allow application writers easy manipulation of the protocol and client state. Martyr can be used to write bots, end-user clients, or add IRC functionality to an existing Java application.

SwiftNotificationCenter - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety

  •    Swift

A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety. No more userInfo dictionary and Downcasting, just deliver the concrete type value to the observer.

node-irc - NodeJS IRC client library

  •    Javascript

node-irc is an IRC client library written in JavaScript for Node. Note that as of version 0.3.8, node-irc supports character set detection using icu. You'll need to install libiconv (if necessary; Linux systems tend to ship this in their glibc) and libicu (and its headers, if necessary, install instructions) in order to use this feature. If you do not have these libraries or their headers installed, you will receive errors when trying to build these dependencies. However, node-irc will still install (assuming nothing else failed) and you'll be able to use it, just not the character set features.

awesome-irc - A curated list of awesome IRC resources


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



InstantIRC is an IRC Client that is designed for static IRC usage so the common person who doesn't have a firm grasp of IRC clients and how to use them can immediately jump into the action. InstantIRC is written in C# .NET 3.5

komanda - The IRC Client For Developers

  •    Javascript

Komanda is a IRC client built with node-webkit, javascript, html and css for people who write code. The project goal is to build the best client for developers that use IRC for their projects, follow others or getting help on a new language or framework. Komanda is currently in beta. Things may not be perfect but it's pretty solid on the IRC side of things.

Irssi - IRC client for UNIX systems

  •    Perl

Irssi is a terminal based IRC client for UNIX systems. It also supports SILC and ICB protocols via plugins. It supports Autologging, Formats and themes, Configurable keybindings, Paste detection and lot more.

Shout - The self-hosted web IRC client

  •    Javascript

Shout is a web IRC client that you host on your own server.