Пример #1
0
        private void 直播列表删除按钮点击事件(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(已选内容))
            {
                System.Windows.MessageBox.Show("未选择");
                return;
            }
            等待框.Visibility = Visibility.Visible;
            var rlc2 = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile));

            foreach (var item in rlc2.data)
            {
                if (item.RoomNumber == MMPU.获取livelist平台和唯一码.唯一码(已选内容))
                {
                    rlc2.data.Remove(item);
                    break;
                }
            }

            string JOO = JsonConvert.SerializeObject(rlc2);

            MMPU.储存文本(JOO, RoomConfigFile);
            InitializeRoomList();
            //更新房间列表(MMPU.获取livelist平台和唯一码(已选内容, "平台"), MMPU.获取livelist平台和唯一码(已选内容, "唯一码"),0);
            System.Windows.MessageBox.Show("删除完成");
        }
Пример #2
0
        /// <summary>
        /// 初始化房间列表
        /// </summary>
        public static void InitializeRoomList()
        {
            var rlc = new RoomBox();

            rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile));
            List <RoomCadr> RoomConfigList = new List <RoomCadr>();//房间信息1List

            RoomConfigList = rlc?.data;
            if (RoomConfigList == null)
            {
                RoomConfigList = new List <RoomCadr>();
            }
            bilibili.RoomList.Clear();
            if (初始化储存房间储存一次)
            {
                string JOO = JsonConvert.SerializeObject(rlc);
                MMPU.储存文本(JOO, RoomConfigFile);
                初始化储存房间储存一次 = false;
            }

            foreach (var item in RoomConfigList)
            {
                if (item.Types == "bilibili")
                {
                    bilibili.RoomList.Add(new bilibili.RoomInfo
                    {
                        房间号    = item.RoomNumber,
                        标题     = "",
                        是否录制弹幕 = item.VideoStatus,
                        是否录制视频 = item.VideoStatus,
                        UID    = "",
                        直播开始时间 = "",
                        称      = item.Name,
                        直播状态   = item.LiveStatus,
                        原名     = item.OfficialName,
                        是否提醒   = item.RemindStatus
                    });
                    if (首次启动)
                    {
                        bilibili.RoomList[bilibili.RoomList.Count() - 1].直播状态 = false;
                    }
                }
            }
            首次启动 = false;
        }
