public async Task TestEmailSending() { var message = new SNSEvent { Records = new List <SNSRecord> { new SNSRecord() } }; var request = new SendEmailSNSRequest { From = "*****@*****.**", To = new List <string> { "*****@*****.**" }, Body = "test", Subject = "Test", HtmlBody = "", FromName = "Rahul" }; var context = new TestLambdaContext(); message.Records[0].Sns.Message = Newtonsoft.Json.JsonConvert.SerializeObject(request); var lambda = new NotificationFunction(); var response = await lambda.TriggerEmailAsync(message, context); Assert.NotNull(response); }
public override BotMessage BuildMsg() { NotificationList = NotificationFunction.NotificationList(); base.PageSize = 5; Pages = base.BuildDataPage <MyTelegramBot.Notification>(NotificationList, base.PageSize); CreateNotificationBtn = BuildInlineBtn("Создать рассылку", BuildCallData(NotificationBot.NotificationCreateCmd, NotificationBot.ModuleName)); MessageReplyMarkup = PageNavigatorKeyboard <MyTelegramBot.Notification>(Pages, NotificationBot.NotificationViewCmd, NotificationBot.ModuleName, BackToAdminPanelBtn(), new InlineKeyboardButton[] { CreateNotificationBtn }); base.TextMessage = "Список рассылок:" + NewLine() + NewLine(); if (Pages != null && Pages.Count > 0 && Pages.Count >= SelectPageNumber && Pages[SelectPageNumber] != null) { var page = Pages[SelectPageNumber]; foreach (var notifi in page) { base.TextMessage += "Рассылка №" + notifi.Id.ToString() + " /notifi" + notifi.Id.ToString() + NewLine() + "Дата:" + notifi.DateAdd.ToString() + NewLine() + NewLine(); } } return(this); }
private async Task <IActionResult> SendNewNotifi() { var Followers = FollowerFunction.GetFollowerList(); var Notifi = NotificationFunction.GetNotification(NotifiId); if (Notifi != null && !Notifi.Sended) { Notifi = NotificationFunction.NotificationIsSended(NotifiId); await SendNotifiEditor(Notifi); foreach (var follower in Followers) { await SendMessage(follower.ChatId, new BotMessage { TextMessage = Notifi.Text }); //пауза три секунды. Если начать отправлять все сразу телегам будет выдавать ошибку. System.Threading.Thread.Sleep(300); } } if (Notifi != null && Notifi.Sended) { await AnswerCallback("Рассылка уже отправлена", true); } if (Notifi == null) { await AnswerCallback("Данные отсутствуют", true); } return(OkResult); }
private async Task <IActionResult> SendNotifiEditor(int Id, int MessageId = 0) { var notifi = NotificationFunction.GetNotification(Id); if (notifi != null) { BotMessage = new EditorNotificationMessage(notifi); await SendMessage(BotMessage.BuildMsg(), MessageId); return(OkResult); } else { await AnswerCallback("Данные отсутсвуют", true); return(OkResult); } }
private async Task <IActionResult> SendNotifiDetails() { try { NotifiId = Convert.ToInt32(CommandName.Substring(GetNotificationCmd.Length)); var Notifi = NotificationFunction.GetNotification(NotifiId); if (Notifi != null) { BotMessage = new NotificationDetailsMessage(Notifi); await SendMessage(BotMessage.BuildMsg()); } return(OkResult); } catch { return(OkResult); } }
private async Task <IActionResult> RemoveNotifi() { var Notifi = NotificationFunction.GetNotification(NotifiId); if (Notifi != null && !Notifi.Sended && NotificationFunction.RemoveNotification(NotifiId) > 0) { await AnswerCallback("Удалено", true); await SendNotifiList(); } if (Notifi == null) { await AnswerCallback("Данные отсутствуют", true); } if (Notifi != null && Notifi.Sended) { await AnswerCallback("Рассылка уже отправлена пользователям", true); } return(OkResult); }
private async Task <IActionResult> AddNotifi() { var list = NotificationFunction.NotificationList(); if (list.LastOrDefault() != null && list.LastOrDefault().DateAdd.Value.Year == DateTime.Now.Year && list.LastOrDefault().DateAdd.Value.DayOfYear == DateTime.Now.DayOfYear) { await SendMessage(new BotMessage { TextMessage = "Сегодня уже была сделана рассылка. Попробуйте завтра" }); } else { string text = base.ReplyToMessageText; var notifi = NotificationFunction.InsertNotification(text, FollowerId); BotMessage = new EditorNotificationMessage(notifi); await SendMessage(BotMessage.BuildMsg()); } return(OkResult); }