Add support for unusual channel prefixes
This commit is contained in:
parent
f6a0918f39
commit
6aa43295c5
|
@ -1,4 +1,5 @@
|
||||||
_ReSharper*
|
_ReSharper*
|
||||||
bin/
|
bin/
|
||||||
obj/
|
obj/
|
||||||
*.suo
|
*.suo
|
||||||
|
*.userprefs
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
<Properties StartupItem="TestChatSharp/TestChatSharp.csproj">
|
|
||||||
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
|
|
||||||
<MonoDevelop.Ide.Workbench ActiveDocument="ChatSharp/IrcClient.Commands.cs">
|
|
||||||
<Files>
|
|
||||||
<File FileName="ChatSharp/IrcClient.cs" Line="32" Column="32" />
|
|
||||||
<File FileName="ChatSharp/IrcClient.Commands.cs" Line="10" Column="10" />
|
|
||||||
</Files>
|
|
||||||
</MonoDevelop.Ide.Workbench>
|
|
||||||
<MonoDevelop.Ide.DebuggingService.Breakpoints>
|
|
||||||
<BreakpointStore />
|
|
||||||
</MonoDevelop.Ide.DebuggingService.Breakpoints>
|
|
||||||
<MonoDevelop.Ide.DebuggingService.PinnedWatches />
|
|
||||||
</Properties>
|
|
|
@ -7,10 +7,10 @@ namespace ChatSharp.Events
|
||||||
public IrcMessage IrcMessage { get; set; }
|
public IrcMessage IrcMessage { get; set; }
|
||||||
public PrivateMessage PrivateMessage { get; set; }
|
public PrivateMessage PrivateMessage { get; set; }
|
||||||
|
|
||||||
public PrivateMessageEventArgs(IrcMessage ircMessage)
|
public PrivateMessageEventArgs(IrcMessage ircMessage, ServerInfo serverInfo)
|
||||||
{
|
{
|
||||||
IrcMessage = ircMessage;
|
IrcMessage = ircMessage;
|
||||||
PrivateMessage = new PrivateMessage(IrcMessage);
|
PrivateMessage = new PrivateMessage(IrcMessage, serverInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,7 @@ namespace ChatSharp.Handlers
|
||||||
|
|
||||||
public static void HandlePrivmsg(IrcClient client, IrcMessage message)
|
public static void HandlePrivmsg(IrcClient client, IrcMessage message)
|
||||||
{
|
{
|
||||||
var eventArgs = new PrivateMessageEventArgs(message);
|
var eventArgs = new PrivateMessageEventArgs(message, client.ServerInfo);
|
||||||
client.OnPrivateMessageRecieved(eventArgs);
|
client.OnPrivateMessageRecieved(eventArgs);
|
||||||
if (eventArgs.PrivateMessage.IsChannelMessage)
|
if (eventArgs.PrivateMessage.IsChannelMessage)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
namespace ChatSharp
|
using System.Linq;
|
||||||
|
|
||||||
|
namespace ChatSharp
|
||||||
{
|
{
|
||||||
public class PrivateMessage
|
public class PrivateMessage
|
||||||
{
|
{
|
||||||
public PrivateMessage(IrcMessage message)
|
public PrivateMessage(IrcMessage message, ServerInfo serverInfo)
|
||||||
{
|
{
|
||||||
Source = message.Parameters[0];
|
Source = message.Parameters[0];
|
||||||
Message = message.Parameters[1];
|
Message = message.Parameters[1];
|
||||||
|
|
||||||
User = new IrcUser(message.Prefix);
|
User = new IrcUser(message.Prefix);
|
||||||
if (Source.StartsWith("#"))
|
if (serverInfo.ChannelTypes.Any(c => Source.StartsWith(c.ToString())))
|
||||||
IsChannelMessage = true;
|
IsChannelMessage = true;
|
||||||
else
|
else
|
||||||
Source = User.Nick;
|
Source = User.Nick;
|
||||||
|
|
Loading…
Reference in New Issue