using Api.Framework.SDK; using Chat.Framework.WXSdk; using Chat.Framework.WXSdk.Implement; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using CsharpHttpHelper; namespace 群成员监控 { public class Class1:Plugin { public Class1() { this.Name = "群成员监控"; } public override void Start() { SDK.WXNewMemerEvent += SDK_WXNewMemerEvent; SDK.WXReceiveGroupMsgEvent += SDK_WXReceiveGroupMsgEvent; base.Start(); } private void SDK_WXReceiveGroupMsgEvent(object sender, Chat.Framework.WXSdk.Events.WXReceiveGroupMsg e) { if (e.Message.Contains("邀请朋友进群")) { Upload(e.Group.UserName, e.Client); } } private void SDK_WXNewMemerEvent(object sender, Chat.Framework.WXSdk.Events.WXNewMemer e) { Upload(e.GroupId,e.Client); } private void Upload(string groupid, WeixinBase client) { Task.Run(()=> { try { System.Threading.Thread.Sleep(5000); GroupMember[] Members = client.GetMembers(groupid, true); if (Members != null && Members.Length != 0) { var members = new List(); foreach (var item in Members) members.Add(new { username = item.Username, nickname = item.NickName, logo = item.SmallHeadImgUrl, invitername = item.InviterUserName }); var obj = new { groupid = groupid, members = members }; var http = new CsharpHttpHelper.HttpHelper(); var data = Convert.ToBase64String(Encoding.UTF8.GetBytes(HttpHelper.ObjectToJson(obj))); var x = http.GetItem("http://www.xindaogou.net/Create/UploadGroups", "", System.Web.HttpUtility.UrlEncode(data)); x.Timeout = 1000 * 20; this.OnLog("上传结果:" + http.GetHtml(x).Html); } else throw new Exception("没有提取到,群成员数据!"); } catch (Exception ex) { this.OnLog("上传失败:" + ex.Message); } }); } } }