Beispiel #1
0
        public async Task <IActionResult> CallAsync(string latitude, string longitude)
        {
            string sedMessage = $"https://maps.google.co.jp/maps?q={latitude},{longitude}";
            await LineMessagingClientManager.GetInstance().PushMessageAsync(LineUserIdConstant.NOOBWO, new List <ISendMessage>()
            {
                new TextMessage("ヘルプボタンが押されました")
            });

            await LineMessagingClientManager.GetInstance().PushMessageAsync(LineUserIdConstant.NOOBWO, new List <ISendMessage>()
            {
                new TextMessage(sedMessage)
            });

            await LineMessagingClientManager.GetInstance().PushMessageAsync(LineUserIdConstant.HARUKAINANA, new List <ISendMessage>()
            {
                new TextMessage("ヘルプボタンが押されました")
            });

            await LineMessagingClientManager.GetInstance().PushMessageAsync(LineUserIdConstant.HARUKAINANA, new List <ISendMessage>()
            {
                new TextMessage(sedMessage)
            });

            return(Content("OK"));
        }
        public async Task ExecuteAsync()
        {
            using (var context = new ToolsContext(AppConfig.ToolsOption.Options))
            {
                //実行中に更新
                var task = context.NotificationTasks.Where(t => t.TaskId == this.TaskId).SingleOrDefault();
                task.Status = Noobow.Commons.Constants.NotificationTaskStatusEnum.EXECUTING;
                context.SaveChanges();
                //待ち時間を計算
                int waitTime = Convert.ToInt32((task.NotificationTime - DateTime.Now).Value.TotalMilliseconds);
                //待つ
                Thread.Sleep(waitTime);
                //通知
                var quickReply = new QuickReply();
                quickReply.Items.Add(new QuickReplyButtonObject(new MessageTemplateAction("5分後", $"{CommandEum.PlanNotice.GetStringValue()} a5 {task.NotificationDetail}")));
                quickReply.Items.Add(new QuickReplyButtonObject(new MessageTemplateAction("10分後", $"{CommandEum.PlanNotice.GetStringValue()} a10 {task.NotificationDetail}")));
                quickReply.Items.Add(new QuickReplyButtonObject(new MessageTemplateAction("30分後", $"{CommandEum.PlanNotice.GetStringValue()} a30 {task.NotificationDetail}")));
                quickReply.Items.Add(new QuickReplyButtonObject(new MessageTemplateAction("1時間後", $"{CommandEum.PlanNotice.GetStringValue()} a60 {task.NotificationDetail}")));
                await LineMessagingClientManager.GetInstance().PushMessageAsync(task.NotificationTo, new List <ISendMessage> {
                    new TextMessage(task.NotificationDetail, quickReply)
                });

                //実行済みに更新
                task.Status = NotificationTaskStatusEnum.EXECUTED;
                context.SaveChanges();
            }
        }
        public async Task <IActionResult> Post([FromBody] JToken req)
        {
            var events = WebhookEventParser.Parse(req.ToString());

            var app = new LineBotApp(LineMessagingClientManager.GetInstance(), _context, _tContext, _services);
            await app.RunAsync(events);

            return(new OkResult());
        }
Beispiel #4
0
        public async Task <IActionResult> Index([FromForm] string message, string text)
        {
            Console.WriteLine($"受信:{DateTime.Now.ToString()}");
            string sendMessage = message ?? text ?? "空通知";

            try
            {
                await LineMessagingClientManager.GetInstance().PushMessageAsync(LineUserIdConstant.NOOBWO, new List <ISendMessage>()
                {
                    new TextMessage(sendMessage)
                });
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            return(new OkResult());
        }