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