public void MergeFrom(pb::CodedInputStream input)
        {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
            input.ReadRawMessage(this);
    #else
            uint tag;
            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                    break;

                case 10: {
                    global::SCPDiscord.Interface.BotActivity subBuilder = new global::SCPDiscord.Interface.BotActivity();
                    if (messageCase_ == MessageOneofCase.BotActivity)
                    {
                        subBuilder.MergeFrom(BotActivity);
                    }
                    input.ReadMessage(subBuilder);
                    BotActivity = subBuilder;
                    break;
                }

                case 26: {
                    global::SCPDiscord.Interface.ChatMessage subBuilder = new global::SCPDiscord.Interface.ChatMessage();
                    if (messageCase_ == MessageOneofCase.ChatMessage)
                    {
                        subBuilder.MergeFrom(ChatMessage);
                    }
                    input.ReadMessage(subBuilder);
                    ChatMessage = subBuilder;
                    break;
                }

                case 34: {
                    global::SCPDiscord.Interface.RoleQuery subBuilder = new global::SCPDiscord.Interface.RoleQuery();
                    if (messageCase_ == MessageOneofCase.RoleQuery)
                    {
                        subBuilder.MergeFrom(RoleQuery);
                    }
                    input.ReadMessage(subBuilder);
                    RoleQuery = subBuilder;
                    break;
                }

                case 42: {
                    global::SCPDiscord.Interface.SyncRoleCommand subBuilder = new global::SCPDiscord.Interface.SyncRoleCommand();
                    if (messageCase_ == MessageOneofCase.SyncRoleCommand)
                    {
                        subBuilder.MergeFrom(SyncRoleCommand);
                    }
                    input.ReadMessage(subBuilder);
                    SyncRoleCommand = subBuilder;
                    break;
                }

                case 50: {
                    global::SCPDiscord.Interface.UnsyncRoleCommand subBuilder = new global::SCPDiscord.Interface.UnsyncRoleCommand();
                    if (messageCase_ == MessageOneofCase.UnsyncRoleCommand)
                    {
                        subBuilder.MergeFrom(UnsyncRoleCommand);
                    }
                    input.ReadMessage(subBuilder);
                    UnsyncRoleCommand = subBuilder;
                    break;
                }

                case 58: {
                    global::SCPDiscord.Interface.ConsoleCommand subBuilder = new global::SCPDiscord.Interface.ConsoleCommand();
                    if (messageCase_ == MessageOneofCase.ConsoleCommand)
                    {
                        subBuilder.MergeFrom(ConsoleCommand);
                    }
                    input.ReadMessage(subBuilder);
                    ConsoleCommand = subBuilder;
                    break;
                }

                case 66: {
                    global::SCPDiscord.Interface.RoleResponse subBuilder = new global::SCPDiscord.Interface.RoleResponse();
                    if (messageCase_ == MessageOneofCase.RoleResponse)
                    {
                        subBuilder.MergeFrom(RoleResponse);
                    }
                    input.ReadMessage(subBuilder);
                    RoleResponse = subBuilder;
                    break;
                }

                case 74: {
                    global::SCPDiscord.Interface.BanCommand subBuilder = new global::SCPDiscord.Interface.BanCommand();
                    if (messageCase_ == MessageOneofCase.BanCommand)
                    {
                        subBuilder.MergeFrom(BanCommand);
                    }
                    input.ReadMessage(subBuilder);
                    BanCommand = subBuilder;
                    break;
                }

                case 82: {
                    global::SCPDiscord.Interface.UnbanCommand subBuilder = new global::SCPDiscord.Interface.UnbanCommand();
                    if (messageCase_ == MessageOneofCase.UnbanCommand)
                    {
                        subBuilder.MergeFrom(UnbanCommand);
                    }
                    input.ReadMessage(subBuilder);
                    UnbanCommand = subBuilder;
                    break;
                }

                case 90: {
                    global::SCPDiscord.Interface.KickCommand subBuilder = new global::SCPDiscord.Interface.KickCommand();
                    if (messageCase_ == MessageOneofCase.KickCommand)
                    {
                        subBuilder.MergeFrom(KickCommand);
                    }
                    input.ReadMessage(subBuilder);
                    KickCommand = subBuilder;
                    break;
                }

                case 98: {
                    global::SCPDiscord.Interface.KickallCommand subBuilder = new global::SCPDiscord.Interface.KickallCommand();
                    if (messageCase_ == MessageOneofCase.KickallCommand)
                    {
                        subBuilder.MergeFrom(KickallCommand);
                    }
                    input.ReadMessage(subBuilder);
                    KickallCommand = subBuilder;
                    break;
                }

                case 106: {
                    global::SCPDiscord.Interface.ListCommand subBuilder = new global::SCPDiscord.Interface.ListCommand();
                    if (messageCase_ == MessageOneofCase.ListCommand)
                    {
                        subBuilder.MergeFrom(ListCommand);
                    }
                    input.ReadMessage(subBuilder);
                    ListCommand = subBuilder;
                    break;
                }
                }
            }
    #endif
        }
        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
                    break;

                case 10: {
                    global::SCPDiscord.Interface.BotActivity subBuilder = new global::SCPDiscord.Interface.BotActivity();
                    if (messageCase_ == MessageOneofCase.BotActivity)
                    {
                        subBuilder.MergeFrom(BotActivity);
                    }
                    input.ReadMessage(subBuilder);
                    BotActivity = subBuilder;
                    break;
                }

                case 26: {
                    global::SCPDiscord.Interface.ChatMessage subBuilder = new global::SCPDiscord.Interface.ChatMessage();
                    if (messageCase_ == MessageOneofCase.ChatMessage)
                    {
                        subBuilder.MergeFrom(ChatMessage);
                    }
                    input.ReadMessage(subBuilder);
                    ChatMessage = subBuilder;
                    break;
                }

                case 34: {
                    global::SCPDiscord.Interface.RoleQuery subBuilder = new global::SCPDiscord.Interface.RoleQuery();
                    if (messageCase_ == MessageOneofCase.RoleQuery)
                    {
                        subBuilder.MergeFrom(RoleQuery);
                    }
                    input.ReadMessage(subBuilder);
                    RoleQuery = subBuilder;
                    break;
                }

                case 42: {
                    global::SCPDiscord.Interface.SyncRoleCommand subBuilder = new global::SCPDiscord.Interface.SyncRoleCommand();
                    if (messageCase_ == MessageOneofCase.SyncRoleCommand)
                    {
                        subBuilder.MergeFrom(SyncRoleCommand);
                    }
                    input.ReadMessage(subBuilder);
                    SyncRoleCommand = subBuilder;
                    break;
                }

                case 50: {
                    global::SCPDiscord.Interface.UnsyncRoleCommand subBuilder = new global::SCPDiscord.Interface.UnsyncRoleCommand();
                    if (messageCase_ == MessageOneofCase.UnsyncRoleCommand)
                    {
                        subBuilder.MergeFrom(UnsyncRoleCommand);
                    }
                    input.ReadMessage(subBuilder);
                    UnsyncRoleCommand = subBuilder;
                    break;
                }

                case 58: {
                    global::SCPDiscord.Interface.ConsoleCommand subBuilder = new global::SCPDiscord.Interface.ConsoleCommand();
                    if (messageCase_ == MessageOneofCase.ConsoleCommand)
                    {
                        subBuilder.MergeFrom(ConsoleCommand);
                    }
                    input.ReadMessage(subBuilder);
                    ConsoleCommand = subBuilder;
                    break;
                }

                case 66: {
                    global::SCPDiscord.Interface.RoleResponse subBuilder = new global::SCPDiscord.Interface.RoleResponse();
                    if (messageCase_ == MessageOneofCase.RoleResponse)
                    {
                        subBuilder.MergeFrom(RoleResponse);
                    }
                    input.ReadMessage(subBuilder);
                    RoleResponse = subBuilder;
                    break;
                }

                case 74: {
                    global::SCPDiscord.Interface.BanCommand subBuilder = new global::SCPDiscord.Interface.BanCommand();
                    if (messageCase_ == MessageOneofCase.BanCommand)
                    {
                        subBuilder.MergeFrom(BanCommand);
                    }
                    input.ReadMessage(subBuilder);
                    BanCommand = subBuilder;
                    break;
                }

                case 82: {
                    global::SCPDiscord.Interface.UnbanCommand subBuilder = new global::SCPDiscord.Interface.UnbanCommand();
                    if (messageCase_ == MessageOneofCase.UnbanCommand)
                    {
                        subBuilder.MergeFrom(UnbanCommand);
                    }
                    input.ReadMessage(subBuilder);
                    UnbanCommand = subBuilder;
                    break;
                }

                case 90: {
                    global::SCPDiscord.Interface.KickCommand subBuilder = new global::SCPDiscord.Interface.KickCommand();
                    if (messageCase_ == MessageOneofCase.KickCommand)
                    {
                        subBuilder.MergeFrom(KickCommand);
                    }
                    input.ReadMessage(subBuilder);
                    KickCommand = subBuilder;
                    break;
                }

                case 98: {
                    global::SCPDiscord.Interface.KickallCommand subBuilder = new global::SCPDiscord.Interface.KickallCommand();
                    if (messageCase_ == MessageOneofCase.KickallCommand)
                    {
                        subBuilder.MergeFrom(KickallCommand);
                    }
                    input.ReadMessage(subBuilder);
                    KickallCommand = subBuilder;
                    break;
                }

                case 106: {
                    global::SCPDiscord.Interface.ListCommand subBuilder = new global::SCPDiscord.Interface.ListCommand();
                    if (messageCase_ == MessageOneofCase.ListCommand)
                    {
                        subBuilder.MergeFrom(ListCommand);
                    }
                    input.ReadMessage(subBuilder);
                    ListCommand = subBuilder;
                    break;
                }
                }
            }
        }
        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);
        }