NowaLone.IrcNet.Client.Rfc1459.Extensions
1.0.4
dotnet add package NowaLone.IrcNet.Client.Rfc1459.Extensions --version 1.0.4
NuGet\Install-Package NowaLone.IrcNet.Client.Rfc1459.Extensions -Version 1.0.4
<PackageReference Include="NowaLone.IrcNet.Client.Rfc1459.Extensions" Version="1.0.4" />
<PackageVersion Include="NowaLone.IrcNet.Client.Rfc1459.Extensions" Version="1.0.4" />
<PackageReference Include="NowaLone.IrcNet.Client.Rfc1459.Extensions" />
paket add NowaLone.IrcNet.Client.Rfc1459.Extensions --version 1.0.4
#r "nuget: NowaLone.IrcNet.Client.Rfc1459.Extensions, 1.0.4"
#:package NowaLone.IrcNet.Client.Rfc1459.Extensions@1.0.4
#addin nuget:?package=NowaLone.IrcNet.Client.Rfc1459.Extensions&version=1.0.4
#tool nuget:?package=NowaLone.IrcNet.Client.Rfc1459.Extensions&version=1.0.4
IrcNet
IrcNet is a comprehensive library for building IRC (Internet Relay Chat) clients. It includes abstractions, parsers, and extensions for both RFC 1459 and IRCv3 specifications.
Download
Projects
IrcNet.Abstractions
This project contains abstractions for IRC functionality, providing interfaces and base classes for building IRC clients.
IrcNet.Parser.Rfc1459
A library for parsing IRC messages according to the RFC 1459 specifications.
IrcNet.Parser.V3
A library for parsing IRC messages according to the IRCv3 specifications.
IrcNet.Client
A core library for building IRC clients.
IrcNet.Client.Extensions.Core
This package contains core extensions for the IrcNet.Client library.
IrcNet.Client.Rfc1459.Extensions
This package contains extensions for the IrcNet.Client library, implementing RFC 1459.
IrcNet.Client.V3.Extensions
This package contains extensions for the IrcNet.Client library, implementing IRCv3 specifications.
Tests
IrcNet.Parser.Rfc1459.Tests
Unit tests for the IrcNet.Parser.Rfc1459 library.
IrcNet.Parser.V3.Tests
Unit tests for the IrcNet.Parser.V3 library.
Getting Started
Prerequisites
- .NET Framework 4.6.1 or higher
- .NET Core 3.0 or higher
- .NET 6 or higher
- .NET Standard 2.0 or higher
Installation
Clone the repository:
git clone https://github.com/NowaLone/IrcNet.git
Building the Solution
Navigate to the solution directory and build the projects using the .NET CLI:
dotnet build
Running Tests
To run the tests, use the .NET CLI:
dotnet test
Usage Example
Here's a simple example of how to use the IrcNet library to connect to an IRC server and join a channel:
using IrcNet.Client;
using System;
using System.Text;
using System.Threading.Tasks;
using static IrcNet.Client.IrcClientWebSocket;
internal class Program
{
private static async Task Main(string[] args)
{
var options = new Options() { Uri = new Uri("irc.example.com:6667"), PingDelay = TimeSpan.FromSeconds(1) };
var client = new IrcClientWebSocket(options);
await client.OpenAsync();
client.OnMessageReceived += (sender, message) =>
{
Console.WriteLine($"Received: {message}");
};
await client.SendAsync(Encoding.UTF8.GetBytes($"PRIVMSG test"));
await Task.Delay(3000);
await client.CloseAsync();
}
}
Acknowledgements
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.1
- Microsoft.Extensions.Options (>= 8.0.2)
- NowaLone.IrcNet.Client (>= 1.0.4)
- NowaLone.IrcNet.Parser.Rfc1459 (>= 1.0.4)
-
.NETFramework 4.6.1
- Microsoft.Extensions.Options (>= 6.0.1)
- NowaLone.IrcNet.Client (>= 1.0.4)
- NowaLone.IrcNet.Parser.Rfc1459 (>= 1.0.4)
-
.NETFramework 4.8.1
- Microsoft.Extensions.Options (>= 8.0.2)
- NowaLone.IrcNet.Client (>= 1.0.4)
- NowaLone.IrcNet.Parser.Rfc1459 (>= 1.0.4)
-
.NETStandard 2.0
- Microsoft.Extensions.Options (>= 8.0.2)
- NowaLone.IrcNet.Client (>= 1.0.4)
- NowaLone.IrcNet.Parser.Rfc1459 (>= 1.0.4)
-
.NETStandard 2.1
- Microsoft.Extensions.Options (>= 8.0.2)
- NowaLone.IrcNet.Client (>= 1.0.4)
- NowaLone.IrcNet.Parser.Rfc1459 (>= 1.0.4)
-
net6.0
- Microsoft.Extensions.Options (>= 8.0.2)
- NowaLone.IrcNet.Client (>= 1.0.4)
- NowaLone.IrcNet.Parser.Rfc1459 (>= 1.0.4)
-
net8.0
- Microsoft.Extensions.Options (>= 8.0.2)
- NowaLone.IrcNet.Client (>= 1.0.4)
- NowaLone.IrcNet.Parser.Rfc1459 (>= 1.0.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
# Changelog (Release Notes)
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) (SemVer).
## [1.0.4] - 2025-05-10
### Fixed
- Fix incorrect partial message concatenation
## [1.0.3] - 2025-01-26
### Added
- Tests for extension methods
### Changed
- Replace quotes in build yml
- Split dependencies between net461 and another
- Namespaces for extensions according to MS guide
## [1.0.2] - 2025-01-18
### Added
- Make packages AotCompatible from net6.0 and higher
### Changed
- Change some docs in V3 parser
### Removed
- Remove unnecessary null check for message in V3 parser
### Fixed
- Fix infinite wait when PingDelay equals zero
- Fix null exceptions on extensions setupAction
## [1.0.1] - 2025-01-09
### Changed
- Change IrcNet.Client.Extensions.Core from csproj to shproj
### Removed
- IrcNet.Client.Extensions.Core Dependency
- Full build on nuget packing
## [1.0.0] - 2025-01-08
### Added
- Initial release
-
[1.0.4]: https://github.com/NowaLone/IrcNet/releases/tag/v1.0.4
[1.0.3]: https://github.com/NowaLone/IrcNet/releases/tag/v1.0.3
[1.0.2]: https://github.com/NowaLone/IrcNet/releases/tag/v1.0.2
[1.0.1]: https://github.com/NowaLone/IrcNet/releases/tag/v1.0.1
[1.0.0]: https://github.com/NowaLone/IrcNet/releases/tag/v1.0.0