old_flsystem/应用/群成员监控/Class1.cs

69 lines
2.4 KiB
C#

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<object>();
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);
}
});
}
}
}