private void Handle_Leave_Chat_Channel_Client_Message( CLeaveChatChannelMessage message, EPersistenceID player_id )
        {
            CLog.Log( ELoggingChannel.Chat, ELogLevel.Medium, String.Format( "Player {0} requesting to leave channel {1}.",
                                                                                                  Instance.Get_Player_Name_By_Persistence_ID( player_id ),
                                                                                                  Instance.Get_Channel_Name_By_Channel_ID( message.ChannelID ) ) );

            Instance.Remove_From_Channel( player_id, message.ChannelID, ELeftChannelReason.Self_Request, EPersistenceID.Invalid );
        }
        private void Handle_Leave_Chat_Channel_Command( CLeaveChatChannelSlashCommand command )
        {
            CClientChatChannel channel = null;
            int channel_number;
            if ( Int32.TryParse( command.ChannelIdentifier, out channel_number ) )
            {
                channel = Instance.Get_Channel_By_Channel_Number( ( EClientChannelNumber ) channel_number );
            }
            else
            {
                channel = Instance.Get_Channel_By_Channel_Name( command.ChannelIdentifier );
            }

            if ( channel != null )
            {
                CLeaveChatChannelMessage leave_message = new CLeaveChatChannelMessage( channel.ChannelID );
                Send_Message_To_Chat_Server( leave_message );
            }
            else
            {
                CClientResource.Output_Text( EClientTextID.Client_Chat_Unknown_Channel );
            }
        }