public override int GetHashCode()
        {
            int hash = 1;

            if (messageCase_ == MessageOneofCase.BotActivity)
            {
                hash ^= BotActivity.GetHashCode();
            }
            if (messageCase_ == MessageOneofCase.ChatMessage)
            {
                hash ^= ChatMessage.GetHashCode();
            }
            if (messageCase_ == MessageOneofCase.RoleQuery)
            {
                hash ^= RoleQuery.GetHashCode();
            }
            if (messageCase_ == MessageOneofCase.SyncRoleCommand)
            {
                hash ^= SyncRoleCommand.GetHashCode();
            }
            if (messageCase_ == MessageOneofCase.UnsyncRoleCommand)
            {
                hash ^= UnsyncRoleCommand.GetHashCode();
            }
            if (messageCase_ == MessageOneofCase.ConsoleCommand)
            {
                hash ^= ConsoleCommand.GetHashCode();
            }
            if (messageCase_ == MessageOneofCase.RoleResponse)
            {
                hash ^= RoleResponse.GetHashCode();
            }
            if (messageCase_ == MessageOneofCase.BanCommand)
            {
                hash ^= BanCommand.GetHashCode();
            }
            if (messageCase_ == MessageOneofCase.UnbanCommand)
            {
                hash ^= UnbanCommand.GetHashCode();
            }
            if (messageCase_ == MessageOneofCase.KickCommand)
            {
                hash ^= KickCommand.GetHashCode();
            }
            if (messageCase_ == MessageOneofCase.KickallCommand)
            {
                hash ^= KickallCommand.GetHashCode();
            }
            if (messageCase_ == MessageOneofCase.ListCommand)
            {
                hash ^= ListCommand.GetHashCode();
            }
            hash ^= (int)messageCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        public void MergeFrom(MessageWrapper other)
        {
            if (other == null)
            {
                return;
            }
            switch (other.MessageCase)
            {
            case MessageOneofCase.BotActivity:
                if (BotActivity == null)
                {
                    BotActivity = new global::SCPDiscord.Interface.BotActivity();
                }
                BotActivity.MergeFrom(other.BotActivity);
                break;

            case MessageOneofCase.ChatMessage:
                if (ChatMessage == null)
                {
                    ChatMessage = new global::SCPDiscord.Interface.ChatMessage();
                }
                ChatMessage.MergeFrom(other.ChatMessage);
                break;

            case MessageOneofCase.RoleQuery:
                if (RoleQuery == null)
                {
                    RoleQuery = new global::SCPDiscord.Interface.RoleQuery();
                }
                RoleQuery.MergeFrom(other.RoleQuery);
                break;

            case MessageOneofCase.SyncRoleCommand:
                if (SyncRoleCommand == null)
                {
                    SyncRoleCommand = new global::SCPDiscord.Interface.SyncRoleCommand();
                }
                SyncRoleCommand.MergeFrom(other.SyncRoleCommand);
                break;

            case MessageOneofCase.UnsyncRoleCommand:
                if (UnsyncRoleCommand == null)
                {
                    UnsyncRoleCommand = new global::SCPDiscord.Interface.UnsyncRoleCommand();
                }
                UnsyncRoleCommand.MergeFrom(other.UnsyncRoleCommand);
                break;

            case MessageOneofCase.ConsoleCommand:
                if (ConsoleCommand == null)
                {
                    ConsoleCommand = new global::SCPDiscord.Interface.ConsoleCommand();
                }
                ConsoleCommand.MergeFrom(other.ConsoleCommand);
                break;

            case MessageOneofCase.RoleResponse:
                if (RoleResponse == null)
                {
                    RoleResponse = new global::SCPDiscord.Interface.RoleResponse();
                }
                RoleResponse.MergeFrom(other.RoleResponse);
                break;

            case MessageOneofCase.BanCommand:
                if (BanCommand == null)
                {
                    BanCommand = new global::SCPDiscord.Interface.BanCommand();
                }
                BanCommand.MergeFrom(other.BanCommand);
                break;

            case MessageOneofCase.UnbanCommand:
                if (UnbanCommand == null)
                {
                    UnbanCommand = new global::SCPDiscord.Interface.UnbanCommand();
                }
                UnbanCommand.MergeFrom(other.UnbanCommand);
                break;

            case MessageOneofCase.KickCommand:
                if (KickCommand == null)
                {
                    KickCommand = new global::SCPDiscord.Interface.KickCommand();
                }
                KickCommand.MergeFrom(other.KickCommand);
                break;

            case MessageOneofCase.KickallCommand:
                if (KickallCommand == null)
                {
                    KickallCommand = new global::SCPDiscord.Interface.KickallCommand();
                }
                KickallCommand.MergeFrom(other.KickallCommand);
                break;

            case MessageOneofCase.ListCommand:
                if (ListCommand == null)
                {
                    ListCommand = new global::SCPDiscord.Interface.ListCommand();
                }
                ListCommand.MergeFrom(other.ListCommand);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }