private async Task AddSubscriptionHandlerAsync(CallbackQuery query) { var exchangeId = await RunExchangeSelectionPageAsync( ).ConfigureAwait(false); if (!exchangeId) { return; } await Menu.RequestReplyAsync("Enter the threshold%").ConfigureAwait(false); var threshold = await ReadPercentageAsync( ).ConfigureAwait(false); if (threshold is null) { return; } var isSilent = await RunSelectionPageAsync(new[] { "yes", "no" }.Batch ( 2 ), "Keep Silent?") .ConfigureAwait(false); if (!isSilent) { return; } var symbols = await ReadSymbolsAsync( ).ConfigureAwait(false); var subscription = new TelegramPercentChangeSubscription( Chat, User, exchangeId.Result, threshold.Value, isSilent.Result == "yes", symbols ); await TelegramBot.AddOrUpdateSubscriptionAsync(subscription).ConfigureAwait(false); await RedrawAsync( ).ConfigureAwait(false); }