/// <summary>Handles an incoming channel list request</summary> /// <param name="client">the client the incoming packet belongs to</param> /// <param name="packet">the full packet</param> public static void HandleListChannel(IRealmClient client, RealmPacketIn packet) { string str = packet.ReadCString(); ChatChannel chan = ChatChannelGroup.RetrieveChannel((IUser)client.ActiveCharacter, str); if (chan != null) { ChannelHandler.SendChannelList((IPacketReceiver)client, chan); } else { ChannelHandler.SendNotOnChannelReply((IPacketReceiver)client, str); } }
/// <summary>Handles an incoming channel password change request</summary> /// <param name="client">the client the incoming packet belongs to</param> /// <param name="packet">the full packet</param> public static void HandlePasswordChange(IRealmClient client, RealmPacketIn packet) { string str1 = packet.ReadCString(); string str2 = packet.ReadCString(); ChannelMember member; ChatChannel chan = ChatChannel.EnsurePresence((IUser)client.ActiveCharacter, str1, out member); if (chan != null) { if (!member.IsModerator) { ChannelHandler.SendNotModeratorReply((IPacketReceiver)client, str1); } else { chan.Password = str2; ChannelHandler.SendPasswordChangedToEveryone(chan, client.ActiveCharacter.EntityId); } } else { ChannelHandler.SendNotOnChannelReply((IPacketReceiver)client, str1); } }