Exemple #1
0
 public static void SearchUserDynamic(string comm, long group)
 {
     Task.Run(() =>
     {
         try
         {
             var data1 = HttpUtils.SearchUser(comm);
             if (data1 == null)
             {
                 Program.SendGroupMessage($"搜索不到用户:{comm}", group);
                 return;
             }
             var data2 = data1["data"]["result"] as JArray;
             if (data2.Count == 0)
             {
                 Program.SendGroupMessage($"搜索:{comm} 没有结果", group);
                 return;
             }
             string id = data2[0]["mid"].ToString();
             data1     = HttpUtils.GetDynamicUid(id);
             if (data1 == null)
             {
                 Program.SendGroupMessage($"获取不到动态:{id}", group);
                 return;
             }
             string temp1 = DynamicPicGen.Gen(data1);
             Program.Log($"已生成{temp1}");
             Program.SendGroupImage(temp1, group);
         }
         catch (Exception e)
         {
             Program.Error(e);
         }
     });
 }
Exemple #2
0
 public static void Reload()
 {
     HttpUtils.Cancel();
     ConfigUtils.LoadAll();
     VideoPicGen.Init();
     DynamicPicGen.Init();
     HttpUtils.Init();
     LivePicGen.Init();
     //HttpUtils.Check();
 }
Exemple #3
0
 public static void Dynamic(string id, long group)
 {
     Task.Run(() =>
     {
         try
         {
             var data1 = HttpUtils.GetDynamic(id);
             if (data1 == null)
             {
                 Program.SendGroupMessage($"获取不到动态:{id}", group);
                 return;
             }
             string temp1 = DynamicPicGen.Gen(data1);
             Program.Log($"已生成{temp1}");
             Program.SendGroupImage(temp1, group);
         }
         catch (Exception e)
         {
             Program.Error(e);
         }
     });
 }
Exemple #4
0
 static void Main(string[] args)
 {
     RunLocal = AppContext.BaseDirectory;
     logs     = new Logs(RunLocal);
     Reload();
     if (ConfigUtils.Config.RunQQ == 0 || ConfigUtils.Config.RunGroup.Count == 0)
     {
         Console.WriteLine("运行QQ和运行群未设置,请设置后重启");
         Console.Read();
         return;
     }
     RobotConfig = new()
     {
         IP          = ConfigUtils.Config.IP,
         Port        = ConfigUtils.Config.Port,
         Name        = "BotBiliBili",
         Pack        = new() { 49 },
         RunQQ       = ConfigUtils.Config.RunQQ,
         Time        = 10000,
         CallAction  = Message,
         LogAction   = Log,
         StateAction = State
     };
     robot = new();
     robot.Set(RobotConfig);
     robot.Start();
     CheckThread.Start();
     while (true)
     {
         string   temp = Console.ReadLine();
         string[] arg  = temp.Split(' ');
         if (arg[0] == "stop")
         {
             CheckThread.Stop();
             HttpUtils.Cancel();
             robot.Stop();
             return;
         }
         else if (arg[0] == "test")
         {
             if (arg.Length < 2)
             {
                 Error("错误的参数");
                 continue;
             }
             if (arg[1] == "video")
             {
                 if (arg.Length != 3)
                 {
                     Error("错误的参数");
                     continue;
                 }
                 if (arg[2].StartsWith("AV"))
                 {
                     var data = HttpUtils.GetVideoA(arg[2]);
                     VideoPicGen.Gen(data);
                     Log("已生成");
                 }
                 else if (arg[2].StartsWith("BV"))
                 {
                     var data = HttpUtils.GetVideoB(arg[2]);
                     VideoPicGen.Gen(data);
                     Log("已生成");
                 }
                 else
                 {
                     Error("不正确的视频号");
                     continue;
                 }
             }
             else if (arg[1] == "dynamic")
             {
                 if (arg.Length != 3)
                 {
                     Error("错误的参数");
                     continue;
                 }
                 var data = HttpUtils.GetDynamic(arg[2]);
                 DynamicPicGen.Gen(data);
                 Log("已生成");
             }
             else if (arg[1] == "duser")
             {
                 if (arg.Length != 3)
                 {
                     Error("错误的参数");
                     continue;
                 }
                 var data = HttpUtils.GetDynamicUid(arg[2]);
                 DynamicPicGen.Gen(data);
                 Log("已生成");
             }
             else if (arg[1] == "live")
             {
                 if (arg.Length != 3)
                 {
                     Error("错误的参数");
                     continue;
                 }
                 var data = HttpUtils.GetLive(arg[2]);
                 LivePicGen.Gen(data);
                 Log("已生成");
             }
             else if (arg[1] == "nuser")
             {
                 if (arg.Length != 3)
                 {
                     Error("错误的参数");
                     continue;
                 }
                 var data1 = HttpUtils.SearchUser(arg[2]);
                 if (data1 == null)
                 {
                     Error($"搜索不到用户:{arg[2]}");
                     return;
                 }
                 var data2 = data1["data"]["result"] as JArray;
                 if (data2.Count == 0)
                 {
                     Error($"搜索:{arg[2]} 没有结果");
                     return;
                 }
                 string id = data2[0]["mid"].ToString();
                 data1 = HttpUtils.GetDynamicUid(id);
                 if (data1 == null)
                 {
                     Error($"获取不到动态:{id}");
                     return;
                 }
                 string temp1 = DynamicPicGen.Gen(data1);
                 Program.Log($"已生成{temp1}");
             }
         }
         else if (arg[0] == "reload")
         {
             Reload();
             Log("已重读");
         }
     }
 }
