private void HandleCustomerMessage(Update update, SubscriberRecord customer)
        {
            switch (update.Message.Text)
            {
            case StateManager.Keyboards.StartCommand:
                const string defaultWelcomeMessage = "Welcome to your support!\nWe never leave you alone😊";
                TelegramClient.SendTextMessageAsync(customer.ChatId, SettingRepo.GetWelcomeMessage() ?? defaultWelcomeMessage,
                                                    replyMarkup: StateManager.GetCustomerReplyKeyboardMarkup(customer));
                break;

            case StateManager.Keyboards.ConnectCommand:
                WaitingManager.AddToQueue(customer);
                break;

            case StateManager.Keyboards.CancelCommand:
                WaitingManager.Cancel(customer);
                break;

            case StateManager.Keyboards.DisconnectCommand:
                ConnectionManager.Disconnect(customer);
                break;

            default:
                ConnectionManager.Direct(customer, update);
                break;
            }
        }
 public SupportBotInstance(
     WaitingManager waitingManager,
     SupporterRepo supporterRepo,
     SettingRepo settingRepo,
     ConnectionManager connectionManager,
     StateManager stateManager,
     ITelegramBotClient telegramClient)
 {
     WaitingManager    = waitingManager;
     SupporterRepo     = supporterRepo;
     SettingRepo       = settingRepo;
     ConnectionManager = connectionManager;
     StateManager      = stateManager;
     TelegramClient    = telegramClient;
 }