using Chat.Framework.QQSdk.Events; using Robot.Framework.Entities; using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Chat.Framework.QQSdk { /// /// QQ事件管理 /// public class QQEventManage { /// /// QQ登陆状态发生改变事件 /// public event EventHandler LoginChangeEvent; /// /// QQ登录状态发生改变调用 /// /// public void OnEvent(QQLoginChangeEvents e) { if (LoginChangeEvent != null && e != null) if (e.IsLogin) { try { var qq = e.QQBase.QQ.ToString(); var c = Grant.Framework.GrantClient.Get().Login(qq, e.QQBase.Nickname, 1002, "3782F5365510E5B25F4FA6FFC04255CB"); //e.QQClient.User.LoginTime = DateTime.Parse(c.endTime); Console.WriteLine("登陆状态改变: " + e.Message); } catch (Exception ex) { OnEvent(new QQLogEvents(e.QQBase) { Message = $"QQ:【{e.QQBase.Nickname}({e.QQBase.QQ})】->授权异常:{ ex.Message}" }); if (e.QQBase != null && e.QQBase.QQ != 0) Grant.Framework.GrantClient.Get().LoginOut(e.QQBase.QQ.ToString(), 1002); ChatClient.LoginOutQQ(e.QQBase.QQ.ToString()); return; } } if (LoginChangeEvent != null) LoginChangeEvent.Invoke(e.QQBase, e); } /// /// QQ信息发生改变事件 /// public event EventHandler QQRefreshUserEvent; /// /// QQ信息发生改变调用 /// /// public void OnEvent(QQRefreshUser e) { if (this.QQRefreshUserEvent != null) this.QQRefreshUserEvent.Invoke(e.QQBase, e); } /// /// QQ收到好友消息事件 /// public event EventHandler QQReceiveFriendMsgEvents; /// /// QQ收到好友信息调用 /// /// internal void OnEvent(QQReceiveFriendMsgEvents e) { if (QQReceiveFriendMsgEvents != null) QQReceiveFriendMsgEvents.Invoke(e.QQBase, e); OnEvent(new QQLogEvents(e.QQBase) { Message = e.ToString() }); } /// /// 日志消息事件 /// public event EventHandler QQLogEvents; /// /// 日志消息调用 /// /// internal void OnEvent(QQLogEvents e) { if (QQLogEvents != null) QQLogEvents.Invoke(e.QQBase, e); } /// /// QQ收到群消息事件 /// public event EventHandler QQReceiveGroupMsgEvents; /// /// QQ收到群消息调用 /// /// internal void OnEvent(QQReceiveGroupMsgEvents e) { if (QQReceiveGroupMsgEvents != null) QQReceiveGroupMsgEvents.Invoke(e.QQBase, e); OnEvent(new QQLogEvents(e.QQBase) { Message = e.ToString() }); } /// /// QQ有人添加我为好友,需要审核事件 /// public event EventHandler QQAddMeNeedAuthEvents; /// /// QQ有人添加我为好友,需要审核调用 /// /// internal void OnEvent(QQAddMeNeedAuthEvents e) { if (QQAddMeNeedAuthEvents != null) QQAddMeNeedAuthEvents.Invoke(e.QQBase, e); OnEvent(new QQLogEvents(e.QQBase) { Message = e.ToString() }); } /// /// QQ有人添加我为好友事件 /// public event EventHandler QQNewFriendEvents; /// /// QQ有人添加我为好友调用 /// /// internal void OnEvent(QQNewFriendEvents e) { if (QQNewFriendEvents != null) QQNewFriendEvents.Invoke(e.QQBase, e); OnEvent(new QQLogEvents(e.QQBase) { Message = e.ToString() }); } /// /// QQ群新增成员事件 /// public event EventHandler QQNewGroupMemberEvents; /// /// QQ群新增成员调用 /// /// internal void OnEvent(QQNewGroupMemberEvents e) { if (QQNewGroupMemberEvents != null) QQNewGroupMemberEvents.Invoke(e.QQBase, e); OnEvent(new QQLogEvents(e.QQBase) { Message = e.ToString() }); } /// /// QQ有人进群,需要审核事件 /// public event EventHandler QQAddToClusterNeedAuthEvents; /// /// QQ有人进群,需要审核调用 /// /// internal void OnEvent(QQAddToClusterNeedAuthEvents e) { if (QQAddToClusterNeedAuthEvents != null) QQAddToClusterNeedAuthEvents.Invoke(e.QQBase, e); OnEvent(new QQLogEvents(e.QQBase) { Message = e.ToString() }); } } }