2015-07-07 19:16:52 +00:00
|
|
|
namespace ChatSharp.Handlers
|
2013-04-11 01:52:41 +00:00
|
|
|
{
|
|
|
|
internal static class ListingHandlers
|
|
|
|
{
|
|
|
|
public static void HandleBanListPart(IrcClient client, IrcMessage message)
|
|
|
|
{
|
2021-09-17 20:24:13 +00:00
|
|
|
var parameterString = message.RawMessage[message.RawMessage.IndexOf(' ')..];
|
|
|
|
var parameters = parameterString[parameterString.IndexOf(' ')..].Split(' ');
|
2013-06-02 21:11:48 +00:00
|
|
|
var request = client.RequestManager.PeekOperation("GETMODE b " + parameters[1]);
|
|
|
|
var list = (MaskCollection)request.State;
|
2015-07-31 23:01:23 +00:00
|
|
|
list.Add(new Mask(parameters[2], client.Users.GetOrAdd(parameters[3]),
|
|
|
|
IrcClient.DateTimeFromIrcTime(int.Parse(parameters[4]))));
|
2013-04-11 01:52:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public static void HandleBanListEnd(IrcClient client, IrcMessage message)
|
|
|
|
{
|
2013-06-02 21:11:48 +00:00
|
|
|
var request = client.RequestManager.DequeueOperation("GETMODE b " + message.Parameters[1]);
|
2021-09-17 20:24:13 +00:00
|
|
|
request.Callback?.Invoke(request);
|
2013-04-11 01:52:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public static void HandleExceptionListPart(IrcClient client, IrcMessage message)
|
|
|
|
{
|
2021-09-17 20:24:13 +00:00
|
|
|
var parameterString = message.RawMessage[(message.RawMessage.IndexOf(' ') + 1)..];
|
|
|
|
var parameters = parameterString[(parameterString.IndexOf(' ') + 1)..].Split(' ');
|
2013-06-02 21:11:48 +00:00
|
|
|
var request = client.RequestManager.PeekOperation("GETMODE e " + parameters[1]);
|
|
|
|
var list = (MaskCollection)request.State;
|
2015-07-31 23:01:23 +00:00
|
|
|
list.Add(new Mask(parameters[2], client.Users.GetOrAdd(parameters[3]),
|
|
|
|
IrcClient.DateTimeFromIrcTime(int.Parse(parameters[4]))));
|
2013-04-11 01:52:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public static void HandleExceptionListEnd(IrcClient client, IrcMessage message)
|
|
|
|
{
|
2013-06-02 21:11:48 +00:00
|
|
|
var request = client.RequestManager.DequeueOperation("GETMODE e " + message.Parameters[1]);
|
2021-09-17 20:24:13 +00:00
|
|
|
request.Callback?.Invoke(request);
|
2013-04-11 01:52:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public static void HandleInviteListPart(IrcClient client, IrcMessage message)
|
|
|
|
{
|
2021-09-17 20:24:13 +00:00
|
|
|
var parameterString = message.RawMessage[(message.RawMessage.IndexOf(' ') + 1)..];
|
|
|
|
var parameters = parameterString[(parameterString.IndexOf(' ') + 1)..].Split(' ');
|
2013-06-02 21:11:48 +00:00
|
|
|
var request = client.RequestManager.PeekOperation("GETMODE I " + parameters[1]);
|
|
|
|
var list = (MaskCollection)request.State;
|
2015-07-31 23:01:23 +00:00
|
|
|
list.Add(new Mask(parameters[2], client.Users.GetOrAdd(parameters[3]),
|
|
|
|
IrcClient.DateTimeFromIrcTime(int.Parse(parameters[4]))));
|
2013-04-11 01:52:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public static void HandleInviteListEnd(IrcClient client, IrcMessage message)
|
|
|
|
{
|
2013-06-02 21:11:48 +00:00
|
|
|
var request = client.RequestManager.DequeueOperation("GETMODE I " + message.Parameters[1]);
|
2021-09-17 20:24:13 +00:00
|
|
|
request.Callback?.Invoke(request);
|
2013-04-11 01:52:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public static void HandleQuietListPart(IrcClient client, IrcMessage message)
|
|
|
|
{
|
2021-09-17 20:24:13 +00:00
|
|
|
var parameterString = message.RawMessage[(message.RawMessage.IndexOf(' ') + 1)..];
|
|
|
|
var parameters = parameterString[(parameterString.IndexOf(' ') + 1)..].Split(' ');
|
2013-06-02 21:11:48 +00:00
|
|
|
var request = client.RequestManager.PeekOperation("GETMODE q " + parameters[1]);
|
|
|
|
var list = (MaskCollection)request.State;
|
2015-07-31 23:01:23 +00:00
|
|
|
list.Add(new Mask(parameters[2], client.Users.GetOrAdd(parameters[3]),
|
|
|
|
IrcClient.DateTimeFromIrcTime(int.Parse(parameters[4]))));
|
2013-04-11 01:52:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public static void HandleQuietListEnd(IrcClient client, IrcMessage message)
|
|
|
|
{
|
2013-06-02 21:11:48 +00:00
|
|
|
var request = client.RequestManager.DequeueOperation("GETMODE q " + message.Parameters[1]);
|
2021-09-17 20:24:13 +00:00
|
|
|
request.Callback?.Invoke(request);
|
2013-04-11 01:52:41 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|