Пример #3
0
        public static void 导入VTBVUP(Action <string> callback, System.Windows.Window W, bool 是否初始化)
        {
            NewThreadTask.Run(runOnLocalThread =>
            {
                try
                {
                    if (string.IsNullOrEmpty(MMPU.Cookie))
                    {
                        callback("未登录,请先登录");
                        return;
                    }
                    MMPU.加载网络房间方法.更新网络房间缓存();
                    MMPU.加载网络房间方法.是否正在缓存 = true;
                    while (MMPU.加载网络房间方法.是否正在缓存)
                    {
                        Thread.Sleep(500);
                    }
                    if (是否初始化)
                    {
                        RoomInit.RoomConfigFile = MMPU.读取exe默认配置文件("RoomConfiguration", "./RoomListConfig.json");
                        RoomInit.InitializeRoomConfigFile();
                        RoomInit.InitializeRoomList(0, false, false);
                    }
                    int 增加的数量   = 0;
                    int 已经存在的数量 = 0;

                    RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile));
                    RoomBox RB  = new RoomBox
                    {
                        data = new List <RoomCadr>()
                    };
                    if (rlc.data != null)
                    {
                        foreach (var item in rlc.data)
                        {
                            RB.data.Add(item);
                        }
                    }
                    List <MMPU.加载网络房间方法.中的网络房间> 符合条件的房间 = new List <MMPU.加载网络房间方法.中的网络房间>();
                    JObject BB = bilibili.根据UID获取关注列表(MMPU.UID);
                    foreach (var 账号关注数据 in BB["data"])
                    {
                        foreach (var 网络房间数据 in MMPU.加载网络房间方法.列表缓存1)
                        {
                            if (账号关注数据["UID"].ToString() == 网络房间数据.UID)
                            {
                                符合条件的房间.Add(new MMPU.加载网络房间方法.中的网络房间()
                                {
                                    UID  = 网络房间数据.UID,
                                    称    = 网络房间数据.称,
                                    官方名称 = 网络房间数据.官方名称,
                                    平台   = 网络房间数据.平台,
                                    房间号  = 网络房间数据.roomId,
                                    编号   = 0
                                });
                                break;
                            }
                        }
                    }
                    foreach (var 符合条件的 in 符合条件的房间)
                    {
                        bool BF = false;
                        if (!string.IsNullOrEmpty(符合条件的.UID))
                        {
                            string 房间号 = string.Empty;
                            if (string.IsNullOrEmpty(符合条件的.房间号))
                            {
                                BF  = true;
                                房间号 = bilibili.通过UID获取房间号(符合条件的.UID);

                                符合条件的.房间号 = 房间号;
                            }
                            else
                            {
                                房间号 = 符合条件的.房间号;
                            }

                            bool 是否已经存在 = false;
                            foreach (var item in bilibili.RoomList)
                            {
                                if (item.房间号 == 房间号)
                                {
                                    是否已经存在 = true;
                                    break;
                                }
                            }
                            if (!是否已经存在 && !string.IsNullOrEmpty(房间号.Trim('0')))
                            {
                                增加的数量++;
                                long UIDD = 0;
                                try
                                {
                                    UIDD = long.Parse(符合条件的.UID);
                                }
                                catch (Exception) {}
                                RB.data.Add(new RoomCadr {
                                    Name = 符合条件的.称, RoomNumber = 符合条件的.房间号, Types = 符合条件的.平台, RemindStatus = false, status = false, VideoStatus = false, OfficialName = 符合条件的.官方名称, LiveStatus = false, UID = UIDD
                                });
                            }
                            else
                            {
                                已经存在的数量++;
                            }
                        }
                        if (BF)
                        {
                            Thread.Sleep(200);
                        }
                    }
                    string JOO = JsonConvert.SerializeObject(RB);
                    MMPU.储存文本(JOO, RoomConfigFile);
                    InitializeRoomList(0, false, false);

                    runOnLocalThread(() =>
                    {
                        callback("导入成功!原有:" + 已经存在的数量 + "个,新增VTB/VUP数:" + 增加的数量);
                    });
                }
                catch (Exception E)
                {
                    ;
                }
            }, W);
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(称.Text) || string.IsNullOrEmpty(唯一码.Text))
            {
                提示.Content = "名称或唯一码不能为空!";
            }
            else
            {
                int roomId = 0;
                try
                {
                    roomId = int.Parse(唯一码.Text);

                    string roomDD = bilibili.根据房间号获取房间信息.获取真实房间号(roomId.ToString());
                    if (!string.IsNullOrEmpty(roomDD))
                    {
                        roomId = int.Parse(roomDD);
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("输入的直播间房间号不符合房间号规则(数字)");
                    return;
                }
                RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile));
                RoomBox RB  = new RoomBox
                {
                    data = new List <RoomCadr>()
                };
                if (rlc.data != null)
                {
                    foreach (var item in rlc.data)
                    {
                        if (item.RoomNumber == 唯一码.Text)
                        {
                            提示.Content = "配置文件中已有改房间号存在!";
                            return;
                        }
                        RB.data.Add(item);
                    }
                }
                long UID = 0;
                if (DataCache.读缓存(DataCache.缓存头.通过房间号获取UID + roomId, 0, out string GETUID))
                {
                    try
                    {
                        UID = long.Parse(GETUID);
                    }
                    catch (Exception) {}
                }
                if (UID < 1)
                {
                    try
                    {
                        UID = long.Parse(bilibili.根据房间号获取房间信息.通过房间号获取UID(roomId.ToString()));
                    }
                    catch (Exception) {}
                }

                RB.data.Add(new RoomCadr()
                {
                    Name = 称.Text, OfficialName = 称.Text, RoomNumber = roomId.ToString(), UID = UID
                });
                string JOO = JsonConvert.SerializeObject(RB);
                MMPU.储存文本(JOO, RoomConfigFile);
                提示.Content = 称.Text + "[" + 唯一码.Text + "]添加完成";
                bilibili.已连接的直播间状态.Add(new 直播间状态()
                {
                    房间号 = roomId
                });

                bilibili.RoomList.Add(new RoomInfo
                {
                    房间号    = roomId.ToString(),
                    标题     = "",
                    是否录制弹幕 = false,
                    是否录制视频 = false,
                    UID    = UID.ToString(),
                    直播开始时间 = "",
                    称      = 称.Text,
                    直播状态   = false,
                    原名     = 称.Text,
                    是否提醒   = false,
                    平台     = "bilibili"
                });
                称.Text   = "";
                唯一码.Text = "";
            }
        }
