IRCDotNet.Core
2.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package IRCDotNet.Core --version 2.0.0
NuGet\Install-Package IRCDotNet.Core -Version 2.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="IRCDotNet.Core" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="IRCDotNet.Core" Version="2.0.0" />
<PackageReference Include="IRCDotNet.Core" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add IRCDotNet.Core --version 2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: IRCDotNet.Core, 2.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package IRCDotNet.Core@2.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=IRCDotNet.Core&version=2.0.0
#tool nuget:?package=IRCDotNet.Core&version=2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
IRCDotNet — Modern .NET 8 IRC Client Library
A production-ready IRC client library for .NET 8 with full IRCv3 support.
Features
- RFC 1459 + Modern IRC — Full protocol implementation
- IRCv3 Capabilities — SASL, message-tags, server-time, away-notify, extended-join, cap-notify, batch, labeled-response, echo-message, monitor
- SASL Authentication — PLAIN, EXTERNAL, SCRAM-SHA-1, SCRAM-SHA-256
- NickServ IDENTIFY — Automatic identification after registration
- Rate Limiting — Token-bucket algorithm prevents flood kicks
- Auto-Reconnect — Exponential backoff with channel rejoin
- Thread-Safe — Concurrent collections, semaphore-controlled sends
- Event-Driven — 20+ event types with threaded or sequential dispatch
- Dependency Injection —
IServiceCollectionintegration viaAddIrcClient()
Quick Start
using IRCDotNet;
using IRCDotNet.Configuration;
var options = new IrcClientOptions
{
Server = "irc.libera.chat",
Port = 6697,
UseSsl = true,
Nick = "MyBot",
UserName = "mybot",
RealName = "My IRC Bot"
};
var client = new IrcClient(options);
client.Connected += (s, e) =>
{
_ = client.JoinChannelAsync("#mychannel");
};
client.PrivateMessageReceived += (s, e) =>
{
Console.WriteLine($"[{e.Target}] <{e.Nick}> {e.Text}");
};
await client.ConnectAsync();
Dependency Injection
services.AddIrcClient(options =>
{
options.Server = "irc.libera.chat";
options.Port = 6697;
options.UseSsl = true;
options.Nick = "MyBot";
});
Supported IRC Commands
| Category | Commands |
|---|---|
| Connection | PASS, NICK, USER, QUIT, PING, PONG |
| Channels | JOIN, PART, TOPIC, NAMES, LIST, INVITE, KICK |
| Messaging | PRIVMSG, NOTICE |
| Queries | WHO, WHOIS, WHOWAS |
| User | MODE, AWAY, NICK |
| IRCv3 | CAP, AUTHENTICATE, BATCH, MONITOR, TAGMSG, SETNAME |
Requirements
- .NET 8.0 or later
- No platform-specific dependencies (works on Windows, macOS, Linux)
License
MIT License — see LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Hosting (>= 8.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Options (>= 8.0.0)
- System.Text.Json (>= 8.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.