示例#1
0
        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);
        }