Пример #5
0
        private void BT1_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(平台.SelectedItem.ToString()))
                {
                    MessageBox.Show("未选择平台");
                    return;
                }
            }
            catch (Exception)
            {
                MessageBox.Show("未选择平台");
                return;
            }
            if (string.IsNullOrEmpty(中文名称.Text) || string.IsNullOrEmpty(平台.SelectedItem.ToString()) || string.IsNullOrEmpty(唯一码.Text))
            {
                MessageBox.Show("不能留空");
                return;
            }
            if (this.Title == "添加新单推" || this.Title == "从网络添加房间")
            {
                if (平台.SelectedItem.ToString() == "bilibili")
                {
                    foreach (var item in RoomInit.bilibili房间主表)
                    {
                        if (item.唯一码 == 唯一码.Text)
                        {
                            MessageBox.Show("已存在相同的房间号!\n" + item.称 + " " + item.平台 + " " + item.唯一码);
                            return;
                        }
                    }
                }
                else if (平台.SelectedItem.ToString() == "youtube")
                {
                    foreach (var item in RoomInit.youtube房间主表)
                    {
                        if (item.唯一码 == 唯一码.Text)
                        {
                            MessageBox.Show("已存在相同的房间号!\n" + item.称 + " " + item.平台 + " " + item.唯一码);
                            return;
                        }
                    }
                }
                新增V信息 NEWV = new 新增V信息()
                {
                    CN_Name = 中文名称.Text, LA_Name = 官方名称.Text, Platform = 平台.SelectedItem.ToString(), GUID = 唯一码.Text
                };
                NewThreadTask.Run(() =>
                {
                    MMPU.TcpSend(Server.RequestCode.GET_NEW_MEMBER_LIST_CONTENT,
                                 JsonConvert.SerializeObject(NEWV), true);
                });

                RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile));
                RoomBox RB  = new RoomBox();
                RB.data = new List <RoomCadr>();
                if (rlc.data != null)
                {
                    foreach (var item in rlc.data)
                    {
                        RB.data.Add(item);
                        if (RoomInit.根据唯一码获取直播状态(item.RoomNumber))
                        {
                            RB.data[RB.data.Count() - 1].LiveStatus = true;
                        }
                    }
                }
                RB.data.Add(new RoomCadr {
                    Name = 中文名称.Text, RoomNumber = 唯一码.Text, Types = 平台.SelectedItem.ToString(), RemindStatus = false, status = false, VideoStatus = false, OfficialName = 官方名称.Text, LiveStatus = RoomInit.根据唯一码获取直播状态(GUID)
                });
                string JOO = JsonConvert.SerializeObject(RB);
                MMPU.储存文本(JOO, RoomConfigFile);
                if (平台.SelectedItem.ToString() == "bilibili")
                {
                    InitializeRoomList(int.Parse(唯一码.Text), false, false);
                }
                else
                {
                    InitializeRoomList(0, false, false);
                }



                //更新房间列表(平台.SelectedItem.ToString(), 唯一码.Text,1);
                //MessageBox.Show("添加成功");
            }
            else if (this.Title == "修改单推属性")
            {
                新增V信息 NEWV = new 新增V信息()
                {
                    CN_Name = 中文名称.Text, LA_Name = 官方名称.Text, Platform = 平台.SelectedItem.ToString(), GUID = 唯一码.Text
                };
                NewThreadTask.Run(() =>
                {
                    MMPU.TcpSend(Server.RequestCode.GET_NEW_MEMBER_LIST_CONTENT,
                                 JsonConvert.SerializeObject(NEWV), true);
                });

                RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile));
                RoomBox RB  = new RoomBox();
                RB.data = new List <RoomCadr>();
                if (rlc.data != null)
                {
                    foreach (var item in rlc.data)
                    {
                        if (item.RoomNumber == GUID)
                        {
                            RB.data.Add(item);
                            RB.data[RB.data.Count - 1].Name         = 中文名称.Text;
                            RB.data[RB.data.Count - 1].OfficialName = 官方名称.Text;
                            RB.data[RB.data.Count - 1].Types        = 平台.SelectedItem.ToString();
                        }
                        else
                        {
                            RB.data.Add(item);
                            if (RoomInit.根据唯一码获取直播状态(item.RoomNumber))
                            {
                                RB.data[RB.data.Count() - 1].LiveStatus = true;
                            }
                        }
                    }
                }

                string JOO = JsonConvert.SerializeObject(RB);
                MMPU.储存文本(JOO, RoomConfigFile);
                InitializeRoomList(0, false, false);
                //var rlc2 = JsonConvert.DeserializeObject<RoomBox>(ReadConfigFile(RoomConfigFile));
                //RoomBox RB = new RoomBox();
                //RB.data = new List<RoomCadr>();
                //int rlclen = 房间主表.Count()-1;
                //int 覆盖的编号 = 0;
                //for (int i =0;i< rlclen; i++)
                //{
                //    if(房间主表[i].唯一码==GUID)
                //    {
                //        覆盖的编号 = i;
                //        //房间主表.Remove(房间主表[i]);
                //        //i--;
                //        RB.data.Add(new RoomCadr { Name = 中文名称.Text, RoomNumber = 唯一码.Text, Types = 平台.SelectedItem.ToString(), RemindStatus = false, status = false, VideoStatus = false, OfficialName = 官方名称.Text,LiveStatus= RoomInit.根据唯一码获取直播状态(GUID) });
                //    }
                //    else
                //    {
                //        RB.data.Add(new RoomCadr(){ LiveStatus= 房间主表[i] .直播状态,Name= 房间主表[i] .名称,OfficialName= 房间主表[i] .原名,RoomNumber= 房间主表[i] .唯一码,VideoStatus= 房间主表[i] .是否录制,Types= 房间主表[i] .平台, RemindStatus= 房间主表[i] .是否提醒,status=false });
                //        if (RoomInit.根据唯一码获取直播状态(房间主表[i].唯一码))
                //        {
                //            RB.data[RB.data.Count() - 1].LiveStatus = true;
                //        }
                //    }
                //}
                //房间主表.Clear();
                //foreach (var item in RB.data)
                //{
                //    房间主表.Add(new RL { 名称=item.Name,原名=item.OfficialName,唯一码=item.RoomNumber,平台=item.Types,是否录制=item.VideoStatus,是否提醒=item.RemindStatus,直播状态=item.LiveStatus});
                //}

                //新增V信息 NEWV = new 新增V信息() { CN_Name = 中文名称.Text, LA_Name = 官方名称.Text, Platform = 平台.SelectedItem.ToString(), GUID = 唯一码.Text };

                //new Task(() => { MMPU.TcpSend(20001, JsonConvert.SerializeObject(NEWV), true); }).Start();
                //string JOO = JsonConvert.SerializeObject(RB);
                //MMPU.储存文本(JOO, RoomConfigFile);
                //InitializeRoomList();
                ////MessageBox.Show("修改成功");
            }
            this.Close();
        }
