예제 #1
0
        public async Task Execute(Update update)
        {
            string fileContent = await _updateHelper.GetFileContentsFrom(update);

            string chatId = update.Message.Chat.Id.ToString();

            try
            {
                var model = JsonConvert.DeserializeObject <ScheduleModel>(fileContent);
                await SetupJobs(model, chatId);

                await _client.SendTextMessageAsync(chatId, StandardMessages.ScheduleSetSuccess);
            }
            catch (JsonException)
            {
                await _client.SendTextMessageAsync(chatId, StandardMessages.BadFileData);
            }
            catch (DataAccessException exc)
            {
                await _client.SendTextMessageAsync(chatId, exc.Message);
            }
            catch (Exception exc)
            {
                _logger.LogError(exc, "Were not able to setup jobs");
                throw;
            }
        }
        public async Task Execute(Update update)
        {
            var message = update.Message;

            string adminId = message.From.Id.ToString();

            string chatId = message.Chat.Id.ToString();

            try
            {
                await _repo.AddChat(chatId, adminId);

                await _client.SendStickerAsync(chatId, StartupStickerId);

                await _client.SendTextMessageAsync(chatId, StandardMessages.ChatRegistration);
            }
            catch (DataAccessException exc)
            {
                await _client.SendTextMessageAsync(chatId, exc.Message);
            }
            catch (Exception exc)
            {
                _logger.LogError(exc, "Failed to add chat");
                throw;
            }
        }
예제 #3
0
        public async Task Execute(Update update)
        {
            string chatIdToBeDeleted = update.Message.Chat.Id.ToString();

            try
            {
                await _repo.DeleteChat(chatIdToBeDeleted);

                await _client.SendTextMessageAsync(chatIdToBeDeleted, StandardMessages.ChatDeletionSuccess);
            }
            catch (DataAccessException exc)
            {
                await _client.SendTextMessageAsync(chatIdToBeDeleted, exc.Message);
            }
            catch (Exception exc)
            {
                _logger.LogError(exc, "Were not able to delete chat");
            }
        }
        public async Task Execute(Update update)
        {
            string chatId = update.Message.Chat.Id.ToString();

            try
            {
                await _jobs.DeleteJobsFromChat(chatId);

                await _client.SendTextMessageAsync(chatId, StandardMessages.ScheduleDeletionSuccess);
            }
            catch (DataAccessException exc)
            {
                await _client.SendTextMessageAsync(chatId, exc.Message);
            }
            catch (Exception exc)
            {
                _logger.LogError(exc, "Were not able to delete schedule");
                throw;
            }
        }
        public async Task Execute(Update update)
        {
            var    chatId = update.Message.Chat.Id;
            string fileContent;

            try
            {
                fileContent = await _updateHelper.GetFileContentsFrom(update);
            }
            catch (DataAccessException ex)
            {
                await _client.SendTextMessageAsync(chatId, ex.Message);

                return;
            }
            ScheduleUpdateModel model;

            try
            {
                model = JsonConvert.DeserializeObject <ScheduleUpdateModel>(fileContent);
            }
            catch (JsonException)
            {
                await _client.SendTextMessageAsync(chatId, StandardMessages.BadFileData);

                return;
            }

            try
            {
                await _jobs.AddJobsToChatWithExistingSchedule(chatId, model);
            }
            catch (DataAccessException ex)
            {
                await _client.SendTextMessageAsync(chatId, ex.Message);
            }

            await _client.SendTextMessageAsync(chatId, StandardMessages.AddedAlertsSuccess);
        }
예제 #6
0
        public async Task Execute(Update update)
        {
            string chatId = update.Message.Chat.Id.ToString();

            try
            {
                var schedule = await _repo.GetScheduleForChat(chatId);

                string content  = JsonConvert.SerializeObject(schedule);
                string fileName = schedule.Name + "Schedule";
                await _client.SendTextFileAsync(chatId, content, fileName);
            }
            catch (DataAccessException ex)
            {
                await _client.SendTextMessageAsync(chatId, ex.Message);
            }
        }
 public async Task Execute(Update update)
 {
     var chatId = update.Message.Chat.Id;
     await _client.SendTextMessageAsync(chatId, "This feature is not yet implemented");
 }
예제 #8
0
 public async Task SendAlertMessage(string Message, string ChatId)
 {
     await _client.SendTextMessageAsync(new ChatId(ChatId), Message);
 }