public async Task <IPurposeFullfillment> WorkAsync(IContext context, IKalos message) { var purposeFullfillment = new PurposeFullfillment(); if (!context.AddressedToSelf) { purposeFullfillment.Weight = -1; return(purposeFullfillment); } var matchedWords = new List <IKeyword>(); await Task.Run(() => { foreach (var keyword in OvermindAccessor.GetAllKeywords()) { if (message.Msg.Contains(keyword.Word)) { var previousMatch = matchedWords.FirstOrDefault(); if (previousMatch == null) { matchedWords.Add(keyword); } else if (previousMatch.Word.Length < keyword.Word.Length) { matchedWords.Remove(previousMatch); matchedWords.Add(keyword); } } } }); if (matchedWords.Count == 0) { purposeFullfillment.Weight = -1; return(purposeFullfillment); } if (!LastTimeKeywordUsed.ContainsKey(matchedWords[0].Word)) { LastTimeKeywordUsed.Add(matchedWords[0].Word, DateTime.Now); } else { if (LastTimeKeywordUsed[matchedWords[0].Word] > DateTime.Now.AddMinutes(-1)) { purposeFullfillment.Weight = -1; return(purposeFullfillment); } LastTimeKeywordUsed[matchedWords[0].Word] = DateTime.Now; } purposeFullfillment.Weight = 100; var responses = matchedWords[0].Response.Split('\n'); foreach (var response in responses) { var outMessage = MessageCreator.CreateOutgoingMessage(message.Origin, HumanInterface.Name, response); purposeFullfillment.AddMessage(outMessage); } return(purposeFullfillment); }
public static void RegisterDependencies(this IServiceCollection services, string connectionString) { services.AddDbContext <KinoheldDbContext>(p => p.UseMySql(connectionString)); services.AddTransient <IAlexaHandler, AlexaHandler>(); services.AddTransient <IIntentHandler, IntentHandler>(); services.AddTransient <IStatusHandler, StatusHandler>(); services.AddTransient <IEmailSubscriptionHandler, EmailSubscriptionHandler>(); services.AddTransient <IIntent, AmazonHelpIntent>(); services.AddTransient <IIntent, AmazonStopIntent>(); services.AddTransient <IIntent, AmazonCancelIntent>(); services.AddTransient <IIntent, GetOverviewDayIntent>(); services.AddTransient <IIntent, ToggleEmailSettingsIntent>(); services.AddTransient <IIntent, SetUserPreferencesIntent>(); services.AddTransient <IIntent, ResetUserPreferencesIntent>(); services.AddTransient <ICinemaDialogWorker, CinemaDialogWorker>(); services.AddTransient <IKinoheldService, KinoheldService>(); services.AddTransient <IKinoheldDbAccess, KinoheldDbAccess>(); services.AddSingleton <IMessages>(MessageCreator.CreateMessages()); services.AddSingleton <IAmazonService, AmazonService>(); services.AddSingleton <IEmailService, EmailService>(); services.AddSingleton <IRandomGenerator, RandomGenerator>(); services.AddSingleton <IEmailBodyFormatter <DayOverview>, OverviewEmailFormatter>(); services.AddSingleton <ISsmlMessageFormatter <DayOverview>, AlexaOverviewByShowResponseFormatter>(); services.AddSingleton <IWorkItemQueue, WorkItemQueue>(); }
private IKalos CreateResponse(IKalos originalMessage, IList <IWhatIs> results) { var responseText = $"{originalMessage.Sender}, "; var builder = new StringBuilder(); builder.Append(responseText); for (int i = 0; i < results.Count; i++) { var currentResult = results[i]; if (i != 0) { builder.Append(", "); } if (i == results.Count - 1 && i != 0) { builder.Append("and "); } if (!string.IsNullOrEmpty(currentResult.Object)) { builder.Append($"{currentResult.Subject}'s {currentResult.Object} is {currentResult.Answer}"); } else { builder.Append($"{currentResult.Subject} is {currentResult.Answer}"); } } builder.Append("."); responseText = builder.ToString(); var outMessage = MessageCreator.CreateOutgoingMessage(originalMessage.Origin, HumanInterface.Name, responseText); return(outMessage); }
private void OnMouseUp() { NoUsable.NoUse++; switch (NoUsable.NoUse) { case (1): MessageCreator.CreateMsg("啊哦", "(⊙﹏⊙)这个功能似乎还没做..."); break; case (2): MessageCreator.CreateMsg("啊哦", "(⊙﹏⊙)真的没有做啦..."); break; case (3): MessageCreator.CreateMsg("傻逼404", "┑( ̄Д  ̄)┍大家都知道shit404很懒呀..."); break; case (4): MessageCreator.CreateMsg("生气气", "━┳━ ━┳━为什么你不愿意听我的劝告呢"); break; case (5): MessageCreator.CreateMsg("不理你了哦", "你没有更重要的事情要做了吗?-UT"); break; default: MessageCreator.CreateMsg("null", "气到没有文字"); break; } }
public static Task <int> CreateMessageAsync(this ActionScheduler actionScheduler, string message) { message.ThrowIfNullOrEmpty(nameof(message)); var action = new MessageCreator(message); return(actionScheduler.ScheduleActionAsync <int>(action)); }
/// <summary> /// Instantiates an instance of T and adds it to the list. /// </summary> /// <typeparam name="T">The type to instantiate.</typeparam> /// <param name="list">The list to which to add the new element</param> /// <param name="constructor">An action for setting properties of the created instance.</param> public static void Add <T>(this IList <T> list, Action <T> constructor) where T : IMessage { if (MessageCreator == null) { throw new InvalidOperationException("MessageCreator has not been set."); } list.Add(MessageCreator.CreateInstance(constructor)); }
public void Register(int messageId, MessageCreator creator) { if (messages.ContainsKey(messageId)) { throw new InvalidOperationException(string.Format("Message #{0} is already defined", messageId)); } messages.Add(messageId, creator); }
/// <summary> /// Instantiates an instance of T and adds it to the list. /// </summary> /// <typeparam name="T">The type to instantiate.</typeparam> /// <param name="list">The list to which to add the new element</param> /// <param name="initializer">An action for setting properties of the created instance.</param> public static void Add <T>(this IList <T> list, Action <T> initializer) { if (MessageCreator == null) { throw new InvalidOperationException("MessageCreator has not been set."); } list.Add(MessageCreator.CreateInstance(initializer)); }
public async Task WhenSubscriberDoesNotExist_ThenResponseContainsThanksMessage() { var mockRepository = new Mock <ISubscribersRepository>(); var messageCreator = new MessageCreator(mockRepository.Object); var message = await messageCreator.Create("555-5555", ""); StringAssert.Contains("Thanks", message); mockRepository.Verify(r => r.CreateAsync(It.IsAny <Subscriber>()), Times.Once); }
static async Task AsyncMain() { Console.Title = "Samples.Serialization.TransitionPhase3"; var endpointConfiguration = new EndpointConfiguration("Samples.Serialization.TransitionPhase3"); endpointConfiguration.SharedConfig(); #region Phase3 var settingsV2 = new JsonSerializerSettings { Formatting = Formatting.Indented, ContractResolver = new ExtendedResolver() }; var serializationV2 = endpointConfiguration.UseSerialization <NewtonsoftSerializer>(); serializationV2.Settings(settingsV2); serializationV2.ContentTypeKey("jsonv2"); var settingsV1 = new JsonSerializerSettings { Formatting = Formatting.Indented }; var serializationV1 = endpointConfiguration.AddDeserializer <NewtonsoftSerializer>(); serializationV1.Settings(settingsV1); serializationV1.ContentTypeKey("jsonv1"); #endregion var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); try { #region send-to-both var message = MessageCreator.NewOrder(); await endpointInstance.SendLocal(message) .ConfigureAwait(false); await endpointInstance.Send("Samples.Serialization.TransitionPhase2", message) .ConfigureAwait(false); await endpointInstance.Send("Samples.Serialization.TransitionPhase4", message) .ConfigureAwait(false); #endregion Console.WriteLine("Order Sent"); Console.WriteLine("Press any key to exit"); Console.ReadKey(); } finally { await endpointInstance.Stop() .ConfigureAwait(false); } }
public bool Notify(IEnumerable <Lesson> lessons) { var messages = MessageCreator.CreateUserFriendlyMessage(lessons); foreach (var message in messages) { System.Console.WriteLine(message); } return(true); }
static async Task Main() { //required to prevent possible occurrence of .NET Core issue https://github.com/dotnet/coreclr/issues/12668 Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); Console.Title = "Samples.Serialization.TransitionPhase3"; var endpointConfiguration = new EndpointConfiguration("Samples.Serialization.TransitionPhase3"); endpointConfiguration.SharedConfig(); #region Phase3 var settingsV2 = new JsonSerializerSettings { Formatting = Formatting.Indented, ContractResolver = new ExtendedResolver() }; var serializationV2 = endpointConfiguration.UseSerialization <NewtonsoftSerializer>(); serializationV2.Settings(settingsV2); serializationV2.ContentTypeKey("jsonv2"); var settingsV1 = new JsonSerializerSettings { Formatting = Formatting.Indented }; var serializationV1 = endpointConfiguration.AddDeserializer <NewtonsoftSerializer>(); serializationV1.Settings(settingsV1); serializationV1.ContentTypeKey("jsonv1"); #endregion var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); #region send-to-both var message = MessageCreator.NewOrder(); await endpointInstance.SendLocal(message) .ConfigureAwait(false); await endpointInstance.Send("Samples.Serialization.TransitionPhase2", message) .ConfigureAwait(false); await endpointInstance.Send("Samples.Serialization.TransitionPhase4", message) .ConfigureAwait(false); #endregion Console.WriteLine("Order Sent"); Console.WriteLine("Press any key to exit"); Console.ReadKey(); await endpointInstance.Stop() .ConfigureAwait(false); }
public static void Load() { string[] Data = PlayerPrefs.GetString("global", "").Split('丨'); try{ JsonUtility.FromJsonOverwrite(Data[0], ItemSystem.PItems); JsonUtility.FromJsonOverwrite(Data[1], Saves); JsonUtility.FromJsonOverwrite(Data[2], TeamController.Team); }catch { MessageCreator.CreateMsg("存档损坏", "≧ ﹏ ≦ 存档因为不明原因无法读取!"); } Debug.Log("reload " + ItemSystem.PItems.Data.Count + " items, " + Saves.Data.Count + " value."); }
public void Register <TEnum>(TEnum messageId, MessageCreator creator) where TEnum : struct, IConvertible { if (!typeof(TEnum).IsEnum) { throw new ArgumentException("Type of messageId must be an enum"); } var intMessageId = ((IConvertible)messageId).ToInt32(Thread.CurrentThread.CurrentCulture); Register(intMessageId, creator); }
public FileSystemFixture() { var managementOptions = new ManagementOptions() { ApiKey = "Dummy_API_key", ProjectId = PROJECT_ID, SubscriptionId = SUBCRIPTION_ID }; _urlBuilder = new EndpointUrlBuilder(managementOptions); _messageCreator = new MessageCreator(managementOptions.ApiKey); }
static async Task SendMsgAsync(CancellationToken ct, Socket clientSocket) { while (!ct.IsCancellationRequested) { for (int i = 0; i < 100; i++) { var msg = MessageCreator.CreateOneMessage(1016); clientSocket.Send(msg.ToByteArray()); Log.Information(msg.Body); } await Task.Delay(5000); } }
public async Task <ActionResult> Register(string from, String body) { var phoneNumber = from; var message = body; var messageCreator = new MessageCreator(_repository); var outputMessage = await messageCreator.Create(phoneNumber, message); var response = new TwilioResponse(); response.Message(outputMessage); return(TwiML(response)); }
public void Setup() { _msg1 = MessageCreator.CreateOneMessage(_bodyLength1); _msg2 = MessageCreator.CreateOneMessage(_bodyLength2); _msgReader = new MessageReader(); _header1 = _msg1.HeaderByte; _length1 = BitConverter.GetBytes(_msg1.Body.Length + 8); _body1 = Encoding.UTF8.GetBytes(_msg1.Body); _header2 = _msg2.HeaderByte; _length2 = BitConverter.GetBytes(_msg2.Body.Length + 8); _body2 = Encoding.UTF8.GetBytes(_msg2.Body); }
public async Task WhenSubscriberExistAndMessageIsNotAllowed_ThenResponseContainsSorryMessage() { var mockRepository = new Mock <ISubscribersRepository>(); mockRepository.Setup(r => r.FindByPhoneNumberAsync(It.IsAny <string>())) .ReturnsAsync(new Subscriber { PhoneNumber = "555-5555" }); var messageCreator = new MessageCreator(mockRepository.Object); var message = await messageCreator.Create("555-5555", "create"); StringAssert.Contains("Sorry", message); }
public static IContainer Registers() { var builder = new ContainerBuilder(); builder.RegisterType <EmailMessage>().As <IEmailMessage>(); builder.RegisterType <LineMessage>().As <ILineMessage>(); builder.RegisterType <EmailMessage>().AsSelf(); builder.RegisterType <LineMessage>().AsSelf(); //Init Factory MessageCreator.Init(builder); return(builder.Build()); }
private void OnMouseUp() { InputField t = GameObject.Find("NameBox").GetComponent <InputField>(); t.text = t.text.Replace(" ", "").Replace(" ", ""); if (t.text.Length != 4) { MessageCreator.CreateMsg("名字输入错误", "请输入4个字的名字哦,不能任性。"); } else { DataCenter.Put("name", t.text); this.transform.parent.gameObject.GetComponent <Animator>().speed = 1; } }
public async Task WhenSubscriberExistAndMessageIsUnsubscribe_ThenResponseContainsUnsubscribedMessage() { var mockRepository = new Mock <ISubscribersRepository>(); mockRepository.Setup(r => r.FindByPhoneNumberAsync(It.IsAny <string>())) .ReturnsAsync(new Subscriber { PhoneNumber = "555-5555" }); var messageCreator = new MessageCreator(mockRepository.Object); var message = await messageCreator.Create("555-5555", "remove"); StringAssert.Contains("unsubscribed", message); mockRepository.Verify(r => r.UpdateAsync(It.IsAny <Subscriber>()), Times.Once); }
public async Task <IPurposeFullfillment> WorkAsync(IContext context, IKalos message) { var purposeFullfillment = new PurposeFullfillment(); if (!context.AddressedToSelf) { purposeFullfillment.Weight = -1; return(purposeFullfillment); } var outgoingMessage = MessageCreator.CreateOutgoingMessage(message.Origin, HumanInterface.Name, Response); purposeFullfillment.AddMessage(outgoingMessage); purposeFullfillment.Weight = 1; return(purposeFullfillment); }
public ParticleTeleport( MenuManager menumanager, Unit myhero, MessageCreator messagecreator, SoundPlayer soundplayer, Colors colors, GlobalMiniMap globalminiMap, GlobalWorld globalworld) { MenuManager = menumanager; MyHero = myhero; MessageCreator = messagecreator; SoundPlayer = soundplayer; Colors = colors; GlobalMiniMap = globalminiMap; GlobalWorld = globalworld; }
public ParticleSpells( MenuManager menumanager, Unit myhero, Dangerous dangerous, MessageCreator messagecreator, SoundPlayer soundplayer, Colors colors, DrawHelper drawhelper) { MenuManager = menumanager; MyHero = myhero; Dangerous = dangerous; MessageCreator = messagecreator; SoundPlayer = soundplayer; Colors = colors; DrawHelper = drawhelper; }
public async Task <bool> Send(IEmailMessage message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } if (message.SendableDate > LocalTime.Now) { Log.Info($"Skipping Send() command for IEmailMessage ({message.GetId()}). SendableDate is in the future."); await Repository.SaveForFutureSend(message); return(false); } using (var mail = await MessageCreator.Create(message)) { if (mail.To.None() && mail.CC.None() && mail.Bcc.None()) { Log.Info($"Mail message {message.GetId()} will not be sent as there is no effective recipient."); return(false); } try { await Sending.Raise(new EmailSendingEventArgs(message, mail)); await Dispatcher.Dispatch(mail, message); await Repository.RecordEmailSent(message); await Sent.Raise(new EmailSendingEventArgs(message, mail)); return(true); } catch (Exception ex) { await SendError.Raise(new EmailSendingEventArgs(message, mail) { Error = ex }); await Repository.RecordRetry(message); Log.Error(ex, $"Error in sending an email for this EmailQueueItem of '{message.GetId()}' because : " + Environment.NewLine + ex.ToFullMessage()); return(false); } } }
public async static Task Run([TimerTrigger("0 0 4-23 * * *")] TimerInfo myTimer, ILogger log) { log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}"); string str = Environment.GetEnvironmentVariable("sqldb_connectionstring"); using SqlConnection conn = new SqlConnection(str); conn.Open(); List <LegoSet> updatedSets = DbUtils.GetSetsWithEmailToSend(conn); List <Subscription> subscriptions = DbUtils.GetActiveSubscriptions(conn); Dictionary <(int number, bool isBigUpdate), MailMessage> messages = MessageCreator.GetMessagesForUpdatedSets(updatedSets); await EmailSender.SendEmails(subscriptions, messages); DbUtils.UpdateSetsAfterSendingEmails(conn, updatedSets); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "requestinfocreator")] HttpRequest req, ILogger log, ExecutionContext context) { IConfigurationRoot config = new ConfigurationBuilder() .SetBasePath(context.FunctionAppDirectory) .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables() .Build(); string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); dynamic data = JsonConvert.DeserializeObject(requestBody); try { string content = data.content; string secretkey = data.secretkey; string endpoint = data.endpoint; byte[] contentData = Encoding.UTF8.GetBytes(content); string now = DateTime.Now.ToString("O"); string contentMd5 = MessageCreator.CalculateMD5Hash(content); string message = MessageCreator.GenerateMessage(contentMd5, now, content, endpoint); string signature = SignatureCreator.GenerateSignature(secretkey, message); int contentLength = contentData.Length; var returnVal = new { contentMd5, signature, now, contentLength }; return((ActionResult) new OkObjectResult(JsonConvert.SerializeObject(returnVal))); } catch (Exception e) { return(new BadRequestObjectResult("Error in PostiviidakkoRequestInfoCreator: " + e.ToString())); } }
public async Task ProcessQueueMessage([QueueTrigger("text-messages")] TextMessageMsg message) { var twilioClient = new TwilioRestClient(_twilioOptions.AccountSid, _twilioOptions.AuthToken); var request = new MessageCreator( _twilioOptions.AccountSid, new PhoneNumber(message.Recipient), new PhoneNumber(_twilioOptions.PhoneNumber), message.Content); var response = await request.ExecuteAsync(twilioClient); var errorCode = response.GetErrorCode(); if (errorCode != null) { // log error, throw exception // will be requeued, ensure that errorCode means wasn't sent throw new Exception("Error sending Twilio message"); } }
public Common() { MenuConfig = new MenuConfig(); MessageCreator = new MessageCreator(this); SoundHelper = new SoundHelper(this); AllyOverlay = new AllyOverlay(this); EnemyOverlay = new EnemyOverlay(this); NetworthPanel = new NetworthPanel(this); Verification = new Verification(this); SpiritBreakerCharge = new SpiritBreakerCharge(this); MiranaArrow = new MiranaArrow(this); InvokerEMP = new InvokerEMP(this); InvokerSunStrike = new InvokerSunStrike(this); KunkkaTorrent = new KunkkaTorrent(this); LeshracSplitEarth = new LeshracSplitEarth(this); LifeStealerInfest = new LifeStealerInfest(this); LinaLightStrikeArray = new LinaLightStrikeArray(this); PhantomAssassinBlur = new PhantomAssassinBlur(this); PudgeHook = new PudgeHook(this); AncientApparitionIceBlast = new AncientApparitionIceBlast(this); BloodseekerRupture = new BloodseekerRupture(this); WindrunnerPowershot = new WindrunnerPowershot(this); //IllusionShow = new IllusionShow(this); LinkenShow = new LinkenShow(this); Additional = new Additional(this); TowerHelper = new TowerHelper(this); //VisibleByEnemy = new VisibleByEnemy(this); TrueSightVision = new TrueSightVision(this); Range = new Range(this); ParticleMonitor = new ParticleMonitor(this); UnitMonitor = new UnitMonitor(this); ModifierMonitor = new ModifierMonitor(this); }