{"id":16221573,"url":"https://github.com/swiftnioextras/swift-nio-irc","last_synced_at":"2025-03-16T11:31:06.583Z","repository":{"id":63921074,"uuid":"130864405","full_name":"SwiftNIOExtras/swift-nio-irc","owner":"SwiftNIOExtras","description":"A Internet Relay Chat (IRC) protocol implementation for SwiftNIO","archived":false,"fork":false,"pushed_at":"2024-09-09T14:45:56.000Z","size":65,"stargazers_count":47,"open_issues_count":2,"forks_count":6,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-03-16T02:04:29.604Z","etag":null,"topics":["irc-library","irc-protocol","swift-nio","swift4"],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SwiftNIOExtras.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-24T14:09:44.000Z","updated_at":"2025-02-25T00:07:09.000Z","dependencies_parsed_at":"2024-07-08T15:52:54.583Z","dependency_job_id":null,"html_url":"https://github.com/SwiftNIOExtras/swift-nio-irc","commit_stats":{"total_commits":38,"total_committers":2,"mean_commits":19.0,"dds":"0.10526315789473684","last_synced_commit":"80261d2c0919621842aeaee6569c68afb7ab40c7"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SwiftNIOExtras%2Fswift-nio-irc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SwiftNIOExtras%2Fswift-nio-irc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SwiftNIOExtras%2Fswift-nio-irc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SwiftNIOExtras%2Fswift-nio-irc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SwiftNIOExtras","download_url":"https://codeload.github.com/SwiftNIOExtras/swift-nio-irc/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243862661,"owners_count":20360187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["irc-library","irc-protocol","swift-nio","swift4"],"created_at":"2024-10-10T12:08:56.282Z","updated_at":"2025-03-16T11:31:06.272Z","avatar_url":"https://github.com/SwiftNIOExtras.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SwiftNIO IRC\n\n![Swift5](https://img.shields.io/badge/swift-5-blue.svg)\n![iOS](https://img.shields.io/badge/os-iOS-green.svg?style=flat)\n![macOS](https://img.shields.io/badge/os-macOS-green.svg?style=flat)\n![tuxOS](https://img.shields.io/badge/os-tuxOS-green.svg?style=flat)\n\u003ca href=\"https://travis-ci.org/SwiftNIOExtras/swift-nio-irc\"\u003e\u003cimg src=\"https://travis-ci.org/SwiftNIOExtras/swift-nio-irc.svg?branch=develop\" /\u003e\u003c/a\u003e\n\nSwiftNIO-IRC is a Internet Relay Chat \n[protocol implementation](Sources/NIOIRC) for\n[SwiftNIO](https://github.com/apple/swift-nio).\n\nThis module contains just the protocol implementation. We also\nprovide:\n- [swift-nio-irc-client](https://github.com/NozeIO/swift-nio-irc-client) - a simple IRC client lib\n- [swift-nio-irc-webclient](https://github.com/NozeIO/swift-nio-irc-webclient) -\n  a simple IRC webclient + WebSocket gateway based on this module,\n- [swift-nio-irc-eliza](https://github.com/NozeIO/swift-nio-irc-eliza) -\n  a cheap yet scalable therapist,\n- [swift-nio-irc-server](https://github.com/NozeIO/swift-nio-irc-server) -\n  a framework to build IRC servers, and MiniIRCd, a small sample server.\n  \nTo get started with this, pull \n[swift-nio-irc-server](https://github.com/NozeIO/swift-nio-irc-server) -\na module to rule them all and in the darkness bind them.\n\nNIOIRC is a SwiftNIO port of the\n[Noze.io miniirc](https://github.com/NozeIO/Noze.io/tree/master/Samples/miniirc)\nexample from 2016.\n\n\n## Importing the module using Swift Package Manager\n\nAn example `Package.swift `importing the necessary modules:\n\n```swift\n// swift-tools-version:5.0\n\nimport PackageDescription\n\nlet package = Package(\n    name: \"IRCTests\",\n    dependencies: [\n        .package(url: \"https://github.com/SwiftNIOExtras/swift-nio-irc.git\",\n                 from: \"0.6.0\")\n    ],\n    targets: [\n        .target(name: \"MyProtocolTool\",\n                dependencies: [ \"NIOIRC\" ])\n    ]\n)\n```\n\n\n## Using the SwiftNIO IRC protocol handler\n\nThe IRC protocol is implemented as a regular\n`ChannelHandler`, similar to `NIOHTTP1`.\nIt takes incoming `ByteBuffer` data, parses that, and emits `IRCMessage`\nitems.\nSame the other way around, the user writes `IRCReply`\nobjects, and the handler renders such into `ByteBuffer`s.\n\nTo add the IRC handler to a NIO Channel pipeline:\n\n```swift\nimport NIOIRC\n\nbootstrap.channelInitializer { channel in\n    channel.pipeline\n        .add(handler: IRCChannelHandler())\n        .then { ... }\n}\n```\n\n\n### Who\n\nBrought to you by\n[ZeeZide](http://zeezide.de).\nWe like\n[feedback](https://twitter.com/ar_institute),\nGitHub stars,\ncool [contract work](http://zeezide.com/en/services/services.html),\npresumably any form of praise you can think of.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswiftnioextras%2Fswift-nio-irc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswiftnioextras%2Fswift-nio-irc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswiftnioextras%2Fswift-nio-irc/lists"}