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."); } }