Пример #6
0
        private void 导入VTBVUP(Action <int, int> callback)
        {
            NewThreadTask.Run(runOnLocalThread =>
            {
                runOnLocalThread(() => 导入VTBVUP提示文本.Text = "正在加载房间列表数据,该过程耗时较长,请耐心等待……");
                MMPU.加载网络房间方法.更新网络房间缓存();
                MMPU.加载网络房间方法.是否正在缓存 = true;
                while (MMPU.加载网络房间方法.是否正在缓存)
                {
                    Thread.Sleep(500);
                }

                runOnLocalThread(() => 导入VTBVUP提示文本.Text = "正在导入关注列表里符合的VTB/VUP数据,请稍候……");
                int 增加的数量               = 0;
                int 已经存在的数量             = 0;
                RoomInit.RoomConfigFile = MMPU.读取exe默认配置文件("RoomConfiguration", "./RoomListConfig.json");
                RoomInit.InitializeRoomConfigFile();
                RoomInit.InitializeRoomList(0, false, false);
                RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile));
                RoomBox RB  = new RoomBox
                {
                    data = new List <RoomCadr>()
                };
                if (rlc.data != null)
                {
                    foreach (var item in rlc.data)
                    {
                        RB.data.Add(item);
                    }
                }
                List <MMPU.加载网络房间方法.中的网络房间> 符合条件的房间 = new List <MMPU.加载网络房间方法.中的网络房间>();
                JObject BB = bilibili.根据UID获取关注列表(MMPU.UID);
                foreach (var 账号关注数据 in BB["data"])
                {
                    foreach (var 网络房间数据 in MMPU.加载网络房间方法.列表缓存1)
                    {
                        if (账号关注数据["UID"].ToString() == 网络房间数据.UID)
                        {
                            符合条件的房间.Add(new MMPU.加载网络房间方法.中的网络房间()
                            {
                                UID  = 网络房间数据.UID,
                                称    = 网络房间数据.称,
                                官方名称 = 网络房间数据.官方名称,
                                平台   = 网络房间数据.平台,
                                房间号  = null,
                                编号   = 0
                            });
                            break;
                        }
                    }
                }
                foreach (var 符合条件的 in 符合条件的房间)
                {
                    if (!string.IsNullOrEmpty(符合条件的.UID))
                    {
                        string 房间号 = bilibili.通过UID获取房间号(符合条件的.UID);

                        符合条件的.房间号   = 房间号;
                        bool 是否已经存在 = false;
                        foreach (var item in bilibili.RoomList)
                        {
                            if (item.房间号 == 房间号)
                            {
                                是否已经存在 = true;
                                break;
                            }
                        }
                        if (!是否已经存在 && !string.IsNullOrEmpty(房间号.Trim('0')))
                        {
                            增加的数量++;
                            RB.data.Add(new RoomCadr {
                                Name = 符合条件的.称, RoomNumber = 符合条件的.房间号, Types = 符合条件的.平台, RemindStatus = false, status = false, VideoStatus = false, OfficialName = 符合条件的.官方名称, LiveStatus = false
                            });
                        }
                        else
                        {
                            已经存在的数量++;
                        }
                    }
                    Thread.Sleep(100);
                }
                string JOO = JsonConvert.SerializeObject(RB);
                MMPU.储存文本(JOO, RoomConfigFile);
                InitializeRoomList(0, false, false);

                _已导入 = true;
                runOnLocalThread(() =>
                {
                    callback(增加的数量, 已经存在的数量);
                });
            }, this);
        }
