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); } }); }
public static void Reload() { HttpUtils.Cancel(); ConfigUtils.LoadAll(); VideoPicGen.Init(); DynamicPicGen.Init(); HttpUtils.Init(); LivePicGen.Init(); //HttpUtils.Check(); }
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); } }); }
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("已重读"); } } }
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; } }