Add support for chghost cap

This commit is contained in:
Alexandre Oliveira 2017-12-20 13:24:54 -02:00
parent 274a5721f3
commit 6894e8923b
3 changed files with 19 additions and 1 deletions

View File

@ -48,6 +48,7 @@ namespace ChatSharp.Handlers
client.SetHandler("330", UserHandlers.HandleWhoIsLoggedInAs);
client.SetHandler("354", UserHandlers.HandleWhox);
client.SetHandler("ACCOUNT", UserHandlers.HandleAccount);
client.SetHandler("CHGHOST", UserHandlers.HandleChangeHost);
// Listing handlers
client.SetHandler("367", ListingHandlers.HandleBanListPart);

View File

@ -204,5 +204,22 @@ namespace ChatSharp.Handlers
var user = client.Users.GetOrAdd(message.Prefix);
user.Account = message.Parameters[0];
}
public static void HandleChangeHost(IrcClient client, IrcMessage message)
{
var user = client.Users.Get(message.Prefix);
// Only handle CHGHOST for users we know
if (user != null)
{
var newIdent = message.Parameters[0];
var newHostname = message.Parameters[1];
if (user.User != newIdent)
user.User = newIdent;
if (user.Hostname != newHostname)
user.Hostname = newHostname;
}
}
}
}

View File

@ -169,7 +169,7 @@ namespace ChatSharp
// List of supported capabilities
Capabilities.AddRange(new string[] {
"server-time", "multi-prefix", "cap-notify", "znc.in/server-time", "znc.in/server-time-iso",
"account-notify"
"account-notify", "chghost"
});
IsNegotiatingCapabilities = false;