コード例 #1
0
        public async Task SubscribeToNewsletter()
        {
            if (!await CheckIfAdminInGroups())
            {
                return;
            }

            if (MessageCommand.Parameters.Count != 1)
            {
                await ReplyTextMessageAsync("Usage:\n/subscribe <newsletter>");
            }
            var newsletterKey = MessageCommand.Parameters[0];

            var newsletters = await _newsletterService.GetNewslettersAsync();

            if (newsletters.Any(n => n.Key == newsletterKey))
            {
                var result = await _newsletterService.SubscribeChatAsync(newsletterKey, TelegramChat !.Id);

                if (result)
                {
                    await ReplyTextMessageAsync(
                        $"Successfully subscribed to the {newsletterKey} newsletter");
                }
                else
                {
                    await ReplyTextMessageAsync(
                        "Can't subscribe to newsletter, probably you are already subscribed");
                }
            }
            else
            {
                await ReplyTextMessageAsync(
                    $"The newsletter {newsletterKey} doesn't exist.");
            }
        }