SwiftNIO IRC

Swift5 iOS macOS tuxOS

SwiftNIO-IRC 是一个基于 SwiftNIO 的 Internet Relay Chat 协议实现

本模块仅包含协议实现。我们还提供了:

要开始使用它,请拉取 swift-nio-irc-server - 一个统治一切并将它们绑定在黑暗中的模块。

NIOIRC 是 SwiftNIO 对 2016 年的 Noze.io miniirc 示例的移植。

使用 Swift Package Manager 导入模块

一个导入必要模块的 Package.swift 示例

// swift-tools-version:5.0

import PackageDescription

let package = Package(
    name: "IRCTests",
    dependencies: [
        .package(url: "https://github.com/SwiftNIOExtras/swift-nio-irc.git",
                 from: "0.6.0")
    ],
    targets: [
        .target(name: "MyProtocolTool",
                dependencies: [ "NIOIRC" ])
    ]
)

使用 SwiftNIO IRC 协议处理器

IRC 协议实现为常规的 ChannelHandler,类似于 NIOHTTP1。它接收传入的 ByteBuffer 数据,解析它,并发出 IRCMessage 项目。反之亦然,用户写入 IRCReply 对象,处理程序将其渲染为 ByteBuffer

将 IRC 处理程序添加到 NIO Channel 管道

import NIOIRC

bootstrap.channelInitializer { channel in
    channel.pipeline
        .add(handler: IRCChannelHandler())
        .then { ... }
}

作者

ZeeZide 提供。 我们喜欢反馈、GitHub 星星、很酷的 合同工作,以及任何你能想到的赞扬形式。