Add NickChanged event

This commit is contained in:
Drew DeVault 2015-05-10 17:12:20 -06:00
parent da7c17b505
commit fdd4274ed2
4 changed files with 26 additions and 1 deletions

View File

@ -72,6 +72,7 @@
<Compile Include="UserCollection.cs" />
<Compile Include="WhoIs.cs" />
<Compile Include="Events\KickEventArgs.cs" />
<Compile Include="Events\NickChangedEventArgs.cs" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

View File

@ -0,0 +1,11 @@
using System;
namespace ChatSharp.Events
{
public class NickChangedEventArgs : EventArgs
{
public IrcUser User { get; set; }
public string OldNick { get; set; }
public string NewNick { get; set; }
}
}

View File

@ -61,10 +61,17 @@ namespace ChatSharp.Handlers
public static void HandleNick(IrcClient client, IrcMessage message)
{
if (client.User.Nick == new IrcUser(message.Prefix).Nick)
var u = new IrcUser(message.Prefix);
if (client.User.Nick == u.Nick)
{
client.User.Nick = message.Parameters[0];
}
client.OnNickChanged(new NickChangedEventArgs
{
User = u,
OldNick = u.Nick,
NewNick = message.Parameters[0]
});
}
public static void HandleQuit(IrcClient client, IrcMessage message)

View File

@ -375,6 +375,12 @@ namespace ChatSharp
protected internal virtual void OnWhoIsReceived(WhoIsReceivedEventArgs e)
{
if (WhoIsReceived != null) WhoIsReceived(this, e);
}
public event EventHandler<NickChangedEventArgs> NickChanged;
protected internal virtual void OnNickChanged(NickChangedEventArgs e)
{
if (NickChanged != null) NickChanged(this, e);
}
}
}