SimpleIRCLib 2.2.0
See the version list below for details.
dotnet add package SimpleIRCLib --version 2.2.0
NuGet\Install-Package SimpleIRCLib -Version 2.2.0
<PackageReference Include="SimpleIRCLib" Version="2.2.0" />
paket add SimpleIRCLib --version 2.2.0
#r "nuget: SimpleIRCLib, 2.2.0"
// Install SimpleIRCLib as a Cake Addin #addin nuget:?package=SimpleIRCLib&version=2.2.0 // Install SimpleIRCLib as a Cake Tool #tool nuget:?package=SimpleIRCLib&version=2.2.0
SimpleIRCLib for Csharp
THIS LIBRARY IS STILL IN DEVELOPMENT STARTING AT V2.0.0 THIS LIBRARY IS NOT BACK-WARDS COMPATIBLE WITH PREVIOUS VERSIONS!
This library is designed to make communication through IRC easier to implement in your application. In comparison to other C# IRC libraries, this library also enables you to download using the DCC (XDCC) protocol, used by IRC.
It's main features are:
- Is simple to use.
- Is simple to implement
- It's lightweight
- Multiple channel support
- DCC Download support
NuGet
Version
1.0.0:
- First release version
1.0.1:
- Fixed bug where leaving out debug callback would cause nullreferenceexception.
1.1.1:
- Added split in username | message
- Added quit/disconnect method
- removed usesless getters and setters
- fixed a few more less significant bugs
1.1.2:
- Removed getDownloadProgress, now download information can be retreived within the downloadStatusChangedCallback.
- Fixed error when you try to check if client is running before connecting to a server!
1.1.3:
- Code mostly reworked by following feedback from this post: reddit, such as:
- removed static fields
- removed inheriting classes
- text now being parsed through regex
- for receiving messages: a async task instead of a thread
- getDownloadProgress/downloadStatusChangedCallback has different way of operation (see below)
- addes status attribute for downloadstatus/progress
1.1.3 → 1.1.7:
- stability issues fixed
1.1.8:
- bugfixes, see commit description
1.1.9:
- bugfixes, see commit description
1.2.0
- Functionality update: Added method to retreive all the users in the current channel, as well as in other channels (but most of them will be hidden, so not very usefull ^^).
1.2.1
- Functionality update: Send Raw Messages (such as NICK, PRIVMSG etc.)
- Functionality update: Retreive Raw Data
- Functionality update: Send /msg using normal sendMessage() function
- Functionality update: Receive Notice message just like PRIVMSG (end user sees the source of the notice, for example: NickServ: bla bla bla)
- Code update: changed parsing messages a bit.
1.2.2
- Fixed issue with downloading filesizes larger than 4Gb.
1.2.3
- Abort download only deletes file if it was actually downloading the file.(had issues where it would still delete even if the file was already done downloading)
1.2.4
- Bug where some DCC SEND messages from bots were not detected & parsed properly.
- Should support IPv6 now. (Not really tested).
- Added function to check if download thread is still running.
- Added some debug messages for debugging purposes.
- Default download directory is now set to the same directory where the libary resides.
- Added flag to check if an error occured of any kind within the library (doesn't tell what kind of error yet).
2.0.0
- Rewritten IrcConnect class (now called IrcClient) to prevent Race conditions!
- Added timeout warnings.
- Added support for TLS/SSL
- Added better error handeling using the error codes from RFC 1459 IRC Protocol
- Added full support for receiving and sending to seperate channels
- Added comments and changed names to fit C# code convention
- Under the hood DCC fixes for more stability and error handeling when downloads go wrong
- Changed Action based callback methods to Event handlers
2.1.0
- Support for multiple .NET FrameWorks such as: .NET 4.5, .NET 4.6, .NET 4.7 & .NET CORE 2.0 & .NET CORE 2.1
- Renamed a few properties.
2.1.1 & 2.1.2
- DCC Fixes
2.2.0
- Moved from multiple target framework to single framework: NETStandard2.0.
Wiki
To get a better picture of the available methods and properties, go to this wiki: SimpleIRCLib Wiki
For a full WinForms example, go to: WinForm Example
For a simplified console example: Console Example
Tutorial
A winform example including video tutorial (v1.1.2) OLD - NOT SUPPORTED FOR v2.0.0: YouTube
-New v2.0.0 and up tutorial comming soon!
Development
I will try to fix (significant) bugs as quick as possible, but due to my study taking a rollercoaster dive in a few days it might take a while before an actual update will appear. It is very barebone and does need some refinement. So, progress in development will come down to how much free time I have and how much of it I want to spend working on this library.
Todos
- Some DCC fixes, most things seem to work, but there are some odd cases where it might not work.
- More readable code (getting better)
- Renaming some stupidly named names
Disclaimer
This library is still in alpha stadium, many things might go wrong and therefore I am not responsible for whatever happens while you use this application.
License
MIT
Free Software, Hell Yeah!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
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. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on SimpleIRCLib:
Repository | Stars |
---|---|
erfg12/AOL_4.0_Emu
Emulating AOL 4.0
|
Version | Downloads | Last updated |
---|---|---|
2.2.1 | 1,771 | 10/28/2018 |
2.2.0 | 943 | 8/21/2018 |
2.1.2 | 844 | 8/21/2018 |
2.1.1 | 893 | 8/9/2018 |
2.1.0 | 1,011 | 6/21/2018 |
2.0.0 | 972 | 5/21/2018 |
1.2.4 | 971 | 1/28/2018 |
1.2.3 | 939 | 10/22/2017 |
1.2.2 | 1,029 | 10/5/2017 |
1.2.1 | 905 | 8/31/2017 |
1.2.0 | 1,083 | 1/7/2017 |
1.1.90 | 1,950 | 4/24/2016 |
1.1.8 | 1,508 | 4/24/2016 |
1.1.7 | 1,230 | 3/20/2016 |
1.1.6 | 1,284 | 3/20/2016 |
1.1.5 | 1,214 | 3/20/2016 |
1.1.4 | 1,241 | 3/20/2016 |
1.1.3.1 | 1,213 | 3/20/2016 |
1.1.3 | 1,307 | 3/19/2016 |
1.1.2 | 1,378 | 2/3/2016 |
1.1.1 | 1,305 | 2/2/2016 |
1.1.0 | 1,328 | 2/2/2016 |
1.0.2 | 1,264 | 2/1/2016 |
1.0.1 | 1,315 | 2/1/2016 |
1.0.0 | 1,321 | 2/1/2016 |
-- Switch to netstandard2.0