protected async Task <string> sendNotificationEnlishVoca(List <int> listIdWord, string messID) { //ChatfuelJson jsonMessenger = new ChatfuelJson(); //MessJson messExplaintion = new MessJson(); //MessJson messPron = new MessJson(); //MessJson messVietnamese = new MessJson(); //AttachmentJson sound = new AttachmentJson(); // jsonMessenger.recipient.id = messID; // bool isCheck = false; foreach (var idWord in listIdWord) { isCheck = true; JsonMessengerText jsonTextMessenger = new JsonMessengerText(); MessJson messExplaintion = new MessJson(); jsonTextMessenger.recipient.id = messID; JsonMessengerText jsonSoundMessenger = new JsonMessengerText(); jsonSoundMessenger.recipient.id = messID; AttachmentJson sound = new AttachmentJson(); var tempWord = _dictCache.GetById(idWord); var infoVoca = _dictCache.findWordCache(tempWord.VocaID); messExplaintion.text = infoVoca.VocaID; messExplaintion.text += "\r\n" + infoVoca.Pron; messExplaintion.text += "\r\n" + infoVoca.MeanEn; messExplaintion.text += "\r\n" + infoVoca.MeanVi; sound.attachment.payload.url = infoVoca.SoundUrl; // jsonTextMessenger.message = messExplaintion; jsonSoundMessenger.message = sound; // string temp = JsonConvert.SerializeObject(jsonTextMessenger); temp = JsonConvert.SerializeObject(jsonSoundMessenger); PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); PostRaw("", JsonConvert.SerializeObject(jsonSoundMessenger)); } if (isCheck) { FBPostNoti newNoti = new FBPostNoti(); newNoti.recipient.id = messID; newNoti.message.attachment.payload.text = "Luyện tập nào !"; NotiButton button = new NotiButton(); button.title = "Start"; button.payload = "LUYENTAP"; newNoti.message.attachment.payload.buttons.Add(button); PostRaw("", JsonConvert.SerializeObject(newNoti)); } //HttpClient client = new HttpClient(); //client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); //if (isCheck) // await client.PostAsync("https://api.chatfuel.com/bots/59a43f64e4b03a25b73c0ebd/users/" + messID + "/" + "send?chatfuel_token=vnbqX6cpvXUXFcOKr5RHJ7psSpHDRzO1hXBY8dkvn50ZkZyWML3YdtoCnKH7FSjC&chatfuel_block_id=5a3fc60de4b037186c58ec99", null); return(""); }
public static void sendTextMeg(string idMess, string contain) { MessJson messExplaintionDict = new MessJson(); messExplaintionDict.text = contain; JsonMessengerText jsonTextMessenger = new JsonMessengerText(); jsonTextMessenger.recipient.id = idMess; jsonTextMessenger.message = messExplaintionDict; sendRequest(JsonConvert.SerializeObject(jsonTextMessenger)); }
public ActionResult ReceivePost(BotRequest data) { try { string strResult = data.entry.FirstOrDefault().messaging.FirstOrDefault().message.quick_reply.payload; string idMess = data.entry.FirstOrDefault().messaging.FirstOrDefault().sender.id; if (strResult == "True") { try { JsonMessengerText jsonTextMessenger = new JsonMessengerText(); jsonTextMessenger.recipient.id = idMess; MessJson messExplaintion = new MessJson(); messExplaintion.text = "Chính xác"; jsonTextMessenger.message = messExplaintion; PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); //isContinue = 2; //Update status UpdateLiteDb(jsonTextMessenger.recipient.id, 2); } catch { } } else if (strResult == "False") { try { JsonMessengerText jsonTextMessenger = new JsonMessengerText(); jsonTextMessenger.recipient.id = idMess; MessJson messExplaintion = new MessJson(); messExplaintion.text = "Sai rồi, bạn vui lòng làm lại nha!"; jsonTextMessenger.message = messExplaintion; PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); // isContinue = 1; UpdateLiteDb(jsonTextMessenger.recipient.id, 1); } catch { } } } catch { //try //{ // if (data.entry.FirstOrDefault().messaging.FirstOrDefault().message == null) // { // JsonMessengerText jsonTextMessenger = new JsonMessengerText(); // jsonTextMessenger.recipient.id = data.entry.FirstOrDefault().messaging.FirstOrDefault().sender.id; // MessJson messExplaintion = new MessJson(); // messExplaintion.text = "Có lỗi xay ra, mong bạn thông cảm !"; // jsonTextMessenger.message = messExplaintion; // PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); // isContinue = 1; // } //} //catch //{ //} } return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public async Task <string> multiplechoiceOnline(string id) { try { int numberTrue = 0; int numberFalse = 0; MessJson messExplaintion = new MessJson(); messExplaintion.text = ""; //create using (var db = new LiteDatabase(System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/OneData.db"))) { var items = db.GetCollection <Item>("items"); var item = items.FindOne(i => i.Id_Messenger == id); //Create new item if (item == null) { Item newItem = new Item(); newItem.Id_Messenger = id; newItem.Status = 0; items.Insert(newItem); } } // List <int> randDomPost = randomPosition(); List <TracNghiem> dataTracNghiem = new List <TracNghiem>(); List <int> listIDWord = new List <int>(); var currentUser = _service.listUserID().Where(x => x.Id_Messenger == id.ToString()).FirstOrDefault(); listIDWord = _detailOutWordService.listIdOutWord(currentUser.Id, -1); foreach (var idWord in listIDWord) { dataTracNghiem.Add(RandomTracNghiemChoVoca(idWord)); } int m_countQues = 0; bool isBreak = false; //Gửi đi từng question while (true) { UpdateLiteDb(id, 0); JsonMessengerText jsonMessenger = new JsonMessengerText(); jsonMessenger.recipient.id = id; //tao 1 cau trac nghiem gui cho messenger MessageQuick messQuick = new MessageQuick(); try { messQuick.text = dataTracNghiem[m_countQues].Question; } catch { isBreak = true; break; } for (int i = 0; i < 4; i++) { QuickReplyMess replay = new QuickReplyMess(); replay.payload = dataTracNghiem[m_countQues].ABCD[i].Checked.ToString(); replay.title = ToTitleCase(dataTracNghiem[m_countQues].ABCD[i].Contain); messQuick.quick_replies.Add(replay); } jsonMessenger.message = messQuick; //send di var temp = JsonConvert.SerializeObject(jsonMessenger); PostRaw("", JsonConvert.SerializeObject(jsonMessenger)); int countTime = 0; int isContinue = 0; while (isContinue == 0) { Task.WaitAll(Task.Delay(1000)); using (var db = new LiteDatabase(System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/OneData.db"))) { // Get a collection (or create, if not exits) var col = db.GetCollection <Item>("items"); isContinue = col.FindOne(x => x.Id_Messenger == id).Status; } //Dap an sai if (isContinue == 1) { _detailOutWordService.SetNextTime(dataTracNghiem[m_countQues].IdWord, 15, 5); //m_countQues++; numberFalse++; // isContinue = 0; break; } //Dap an dung else if (isContinue == 2) { m_countQues++; numberTrue++; if (m_countQues > dataTracNghiem.Count()) { isBreak = true; } break; } //het gio if (countTime > 10) { //Update status UpdateLiteDb(id, 0); // m_countQues = dataTracNghiem.Count; countTime = 0; break; // m_countQues--; } countTime++; } if (isBreak) { break; } } JsonMessengerText jsonTextMessenger = new JsonMessengerText(); jsonTextMessenger.recipient.id = id; messExplaintion.text = "Hết giờ! Chúc bạn học tốt!!! " + "\r\n" + "Số câu đúng: " + numberTrue.ToString() + "\r\n" + "Số câu sai: " + numberFalse.ToString(); jsonTextMessenger.message = messExplaintion; PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); // return(""); } catch (Exception e) { return(e.Message); } }
public async Task <string> searchDictViaBot(string contain, string id = "1554844547918927", string userid = null) { bool multiLetters = false; contain = contain.ToString().ToLower().Trim(); //Tim trong cache nếu ko có thì request crawler var dictTemp = _dictCache.findWordCache(contain); //post // bool isSaveCached = true; DictCache cacheDict = new DictCache(); OxfordDict dict = new OxfordDict(); GoogleTrans googleTransJson = new GoogleTrans(); GoogleTrans detailVietnamese = new GoogleTrans(); //Explain main of letter MessJson messExplaintion = new MessJson(); //Pron MessJson messPron = new MessJson(); //Vietnamese MessJson messVietnamese = new MessJson(); // ChatfuelJson hello = new ChatfuelJson(); AttachmentJson sound = new AttachmentJson(); sound.attachment.type = "audio"; Attachment2 attach = new Attachment2(); //Json is returned Customer AttachmentJson soundDic = new AttachmentJson(); MessJson messExplaintionDict = new MessJson(); MessJson resultGoogle = new MessJson(); // JsonMessengerText jsonTextMessenger = new JsonMessengerText(); jsonTextMessenger.recipient.id = id; JsonMessengerText jsonSoundMessenger = new JsonMessengerText(); jsonSoundMessenger.recipient.id = id; messExplaintionDict.text += "*" + ToTitleCase(contain) + "*"; Payload2 payload = new Payload2(); // if (dictTemp != null) { messPron.text = dictTemp.Pron; messExplaintion.text = dictTemp.MeanEn; messVietnamese.text = dictTemp.MeanVi; sound.attachment.payload.url = dictTemp.SoundUrl; // messExplaintionDict.text += "\r\n" + dictTemp.Pron; messExplaintionDict.text += "\r\n" + dictTemp.MeanEn; messExplaintionDict.text += "\r\n" + dictTemp.MeanVi; soundDic.attachment.payload.url = dictTemp.SoundUrl; } else { int size = contain.Split(' ').Length; if (size > 1) { multiLetters = true; googleTransJson = await _clientDictionaryService.startGoogleTrans(contain); foreach (var sentence in googleTransJson.sentences) { messExplaintion.text += sentence.trans; resultGoogle.text += sentence.trans; } // resultGoogle.text = googleTransJson.sentences[0].trans; //messExplaintionDict.text +="\r\n" + googleTransJson.sentences[0].trans; } else { try { dict = await _clientDictionaryService.startCrawlerOxford(contain); messPron.text = dict.m_Pron; messExplaintion.text = dict.m_Explanation.First().m_UseCase; // messExplaintionDict.text += "\r\n" + dict.m_Pron; messExplaintionDict.text += "\r\n" + dict.m_Explanation.First().m_UseCase; } catch { isSaveCached = false; messExplaintion.text = contain; messExplaintionDict.text += "\r\n" + contain; } try { detailVietnamese = await _clientDictionaryService.startGoogleDetailTrans(contain); } catch { detailVietnamese = null; } try { messVietnamese.text = detailVietnamese.dict.First().pos + ": "; foreach (var item in detailVietnamese.dict.First().terms) { messVietnamese.text += item + ", "; } messExplaintionDict.text += "\r\n" + messVietnamese.text; } catch { isSaveCached = false; messVietnamese.text = detailVietnamese.sentences.FirstOrDefault().trans; messExplaintionDict.text += "\r\n" + detailVietnamese.sentences.FirstOrDefault().trans; } } sound.attachment.payload.url = dict.m_SoundUrl; soundDic.attachment.payload.url = dict.m_SoundUrl; //Add database cacheDict = new DictCache(); cacheDict.VocaID = contain; cacheDict.Pron = messPron.text; cacheDict.MeanEn = messExplaintion.text; cacheDict.MeanVi = messVietnamese.text; cacheDict.SoundUrl = dict.m_SoundUrl; _dictCache.Add(cacheDict); if (isSaveCached) { _dictCache.Save(); } dictTemp = cacheDict; } //DetailOurWord detailWord = _detailOutWordService.findDetailOurWord(userid, dictTemp.Id); //if (detailWord == null) //{ // hello.Selected = false; //} //else //{ // hello.Selected = true; //} hello.messages.Add(messPron); hello.messages.Add(messVietnamese); hello.messages.Add(messExplaintion); hello.messages.Add(sound); try { hello.strVoca = ToTitleCase(contain); ApplicationUser currentUser = _service.listUserID().Where(x => x.Id_Messenger == id).FirstOrDefault(); NotificationHub.sendNoti(currentUser.Email, JsonConvert.SerializeObject(hello)); } catch { } if (multiLetters) { jsonTextMessenger.message = messExplaintionDict; jsonSoundMessenger.message = resultGoogle; PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); PostRaw("", JsonConvert.SerializeObject(jsonSoundMessenger)); return(""); } jsonTextMessenger.message = messExplaintionDict; jsonSoundMessenger.message = soundDic; PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); PostRaw("", JsonConvert.SerializeObject(jsonSoundMessenger)); return(JsonConvert.SerializeObject(hello)); }