public void LeaveChat( SteamID steamId )
{
SteamID chatId = steamId.ConvertToUInt64(); // copy the steamid so we don't modify it
var leaveChat = new ClientMsg<MsgClientChatMemberInfo>();
if ( chatId.IsClanAccount )
{
// this steamid is incorrect, so we'll fix it up
chatId.AccountInstance = ( uint )SteamID.ChatInstanceFlags.Clan;
chatId.AccountType = EAccountType.Chat;
}
leaveChat.Body.SteamIdChat = chatId;
leaveChat.Body.Type = EChatInfoType.StateChange;
leaveChat.Write( Client.SteamID.ConvertToUInt64() ); // ChatterActedOn
leaveChat.Write( ( uint )EChatMemberStateChange.Left ); // StateChange
leaveChat.Write( Client.SteamID.ConvertToUInt64() ); // ChatterActedBy
Client.Send( leaveChat );
}