示例#1
0
        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);
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }