using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using CsharpHttpHelper; using Newtonsoft.Json; using PCRobot.PCWechat; using PCRobot.PCWechat.Enterprise; using PCRobot.PCWechat.Routine; using PCRobot.Utils; namespace PCRobot { public class LuDogService { private IniHelper Config; public LuDogService() { var fileName = HttpExtend.MapFile("机器人信息.ini", "Config"); Config = new IniHelper(fileName); } public void Handle(WechatUser user) { try { Task.Run(() => { Thread.Sleep(new Random(Guid.NewGuid().GetHashCode()).Next(500, 6000)); if (string.IsNullOrWhiteSpace(Config.GetValue("数据", "撸狗"))) { Config.SetValue("数据", "撸狗", JsonConvert.SerializeObject(new List())); } var json = Config.GetValue("数据", "撸狗"); List list; try { list = JsonConvert.DeserializeObject>(json); } catch (Exception e) { list = new List(); } if (list.Contains(user.Wxid)) { return; } var userlist = new List(); var client = WechatClient.GetApi(user); if (client is Wechat_Xiaoxie_QY qyHook) { var firends = qyHook.GetExternalFirends().Result; if (firends == null || firends.Count <= 0) { return; } foreach (var firend in firends) { userlist.Add(new UserRobotUpLoad.CustomerLinkInput() { UserName = firend.Value.username, HeadUrl = firend.Value.avatar, NickName = firend.Value.realname, Remark = firend.Value.remark, RobotName = user.Wxid, RobotType = 2, CreateTime = DateTime.Now }); } } else if (client is Wechat_Xiaoxie hook) { var firends = hook.GetFriendInfos().Result; if (firends == null || firends.Count <= 0) { return; } foreach (var firend in firends) { userlist.Add(new UserRobotUpLoad.CustomerLinkInput() { UserName = firend.Value.wxid, HeadUrl = firend.Value.avatar, NickName = firend.Value.nickname, Remark = firend.Value.remark, RobotName = user.Wxid, RobotType = 2, CreateTime = DateTime.Now }); } } if (userlist.Count > 0) { var result = UserRobotUpLoad.CustomerLink_UpLoadLink(userlist); if (result.Ok) { list.Add(user.Wxid); Config.SetValue("数据", "撸狗", JsonConvert.SerializeObject(list)); } } }); } catch (Exception e) { } } } }