Пример #7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="a">T修改录制设置,F修改提醒设置</param>
        public void 修改列表设置(bool a)
        {
            Console.WriteLine(已选内容);
            bool 是否改过 = false;

            if (string.IsNullOrEmpty(已选内容))
            {
                System.Windows.MessageBox.Show("未选择");
                return;
            }
            //编号 = 1, 名称 = 智障爱, 状态 = ○未直播, 平台 = bilibili, 是否提醒 = √, 是否录制 = , 唯一码 = 1485080, 原名 =
            等待框.Visibility = Visibility.Visible;
            RoomBox RB = new RoomBox
            {
                data = new List <RoomCadr>()
            };

            while (RoomInit.房间主表长度 != 房间主表.Count() && RoomInit.房间主表长度 != 0)
            {
                Thread.Sleep(10);
            }
            int rlclen = 房间主表.Count();

            for (int i = 0; i < rlclen; i++)
            {
                if (房间主表[i].唯一码 == MMPU.获取livelist平台和唯一码.唯一码(已选内容))
                {
                    if (!是否改过)
                    {
                        是否改过 = true;

                        房间主表.Remove(房间主表[i]);
                        rlclen--;
                        i--;
                        bool 是否录制 = MMPU.获取livelist平台和唯一码.是否录制(已选内容) == "√" ? true : false;
                        bool 是否提醒 = MMPU.获取livelist平台和唯一码.是否提醒(已选内容) == "√" ? true : false;
                        if (a)
                        {
                            是否录制 = !是否录制;
                            if (是否录制)
                            {
                                已选内容 = 已选内容.Replace("是否录制 = ", "是否录制 = √");
                            }
                            else
                            {
                                已选内容 = 已选内容.Replace("是否录制 = √", "是否录制 = ");
                            }
                        }
                        else
                        {
                            是否提醒 = !是否提醒;
                            if (是否提醒)
                            {
                                已选内容 = 已选内容.Replace("是否提醒 = ", "是否提醒 = √");
                            }
                            else
                            {
                                已选内容 = 已选内容.Replace("是否提醒 = √", "是否提醒 = ");
                            }
                        }

                        RB.data.Add(new RoomCadr
                        {
                            Name         = MMPU.获取livelist平台和唯一码.称(已选内容),
                            RoomNumber   = MMPU.获取livelist平台和唯一码.唯一码(已选内容),
                            Types        = MMPU.获取livelist平台和唯一码.平台(已选内容),
                            RemindStatus = 是否提醒,
                            status       = MMPU.获取livelist平台和唯一码.状态(已选内容) == "●直播中" ? true : false,
                            VideoStatus  = 是否录制,
                            OfficialName = MMPU.获取livelist平台和唯一码.原名(已选内容),
                            LiveStatus   = MMPU.获取livelist平台和唯一码.状态(已选内容) == "●直播中" ? true : false
                        });
                    }
                }
                else
                {
                    RB.data.Add(new RoomCadr()
                    {
                        LiveStatus = 房间主表[i].直播状态, Name = 房间主表[i].称, OfficialName = 房间主表[i].原名, RoomNumber = 房间主表[i].唯一码, VideoStatus = 房间主表[i].是否录制, Types = 房间主表[i].平台, RemindStatus = 房间主表[i].是否提醒, status = false
                    });
                    if (RoomInit.根据唯一码获取直播状态(房间主表[i].唯一码))
                    {
                        RB.data[RB.data.Count() - 1].LiveStatus = true;
                    }
                }
            }
            string JOO = JsonConvert.SerializeObject(RB);

            MMPU.储存文本(JOO, RoomConfigFile);
            InitializeRoomList();
            //更新房间列表(平台.SelectedItem.ToString(), 唯一码.Text,2);
            //System.Windows.MessageBox.Show("修改成功");
        }