Standardize on LF line endings
This commit is contained in:
parent
9c4fe64189
commit
bf74106ed8
|
@ -1,8 +1,8 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class ChannelCollection : IEnumerable<IrcChannel>
|
public class ChannelCollection : IEnumerable<IrcChannel>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class ClientSettings
|
public class ClientSettings
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
{
|
{
|
||||||
public class ChannelEventArgs : EventArgs
|
public class ChannelEventArgs : EventArgs
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
{
|
{
|
||||||
public class ChannelUserEventArgs : EventArgs
|
public class ChannelUserEventArgs : EventArgs
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
{
|
{
|
||||||
public class ErronousNickEventArgs : EventArgs
|
public class ErronousNickEventArgs : EventArgs
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
{
|
{
|
||||||
public class IrcNoticeEventArgs : EventArgs
|
public class IrcNoticeEventArgs : EventArgs
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
{
|
{
|
||||||
public class ModeChangeEventArgs : EventArgs
|
public class ModeChangeEventArgs : EventArgs
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
{
|
{
|
||||||
public class PrivateMessageEventArgs : EventArgs
|
public class PrivateMessageEventArgs : EventArgs
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
{
|
{
|
||||||
public class RawMessageEventArgs : EventArgs
|
public class RawMessageEventArgs : EventArgs
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
{
|
{
|
||||||
public class ServerMOTDEventArgs : EventArgs
|
public class ServerMOTDEventArgs : EventArgs
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Net.Sockets;
|
using System.Net.Sockets;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
{
|
{
|
||||||
public class SupportsEventArgs : EventArgs
|
public class SupportsEventArgs : EventArgs
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Events
|
namespace ChatSharp.Events
|
||||||
{
|
{
|
||||||
public class WhoIsReceivedEventArgs : EventArgs
|
public class WhoIsReceivedEventArgs : EventArgs
|
||||||
|
|
|
@ -1,148 +1,148 @@
|
||||||
using ChatSharp.Events;
|
using ChatSharp.Events;
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace ChatSharp.Handlers
|
namespace ChatSharp.Handlers
|
||||||
{
|
{
|
||||||
internal static class ChannelHandlers
|
internal static class ChannelHandlers
|
||||||
{
|
{
|
||||||
public static void HandleJoin(IrcClient client, IrcMessage message)
|
public static void HandleJoin(IrcClient client, IrcMessage message)
|
||||||
{
|
{
|
||||||
IrcChannel channel = null;
|
IrcChannel channel = null;
|
||||||
if (client.User.Nick == new IrcUser(message.Prefix).Nick)
|
if (client.User.Nick == new IrcUser(message.Prefix).Nick)
|
||||||
{
|
{
|
||||||
// We've joined this channel
|
// We've joined this channel
|
||||||
channel = new IrcChannel(client, message.Parameters[0]);
|
channel = new IrcChannel(client, message.Parameters[0]);
|
||||||
client.Channels.Add(channel);
|
client.Channels.Add(channel);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Someone has joined a channel we're already in
|
// Someone has joined a channel we're already in
|
||||||
channel = client.Channels[message.Parameters[0]];
|
channel = client.Channels[message.Parameters[0]];
|
||||||
channel.Users.Add(new IrcUser(message.Prefix));
|
channel.Users.Add(new IrcUser(message.Prefix));
|
||||||
}
|
}
|
||||||
if (channel != null)
|
if (channel != null)
|
||||||
client.OnUserJoinedChannel(new ChannelUserEventArgs(channel, new IrcUser(message.Prefix)));
|
client.OnUserJoinedChannel(new ChannelUserEventArgs(channel, new IrcUser(message.Prefix)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void HandleGetTopic(IrcClient client, IrcMessage message)
|
public static void HandleGetTopic(IrcClient client, IrcMessage message)
|
||||||
{
|
{
|
||||||
IrcChannel channel = null;
|
IrcChannel channel = null;
|
||||||
string topic;
|
string topic;
|
||||||
if (client.Channels.Contains(message.Parameters[1]))
|
if (client.Channels.Contains(message.Parameters[1]))
|
||||||
{
|
{
|
||||||
channel = client.Channels[message.Parameters[1]];
|
channel = client.Channels[message.Parameters[1]];
|
||||||
topic = message.Parameters[2];
|
topic = message.Parameters[2];
|
||||||
channel.Topic = topic;
|
channel.Topic = topic;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
channel = new IrcChannel(client, message.Parameters[1]);
|
channel = new IrcChannel(client, message.Parameters[1]);
|
||||||
topic = message.Parameters[2];
|
topic = message.Parameters[2];
|
||||||
}
|
}
|
||||||
client.OnChannelTopicReceived(new ChannelTopicEventArgs(channel, topic));
|
client.OnChannelTopicReceived(new ChannelTopicEventArgs(channel, topic));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void HandleGetEmptyTopic(IrcClient client, IrcMessage message)
|
public static void HandleGetEmptyTopic(IrcClient client, IrcMessage message)
|
||||||
{
|
{
|
||||||
var channel = client.Channels[message.Parameters[1]];
|
var channel = client.Channels[message.Parameters[1]];
|
||||||
var topic = message.Parameters[2];
|
var topic = message.Parameters[2];
|
||||||
client.OnChannelTopicReceived(new ChannelTopicEventArgs(channel, topic));
|
client.OnChannelTopicReceived(new ChannelTopicEventArgs(channel, topic));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void HandlePart(IrcClient client, IrcMessage message)
|
public static void HandlePart(IrcClient client, IrcMessage message)
|
||||||
{
|
{
|
||||||
if (!client.Channels.Contains(message.Parameters[0]))
|
if (!client.Channels.Contains(message.Parameters[0]))
|
||||||
return; // we already parted the channel, ignore
|
return; // we already parted the channel, ignore
|
||||||
|
|
||||||
if (client.User.Match(message.Prefix)) // We've parted this channel
|
if (client.User.Match(message.Prefix)) // We've parted this channel
|
||||||
client.Channels.Remove(client.Channels[message.Parameters[0]]);
|
client.Channels.Remove(client.Channels[message.Parameters[0]]);
|
||||||
else // Someone has parted a channel we're already in
|
else // Someone has parted a channel we're already in
|
||||||
{
|
{
|
||||||
var user = new IrcUser(message.Prefix).Nick;
|
var user = new IrcUser(message.Prefix).Nick;
|
||||||
var channel = client.Channels[message.Parameters[0]];
|
var channel = client.Channels[message.Parameters[0]];
|
||||||
if (channel.Users.Contains(user))
|
if (channel.Users.Contains(user))
|
||||||
channel.Users.Remove(user);
|
channel.Users.Remove(user);
|
||||||
foreach (var mode in channel.UsersByMode)
|
foreach (var mode in channel.UsersByMode)
|
||||||
{
|
{
|
||||||
if (mode.Value.Contains(user))
|
if (mode.Value.Contains(user))
|
||||||
mode.Value.Remove(user);
|
mode.Value.Remove(user);
|
||||||
}
|
}
|
||||||
client.OnUserPartedChannel(new ChannelUserEventArgs(client.Channels[message.Parameters[0]], new IrcUser(message.Prefix)));
|
client.OnUserPartedChannel(new ChannelUserEventArgs(client.Channels[message.Parameters[0]], new IrcUser(message.Prefix)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void HandleUserListPart(IrcClient client, IrcMessage message)
|
public static void HandleUserListPart(IrcClient client, IrcMessage message)
|
||||||
{
|
{
|
||||||
var channel = client.Channels[message.Parameters[2]];
|
var channel = client.Channels[message.Parameters[2]];
|
||||||
var users = message.Parameters[3].Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);
|
var users = message.Parameters[3].Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);
|
||||||
foreach (var user in users)
|
foreach (var user in users)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(user)) continue;
|
if (string.IsNullOrWhiteSpace(user)) continue;
|
||||||
var mode = client.ServerInfo.GetModeForPrefix(user[0]);
|
var mode = client.ServerInfo.GetModeForPrefix(user[0]);
|
||||||
if (mode == null)
|
if (mode == null)
|
||||||
channel.Users.Add(new IrcUser(user));
|
channel.Users.Add(new IrcUser(user));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
channel.Users.Add(new IrcUser(user.Substring(1)));
|
channel.Users.Add(new IrcUser(user.Substring(1)));
|
||||||
if (!channel.UsersByMode.ContainsKey(mode.Value))
|
if (!channel.UsersByMode.ContainsKey(mode.Value))
|
||||||
channel.UsersByMode.Add(mode.Value, new UserCollection());
|
channel.UsersByMode.Add(mode.Value, new UserCollection());
|
||||||
channel.UsersByMode[mode.Value].Add(new IrcUser(user.Substring(1)));
|
channel.UsersByMode[mode.Value].Add(new IrcUser(user.Substring(1)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void HandleUserListEnd(IrcClient client, IrcMessage message)
|
public static void HandleUserListEnd(IrcClient client, IrcMessage message)
|
||||||
{
|
{
|
||||||
var channel = client.Channels[message.Parameters[1]];
|
var channel = client.Channels[message.Parameters[1]];
|
||||||
client.OnChannelListRecieved(new ChannelEventArgs(channel));
|
client.OnChannelListRecieved(new ChannelEventArgs(channel));
|
||||||
if (client.Settings.ModeOnJoin)
|
if (client.Settings.ModeOnJoin)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
client.GetMode(channel.Name, c => Console.WriteLine(c.Mode));
|
client.GetMode(channel.Name, c => Console.WriteLine(c.Mode));
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
if (client.Settings.WhoIsOnJoin)
|
if (client.Settings.WhoIsOnJoin)
|
||||||
{
|
{
|
||||||
Task.Factory.StartNew(() => WhoIsChannel(channel, client, 0));
|
Task.Factory.StartNew(() => WhoIsChannel(channel, client, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void WhoIsChannel(IrcChannel channel, IrcClient client, int index)
|
private static void WhoIsChannel(IrcChannel channel, IrcClient client, int index)
|
||||||
{
|
{
|
||||||
// Note: joins and parts that happen during this will cause strange behavior here
|
// Note: joins and parts that happen during this will cause strange behavior here
|
||||||
Thread.Sleep(client.Settings.JoinWhoIsDelay * 1000);
|
Thread.Sleep(client.Settings.JoinWhoIsDelay * 1000);
|
||||||
var user = channel.Users[index];
|
var user = channel.Users[index];
|
||||||
client.WhoIs(user.Nick, (whois) =>
|
client.WhoIs(user.Nick, (whois) =>
|
||||||
{
|
{
|
||||||
user.User = whois.User.User;
|
user.User = whois.User.User;
|
||||||
user.Hostname = whois.User.Hostname;
|
user.Hostname = whois.User.Hostname;
|
||||||
user.RealName = whois.User.RealName;
|
user.RealName = whois.User.RealName;
|
||||||
Task.Factory.StartNew(() => WhoIsChannel(channel, client, index + 1));
|
Task.Factory.StartNew(() => WhoIsChannel(channel, client, index + 1));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void HandleKick(IrcClient client, IrcMessage message)
|
public static void HandleKick(IrcClient client, IrcMessage message)
|
||||||
{
|
{
|
||||||
var channel = client.Channels[message.Parameters[0]];
|
var channel = client.Channels[message.Parameters[0]];
|
||||||
var kicked = channel.Users[message.Parameters[1]];
|
var kicked = channel.Users[message.Parameters[1]];
|
||||||
if (string.Equals(message.Parameters[1], client.User.Nick, StringComparison.OrdinalIgnoreCase)) // We've been kicked
|
if (string.Equals(message.Parameters[1], client.User.Nick, StringComparison.OrdinalIgnoreCase)) // We've been kicked
|
||||||
client.Channels.Remove(client.Channels[message.Parameters[0]]);
|
client.Channels.Remove(client.Channels[message.Parameters[0]]);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (channel.Users.Contains(message.Parameters[1]))
|
if (channel.Users.Contains(message.Parameters[1]))
|
||||||
channel.Users.Remove(message.Parameters[1]);
|
channel.Users.Remove(message.Parameters[1]);
|
||||||
foreach (var mode in channel.UsersByMode.Where(mode => mode.Value.Contains(message.Parameters[1])))
|
foreach (var mode in channel.UsersByMode.Where(mode => mode.Value.Contains(message.Parameters[1])))
|
||||||
{
|
{
|
||||||
mode.Value.Remove(message.Parameters[1]);
|
mode.Value.Remove(message.Parameters[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
client.OnUserKicked(new KickEventArgs(channel, new IrcUser(message.Prefix),
|
client.OnUserKicked(new KickEventArgs(channel, new IrcUser(message.Prefix),
|
||||||
kicked, message.Parameters[2]));
|
kicked, message.Parameters[2]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChatSharp.Handlers
|
namespace ChatSharp.Handlers
|
||||||
{
|
{
|
||||||
internal static class ListingHandlers
|
internal static class ListingHandlers
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using ChatSharp.Events;
|
using ChatSharp.Events;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp.Handlers
|
namespace ChatSharp.Handlers
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using ChatSharp.Events;
|
using ChatSharp.Events;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
using ChatSharp.Events;
|
using ChatSharp.Events;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace ChatSharp.Handlers
|
namespace ChatSharp.Handlers
|
||||||
{
|
{
|
||||||
internal static class ServerHandlers
|
internal static class ServerHandlers
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace ChatSharp.Handlers
|
namespace ChatSharp.Handlers
|
||||||
{
|
{
|
||||||
public static class UserHandlers
|
public static class UserHandlers
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class IrcChannel
|
public class IrcChannel
|
||||||
|
@ -67,10 +67,10 @@ namespace ChatSharp
|
||||||
Client.ChangeMode(Name, change);
|
Client.ChangeMode(Name, change);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetTopic(string topic)
|
public void SetTopic(string topic)
|
||||||
{
|
{
|
||||||
Client.SetTopic(Name, topic);
|
Client.SetTopic(Name, topic);
|
||||||
Topic = topic;
|
Topic = topic;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public partial class IrcClient
|
public partial class IrcClient
|
||||||
|
@ -59,9 +59,9 @@ namespace ChatSharp
|
||||||
SendRawMessage("TOPIC {0} :{1}", channel, topic);
|
SendRawMessage("TOPIC {0} :{1}", channel, topic);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void GetTopic(string channel)
|
public void GetTopic(string channel)
|
||||||
{
|
{
|
||||||
SendRawMessage("TOPIC {0}", channel);
|
SendRawMessage("TOPIC {0}", channel);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void KickUser(string channel, string user)
|
public void KickUser(string channel, string user)
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
using ChatSharp.Events;
|
using ChatSharp.Events;
|
||||||
using ChatSharp.Handlers;
|
using ChatSharp.Handlers;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Net.Security;
|
using System.Net.Security;
|
||||||
using System.Net.Sockets;
|
using System.Net.Sockets;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
|
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
|
@ -65,14 +65,14 @@ namespace ChatSharp
|
||||||
}
|
}
|
||||||
|
|
||||||
public Stream NetworkStream { get; set; }
|
public Stream NetworkStream { get; set; }
|
||||||
public bool UseSSL { get; private set; }
|
public bool UseSSL { get; private set; }
|
||||||
public bool IgnoreInvalidSSL { get; set; }
|
public bool IgnoreInvalidSSL { get; set; }
|
||||||
public Encoding Encoding { get; set; }
|
public Encoding Encoding { get; set; }
|
||||||
public IrcUser User { get; set; }
|
public IrcUser User { get; set; }
|
||||||
public ChannelCollection Channels { get; private set; }
|
public ChannelCollection Channels { get; private set; }
|
||||||
public ClientSettings Settings { get; set; }
|
public ClientSettings Settings { get; set; }
|
||||||
public RequestManager RequestManager { get; set; }
|
public RequestManager RequestManager { get; set; }
|
||||||
public ServerInfo ServerInfo { get; set; }
|
public ServerInfo ServerInfo { get; set; }
|
||||||
public string PrivmsgPrefix { get; set; }
|
public string PrivmsgPrefix { get; set; }
|
||||||
|
|
||||||
public IrcClient(string serverAddress, IrcUser user, bool useSSL = false)
|
public IrcClient(string serverAddress, IrcUser user, bool useSSL = false)
|
||||||
|
@ -89,7 +89,7 @@ namespace ChatSharp
|
||||||
MessageHandlers.RegisterDefaultHandlers(this);
|
MessageHandlers.RegisterDefaultHandlers(this);
|
||||||
RequestManager = new RequestManager();
|
RequestManager = new RequestManager();
|
||||||
UseSSL = useSSL;
|
UseSSL = useSSL;
|
||||||
WriteQueue = new ConcurrentQueue<string>();
|
WriteQueue = new ConcurrentQueue<string>();
|
||||||
PrivmsgPrefix = "";
|
PrivmsgPrefix = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ namespace ChatSharp
|
||||||
SendRawMessage(nextMessage);
|
SendRawMessage(nextMessage);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
checkQueue.Start();
|
checkQueue.Start();
|
||||||
Socket.BeginConnect(ServerHostname, ServerPort, ConnectComplete, null);
|
Socket.BeginConnect(ServerHostname, ServerPort, ConnectComplete, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,9 +146,9 @@ namespace ChatSharp
|
||||||
NetworkStream = new NetworkStream(Socket);
|
NetworkStream = new NetworkStream(Socket);
|
||||||
if (UseSSL)
|
if (UseSSL)
|
||||||
{
|
{
|
||||||
if (IgnoreInvalidSSL)
|
if (IgnoreInvalidSSL)
|
||||||
NetworkStream = new SslStream(NetworkStream, false, (sender, certificate, chain, policyErrors) => true);
|
NetworkStream = new SslStream(NetworkStream, false, (sender, certificate, chain, policyErrors) => true);
|
||||||
else
|
else
|
||||||
NetworkStream = new SslStream(NetworkStream);
|
NetworkStream = new SslStream(NetworkStream);
|
||||||
((SslStream)NetworkStream).AuthenticateAsClient(ServerHostname);
|
((SslStream)NetworkStream).AuthenticateAsClient(ServerHostname);
|
||||||
}
|
}
|
||||||
|
@ -349,11 +349,11 @@ namespace ChatSharp
|
||||||
protected internal virtual void OnChannelListRecieved(ChannelEventArgs e)
|
protected internal virtual void OnChannelListRecieved(ChannelEventArgs e)
|
||||||
{
|
{
|
||||||
if (ChannelListRecieved != null) ChannelListRecieved(this, e);
|
if (ChannelListRecieved != null) ChannelListRecieved(this, e);
|
||||||
}
|
}
|
||||||
public event EventHandler<ChannelTopicEventArgs> ChannelTopicReceived;
|
public event EventHandler<ChannelTopicEventArgs> ChannelTopicReceived;
|
||||||
protected internal virtual void OnChannelTopicReceived(ChannelTopicEventArgs e)
|
protected internal virtual void OnChannelTopicReceived(ChannelTopicEventArgs e)
|
||||||
{
|
{
|
||||||
if (ChannelTopicReceived != null) ChannelTopicReceived(this, e);
|
if (ChannelTopicReceived != null) ChannelTopicReceived(this, e);
|
||||||
}
|
}
|
||||||
public event EventHandler<EventArgs> ConnectionComplete;
|
public event EventHandler<EventArgs> ConnectionComplete;
|
||||||
protected internal virtual void OnConnectionComplete(EventArgs e)
|
protected internal virtual void OnConnectionComplete(EventArgs e)
|
||||||
|
@ -368,19 +368,19 @@ namespace ChatSharp
|
||||||
public event EventHandler<KickEventArgs> UserKicked;
|
public event EventHandler<KickEventArgs> UserKicked;
|
||||||
protected internal virtual void OnUserKicked(KickEventArgs e)
|
protected internal virtual void OnUserKicked(KickEventArgs e)
|
||||||
{
|
{
|
||||||
if (UserKicked != null) UserKicked(this, e);
|
if (UserKicked != null) UserKicked(this, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
public event EventHandler<WhoIsReceivedEventArgs> WhoIsReceived;
|
public event EventHandler<WhoIsReceivedEventArgs> WhoIsReceived;
|
||||||
protected internal virtual void OnWhoIsReceived(WhoIsReceivedEventArgs e)
|
protected internal virtual void OnWhoIsReceived(WhoIsReceivedEventArgs e)
|
||||||
{
|
{
|
||||||
if (WhoIsReceived != null) WhoIsReceived(this, e);
|
if (WhoIsReceived != null) WhoIsReceived(this, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
public event EventHandler<NickChangedEventArgs> NickChanged;
|
public event EventHandler<NickChangedEventArgs> NickChanged;
|
||||||
protected internal virtual void OnNickChanged(NickChangedEventArgs e)
|
protected internal virtual void OnNickChanged(NickChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (NickChanged != null) NickChanged(this, e);
|
if (NickChanged != null) NickChanged(this, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class IrcMessage
|
public class IrcMessage
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class IrcProtocolException : Exception
|
public class IrcProtocolException : Exception
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class IrcUser : IEquatable<IrcUser>
|
public class IrcUser : IEquatable<IrcUser>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class Mask
|
public class Mask
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class MaskCollection : IEnumerable<Mask>
|
public class MaskCollection : IEnumerable<Mask>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class RequestManager
|
public class RequestManager
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class ServerInfo
|
public class ServerInfo
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class UserCollection : IEnumerable<IrcUser>
|
public class UserCollection : IEnumerable<IrcUser>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChatSharp
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class WhoIs
|
public class WhoIs
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
using ChatSharp;
|
using ChatSharp;
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace TestChatSharp
|
namespace TestChatSharp
|
||||||
{
|
{
|
||||||
class Program
|
class Program
|
||||||
|
@ -31,29 +31,29 @@ namespace TestChatSharp
|
||||||
var parts = e.PrivateMessage.Message.Split(' ');
|
var parts = e.PrivateMessage.Message.Split(' ');
|
||||||
client.ChangeMode(parts[1], parts[2]);
|
client.ChangeMode(parts[1], parts[2]);
|
||||||
}
|
}
|
||||||
else if (e.PrivateMessage.Message.StartsWith(".topic "))
|
else if (e.PrivateMessage.Message.StartsWith(".topic "))
|
||||||
{
|
{
|
||||||
string messageArgs = e.PrivateMessage.Message.Substring(7);
|
string messageArgs = e.PrivateMessage.Message.Substring(7);
|
||||||
if (messageArgs.Contains(" "))
|
if (messageArgs.Contains(" "))
|
||||||
{
|
{
|
||||||
string channel = messageArgs.Substring(0, messageArgs.IndexOf(" "));
|
string channel = messageArgs.Substring(0, messageArgs.IndexOf(" "));
|
||||||
string topic = messageArgs.Substring(messageArgs.IndexOf(" ") + 1);
|
string topic = messageArgs.Substring(messageArgs.IndexOf(" ") + 1);
|
||||||
client.Channels[channel].SetTopic(topic);
|
client.Channels[channel].SetTopic(topic);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string channel = messageArgs.Substring(messageArgs.IndexOf("#"));
|
string channel = messageArgs.Substring(messageArgs.IndexOf("#"));
|
||||||
client.GetTopic(channel);
|
client.GetTopic(channel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
client.ChannelMessageRecieved += (s, e) =>
|
client.ChannelMessageRecieved += (s, e) =>
|
||||||
{
|
{
|
||||||
Console.WriteLine("<{0}> {1}", e.PrivateMessage.User.Nick, e.PrivateMessage.Message);
|
Console.WriteLine("<{0}> {1}", e.PrivateMessage.User.Nick, e.PrivateMessage.Message);
|
||||||
};
|
};
|
||||||
client.ChannelTopicReceived += (s, e) =>
|
client.ChannelTopicReceived += (s, e) =>
|
||||||
{
|
{
|
||||||
Console.WriteLine("Received topic for channel {0}: {1}", e.Channel.Name, e.Topic);
|
Console.WriteLine("Received topic for channel {0}: {1}", e.Channel.Name, e.Topic);
|
||||||
};
|
};
|
||||||
client.ConnectAsync();
|
client.ConnectAsync();
|
||||||
while (true) ;
|
while (true) ;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
|
|
Loading…
Reference in New Issue
Block a user