Exemple #5
0
        private static void GetDynamic(KeyValuePair <string, List <long> > item)
        {
            var item1 = item.Key;

            Program.Log($"检查用户{item1}动态");
            var obj1 = HttpUtils.GetDynamicUid(item1);

            Thread.Sleep(ConfigUtils.Config.CheckDelay);
            if (!IsRun)
            {
                return;
            }
            if (obj1 == null)
            {
                return;
            }
            var obj2 = obj1["data"]["cards"] as JArray;

            if (obj2.Count == 0)
            {
                return;
            }
            string first = obj2[0]["desc"]["dynamic_id"].ToString();
            long   time  = (long)obj2[0]["desc"]["timestamp"];

            if (!ConfigUtils.UidLast.Dynamic.ContainsKey(item1))
            {
                var data1 = HttpUtils.GetDynamic(first);
                if (data1 == null)
                {
                    return;
                }
                DynamicObj obj = new()
                {
                    ID   = first,
                    Time = time
                };
                ConfigUtils.UidLast.Dynamic.Add(item1, obj);
                save = true;
                string temp1 = DynamicPicGen.Gen(data1);
                Program.Log($"已生成{temp1}");
                foreach (var item3 in item.Value)
                {
                    Program.SendGroupImage(temp1, item3);
                }
            }
            else
            {
                foreach (var item2 in obj2)
                {
                    var obj3  = item2["desc"]["dynamic_id"].ToString();
                    var time1 = (long)item2["desc"]["timestamp"];
                    if (ConfigUtils.UidLast.Dynamic[item1].ID == obj3)
                    {
                        break;
                    }
                    if (ConfigUtils.UidLast.Dynamic[item1].Time > time1)
                    {
                        break;
                    }
                    var data1 = HttpUtils.GetDynamic(obj3);
                    if (data1 == null)
                    {
                        continue;
                    }
                    string temp1 = DynamicPicGen.Gen(data1);
                    Program.Log($"已生成{temp1}");
                    foreach (var item3 in item.Value)
                    {
                        Program.SendGroupImage(temp1, item3);
                    }
                }
                ConfigUtils.UidLast.Dynamic[item1] = new()
                {
                    Time = time,
                    ID   = first
                };
                save = true;
            }
        }