There are no User-Quit events raised
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
IRC.NET |
Invalid
|
Undecided
|
Alexander Regueiro |
Bug Description
The IrcChannel.UserLeft event is only raised when a client "/part"s the channel, or closes the connection gracefully. If there's no such graceful closing of the connection, no Event is raised. This happens if the client of the user crashes, or the connections resets.
I fixed the problem temporarily by changing these lines:
(Note that I hooked the HandleUserQuit to the OnUserLeft event, in the mainline you may want to add a IrcChannel.UserQuit event? I'll look into that in the following days, and see if I can do it myself and submit a new patch, though)
--- src/IrcDotNet/
+++ src/IrcDotNet/
@@ -407,10 +407,11 @@
}
- internal void HandleUserQuit(
+ internal void HandleUserQuit(
{
lock (((ICollection)
+ OnUserLeft(new IrcChannelUserE
}
internal void HandleMessageRe
--- src/IrcDotNet/
+++ src/IrcDotNet/
@@ -321,7 +321,7 @@
internal void HandeQuit(string comment)
{
- cu.Channel.
+ cu.Channel.
}
I think the event you want here is the Quit event of the IrcClient.User (IrcUser type), simply.