public static void Handle(int _subState, ReceievedMessage _ReceivedMessage) { var _LineEvent = _ReceivedMessage.events.FirstOrDefault(); var _userId = _LineEvent.source.userId; var ChannelToken = ConfigurationManager.AppSettings["ChannelAccessToken"]; isRock.LineBot.Bot bot = new isRock.LineBot.Bot(ChannelToken); var userInfo = bot.GetUserInfo(_userId); switch (_subState) { case (int)SubStateEnum.Step0: if (!Process_Validate.Handle(_LineEvent, bot)) { return; } bot.ReplyMessage(_LineEvent.replyToken, $"哈,'{userInfo.displayName}' 你來了...歡迎,現在開始用藥流程對話"); azQuery.resetStatus(string.Concat(0, (int)StateEnum.DrugRemind, 0, (int)SubStateEnum.Step1)); break; case (int)SubStateEnum.Step1: if (!Process_Validate.Handle(_LineEvent, bot)) { return; } bot.ReplyMessage(_LineEvent.replyToken, $"哈,'{userInfo.displayName}' 現在是第一階段對話"); azQuery.resetStatus(string.Concat(0, (int)StateEnum.DrugRemind, 0, (int)SubStateEnum.Step2)); break; case (int)SubStateEnum.Step2: if (!Process_Validate.Handle(_LineEvent, bot)) { return; } bot.ReplyMessage(_LineEvent.replyToken, $"哈,'{userInfo.displayName}' 現在是第二階段對話"); azQuery.resetStatus(string.Concat(0, (int)StateEnum.DrugRemind, 0, (int)SubStateEnum.Step3)); break; case (int)SubStateEnum.Step3: if (!Process_Validate.Handle(_LineEvent, bot)) { return; } bot.ReplyMessage(_LineEvent.replyToken, $"哈囉,'{userInfo.displayName}' 現在是最後階段對話"); azQuery.resetStatus(string.Concat(0, (int)StateEnum.DrugRemind, 0, (int)SubStateEnum.StepReset)); break; case (int)SubStateEnum.Step4: break; case (int)SubStateEnum.Step5: break; case (int)SubStateEnum.Step6: break; default: break; } }
public static void Handle(int _subState, ReceievedMessage _ReceivedMessage) { //取得Line Event var _LineEvent = _ReceivedMessage.events.FirstOrDefault(); Bot bot = new Bot(ChannelToken); var userInfo = bot.GetUserInfo(_LineEvent.source.userId); switch (_subState) { case (int)SubStateEnum.Step0: if (!Process_Validate.Handle(_LineEvent, bot)) { return; } //replyToken只能使用一次,可以塞Button Template和Flex Message bot.ReplyMessage(_LineEvent.replyToken, $"哈,'{userInfo.displayName}' 你來了...歡迎,現在開始首頁對話"); //轉為字串存取進DB狀態欄 azQuery.resetStatus(string.Concat(0, (int)StateEnum.Portal, 0, (int)SubStateEnum.Step1)); break; case (int)SubStateEnum.Step1: if (!Process_Validate.Handle(_LineEvent, bot)) { return; } bot.ReplyMessage(_LineEvent.replyToken, $"哈囉,'{userInfo.displayName}' 現在是第一階段對話"); azQuery.resetStatus(string.Concat(0, (int)StateEnum.Portal, 0, (int)SubStateEnum.Step2)); break; case (int)SubStateEnum.Step2: if (!Process_Validate.Handle(_LineEvent, bot)) { return; } bot.ReplyMessage(_LineEvent.replyToken, $"哈囉,'{userInfo.displayName}' 現在是第二階段對話"); azQuery.resetStatus(string.Concat(0, (int)StateEnum.Portal, 0, (int)SubStateEnum.Step3)); break; case (int)SubStateEnum.Step3: if (_LineEvent.type == "message" && _LineEvent.message.type == "text") { bot.ReplyMessage(_LineEvent.replyToken, $"哈囉,'{userInfo.displayName}' 現在是第三階段對話"); //轉為字串存取進DB狀態欄 azQuery.resetStatus(string.Concat(0, (int)StateEnum.Portal, 0, (int)SubStateEnum.Step4)); } else { bot.ReplyMessage(_LineEvent.replyToken, $"不好意思,我只聽得懂語言"); } break; case (int)SubStateEnum.Step4: if (_LineEvent.type == "message" && _LineEvent.message.type == "text") { bot.ReplyMessage(_LineEvent.replyToken, $"哈囉,'{userInfo.displayName}' 現在是最後階段對話"); azQuery.resetStatus(string.Concat(0, (int)StateEnum.Portal, 0, (int)SubStateEnum.StepReset)); } else { bot.ReplyMessage(_LineEvent.replyToken, $"不好意思,我只聽得懂語言"); } break; case (int)SubStateEnum.Step5: break; case (int)SubStateEnum.Step6: break; default: break; } }