About axIRCSession

axIRCSession is a lightweight and easy-to-use IRC client library for macOS.


1. IRC Connection

axIRCSession offers a simplified way to establish and manage connections to IRC servers. It supports both secure (SSL/TLS) and non-secure connections.

2. Easy Integration

Integrating axIRCSession into your macOS application is a breeze. With its straightforward API, you can quickly add IRC functionality without much code.

3. Event-driven Design

axIRCSession utilizes an event-driven architecture, making it simple to handle various IRC events such as receiving messages, channel joins, user bans, and more.

4. Thread Safety

This library ensures thread safety by handling all IRC-related tasks on a separate background thread. As a result, your application remains responsive and stable while interacting with IRC servers.

5. UTF-8 Support

axIRCSession fully supports UTF-8 encoding, allowing you to send and receive messages in different character sets and languages effortlessly.


To begin using axIRCSession in your macOS project, simply follow these steps:

  • Open your Xcode project.
  • Go to “File” > “Swift Packages” > “Add Package Dependency…”
  • Enter the repository URL:
  • Click “Next” and select the appropriate version.
  • Add axIRCSession to your project targets.
  • Click “Finish” to complete the installation.


Once you have successfully installed axIRCSession, you can start utilizing its features. Here’s a basic example to help you get started:

import axIRCSession

// Create an instance of IRCClient
let client = IRCClient(nickname: "myNickname")

// Set the delegate to handle events
client.delegate = self

// Connect to the IRC server
client.connect(host: "", port: 6667)

// Join a channel
client.join(channel: "#myChannel")

// Handle events
extension MyViewController: IRCClientDelegate {
    func ircClient(_ client: IRCClient, didReceiveMessage message: IRCMessage) {
        // Handle received messages

    func ircClient(_ client: IRCClient, didJoinChannel channel: String) {
        // Handle joining channels
    // Implement other delegate methods as needed


For detailed information on all available methods, properties, and events, please refer to the official GitHub repository.


axIRCSession is released under the MIT license. See the LICENSE file for more details.