About axIRCSession
axIRCSession is a lightweight and easy-to-use IRC client library for macOS.
Features
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.
Installation
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: https://github.com/axle-h/axIRCSession
- Click “Next” and select the appropriate version.
- Add axIRCSession to your project targets.
- Click “Finish” to complete the installation.
Usage
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: "irc.example.com", 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
}
Documentation
For detailed information on all available methods, properties, and events, please refer to the official GitHub repository.
License
axIRCSession is released under the MIT license. See the LICENSE file for more details.