private void addDisplayComment(namaichi.info.ChatInfo chat) { if (chat.root.Equals("thread")) { return; } if (chat.contents == "再読み込みを行いました<br>読み込み中のままの方はお手数ですがプレイヤー下の更新ボタンをお試し下さい") { util.debugWriteLine("chat 再読み込みを行いました"); return; } if (chat.contents == null) { return; } // var time = util.getUnixToDatetime(chat.vpos / 100); // var unixKijunDt = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); var __time = chat.date - openTime; //- (60 * 60 * 9); // var __timeDt = util.getUnixToDatetime(__time); // var openTimeDt = util.getUnixToDatetime(openTime); // var __timeDt0 = __timeDt - openTimeDt; // var __timeDt1 = __timeDt0. - new timespunixKijunDt; var h = (int)(__time / (60 * 60)); var m = (int)((__time % (60 * 60)) / 60); var _m = (m < 10) ? ("0" + m.ToString()) : m.ToString(); var s = __time % 60; var _s = (s < 10) ? ("0" + s.ToString()) : s.ToString(); var keikaTime = h + ":" + _m + ":" + _s + ""; /* * // - unixKijunDt; * * // var __time = new TimeSpan(chat.vpos * 10000); * var h = (int)(__timeSpan.TotalHours); * var m = __timeSpan.Minutes; * var s = __timeSpan.Seconds; */ // - new TimeSpan(9,0,0); var c = (chat.premium == "3") ? "red" : ((chat.premium == "7") ? "blue" : "black"); if (!isTimeShift) { rm.form.addComment(keikaTime, chat.contents, chat.userId, chat.score, c); } }
private bool chatProcess(string c) { // util.debugWriteLine(c); XDocument chatXml = null; chatXml = XDocument.Parse(c); var chatinfo = new namaichi.info.ChatInfo(chatXml); var vposStartTime = (isVposStartTime) ? (long)rp.firstSegmentSecond : 0; if (isRtmp) { // chatXml = chatinfo.getFormatXml(_openTime + vposStartTime); chatinfo.getFromXml(_openTime + vposStartTime); } else { if (programType == "official") { // chatXml = chatinfo.getFormatXml(0, true, vposStartTime); chatinfo.getFromXml(_openTime + vposStartTime); // chatXml = chatinfo.getFormatXml(_openTime + vposStartTime); } else { // chatXml = chatinfo.getFormatXml(openTime + vposStartTime); chatinfo.getFromXml(openTime + vposStartTime); } } // chatinfo.getFromXml(serverTime); // chatinfo.getFormatXml(serverTime); // util.debugWriteLine("xml " + chatXml.ToString()); if (chatinfo.root == "chat" && (chatinfo.contents.IndexOf("/hb ifseetno") != -1 && chatinfo.premium == "3")) { return(true); } if (chatinfo.root != "chat" && chatinfo.root != "thread") { return(true); } if (chatinfo.root == "thread") { // serverTime = chatinfo.serverTime; ticket = chatinfo.ticket; // lastLastRes = (chatinfo.lastRes == null) ? 0 : int.Parse(chatinfo.lastRes); if (chatinfo.lastRes != null) { lastLastRes = int.Parse(chatinfo.lastRes); } } if (chatXml.ToString().Equals(gotMinXml[1])) { //isSave = false; } if (chatinfo.root == "chat" && (chatinfo.date >= lastGotMinTime || chatinfo.vpos >= lastGotMinVpos)) { // return true; } // if (!isSave) return false; if (chatinfo.root == "chat" && (chatinfo.date < gotMinTime)) { gotMinTime = chatinfo.date; gotMinVpos = chatinfo.vpos; gotMinXml[1] = gotMinXml[0]; gotMinXml[0] = chatXml.ToString(); } // Newtonsoft.Json //if (e.Message.IndexOf("chat") < 0 && // e.Message.IndexOf("thread") < 0) return; // addDebugBuf(jsonCommentToXML(text)); try { string s = chatXml.ToString(); if (chatinfo.root == "thread") { if (threadLine == null) { threadLine = s; if (!rfu.isPlayOnlyMode) { form.addLogText("アリーナ席に" + chatinfo.lastRes + "件ぐらいのコメントが見つかりました(追い出しコメント含む)"); } } } else { // commentSW.WriteLine(s + "}>"); // commentSW.Flush(); // gotCount++; // if (gotCount % 2000 == 0) form.addLogText(gotCount + "件のコメントを保存しました"); if (gotCommentList.IndexOf(s) == -1) { gotCommentList.Add(s); } gotCount++; if (gotCount % 2000 == 0 && !rfu.isPlayOnlyMode) { form.addLogText(gotCount + "件のコメントを保存しました"); } } // util.debugWriteLine("write comment " + s); } catch (Exception ee) { util.debugWriteLine("comment write exception " + ee.Message + " " + ee.StackTrace); } //if (!isTimeShift) // addDisplayComment(chatinfo); return(true); }
private void chatProcess(string c) { XDocument chatXml = null; chatXml = XDocument.Parse(c); var chatinfo = new namaichi.info.ChatInfo(chatXml); chatinfo.getFromXml(serverTime); // chatinfo.getFormatXml(serverTime); util.debugWriteLine("xml " + chatXml.ToString()); if (chatinfo.root == "chat" && (chatinfo.contents.IndexOf("/hb ifseetno") != -1 && chatinfo.premium == "3")) { return; } if (chatinfo.root != "chat" && chatinfo.root != "thread") { return; } if (chatinfo.root == "thread") { serverTime = chatinfo.serverTime; ticket = chatinfo.ticket; } // Newtonsoft.Json //if (e.Message.IndexOf("chat") < 0 && // e.Message.IndexOf("thread") < 0) return; // addDebugBuf(jsonCommentToXML(text)); try { if (commentSW != null) { string writeStr = null; if (bool.Parse(isGetCommentXml)) { writeStr = chatXml.ToString(); } else { var json = JsonConvert.SerializeXNode(chatXml.FirstNode); writeStr = Regex.Replace(json, "\"vpos\"\\:(\\d+)", "\"vpos\":" + chatinfo.vpos + ""); } commentSW.WriteLine(writeStr); commentSW.Flush(); util.debugWriteLine("write comment " + writeStr); } } catch (Exception ee) { util.debugWriteLine("comment write exception " + ee.Message + " " + ee.StackTrace); } //if (!isTimeShift) addDisplayComment(chatinfo); }