From 6aa43295c5323e6e7387d015ead10dbe2bef6067 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Sat, 9 May 2015 14:39:51 -0600 Subject: [PATCH] Add support for unusual channel prefixes --- .gitignore | 3 ++- ChatSharp.userprefs | 13 ------------- ChatSharp/Events/PrivateMessageEventArgs.cs | 4 ++-- ChatSharp/Handlers/MessageHandlers.cs | 2 +- ChatSharp/PrivateMessage.cs | 8 +++++--- 5 files changed, 10 insertions(+), 20 deletions(-) delete mode 100644 ChatSharp.userprefs diff --git a/.gitignore b/.gitignore index 3ae7d38..227851e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ _ReSharper* bin/ obj/ -*.suo \ No newline at end of file +*.suo +*.userprefs diff --git a/ChatSharp.userprefs b/ChatSharp.userprefs deleted file mode 100644 index d435587..0000000 --- a/ChatSharp.userprefs +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/ChatSharp/Events/PrivateMessageEventArgs.cs b/ChatSharp/Events/PrivateMessageEventArgs.cs index 6f9db01..eeb94fc 100644 --- a/ChatSharp/Events/PrivateMessageEventArgs.cs +++ b/ChatSharp/Events/PrivateMessageEventArgs.cs @@ -7,10 +7,10 @@ namespace ChatSharp.Events public IrcMessage IrcMessage { get; set; } public PrivateMessage PrivateMessage { get; set; } - public PrivateMessageEventArgs(IrcMessage ircMessage) + public PrivateMessageEventArgs(IrcMessage ircMessage, ServerInfo serverInfo) { IrcMessage = ircMessage; - PrivateMessage = new PrivateMessage(IrcMessage); + PrivateMessage = new PrivateMessage(IrcMessage, serverInfo); } } } diff --git a/ChatSharp/Handlers/MessageHandlers.cs b/ChatSharp/Handlers/MessageHandlers.cs index a620910..2cffcef 100644 --- a/ChatSharp/Handlers/MessageHandlers.cs +++ b/ChatSharp/Handlers/MessageHandlers.cs @@ -107,7 +107,7 @@ namespace ChatSharp.Handlers public static void HandlePrivmsg(IrcClient client, IrcMessage message) { - var eventArgs = new PrivateMessageEventArgs(message); + var eventArgs = new PrivateMessageEventArgs(message, client.ServerInfo); client.OnPrivateMessageRecieved(eventArgs); if (eventArgs.PrivateMessage.IsChannelMessage) { diff --git a/ChatSharp/PrivateMessage.cs b/ChatSharp/PrivateMessage.cs index f7b52aa..48d3a7f 100644 --- a/ChatSharp/PrivateMessage.cs +++ b/ChatSharp/PrivateMessage.cs @@ -1,14 +1,16 @@ -namespace ChatSharp +using System.Linq; + +namespace ChatSharp { public class PrivateMessage { - public PrivateMessage(IrcMessage message) + public PrivateMessage(IrcMessage message, ServerInfo serverInfo) { Source = message.Parameters[0]; Message = message.Parameters[1]; User = new IrcUser(message.Prefix); - if (Source.StartsWith("#")) + if (serverInfo.ChannelTypes.Any(c => Source.StartsWith(c.ToString()))) IsChannelMessage = true; else Source = User.Nick;