2022-09-20 03:10:29 +00:00
|
|
|
|
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
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ事件管理
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class QQEventManage
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ登陆状态发生改变事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
public event EventHandler<QQLoginChangeEvents> LoginChangeEvent;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ登录状态发生改变调用
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
public void OnEvent(QQLoginChangeEvents e)
|
|
|
|
|
{
|
|
|
|
|
if (LoginChangeEvent != null && e != null)
|
|
|
|
|
if (e.IsLogin)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
2023-02-25 05:41:53 +00:00
|
|
|
|
var qq = e.QQBase.QQ.ToString();
|
|
|
|
|
var c = Grant.Framework.GrantClient.Get().Login(qq, e.QQBase.Nickname, 1002, "3782F5365510E5B25F4FA6FFC04255CB");
|
2022-09-20 03:10:29 +00:00
|
|
|
|
//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);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ信息发生改变事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
public event EventHandler<QQRefreshUser> QQRefreshUserEvent;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ信息发生改变调用
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
public void OnEvent(QQRefreshUser e)
|
|
|
|
|
{
|
|
|
|
|
if (this.QQRefreshUserEvent != null) this.QQRefreshUserEvent.Invoke(e.QQBase, e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ收到好友消息事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
public event EventHandler<QQReceiveFriendMsgEvents> QQReceiveFriendMsgEvents;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ收到好友信息调用
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
internal void OnEvent(QQReceiveFriendMsgEvents e)
|
|
|
|
|
{
|
|
|
|
|
if (QQReceiveFriendMsgEvents != null) QQReceiveFriendMsgEvents.Invoke(e.QQBase, e);
|
|
|
|
|
OnEvent(new QQLogEvents(e.QQBase) { Message = e.ToString() });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 日志消息事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
public event EventHandler<QQLogEvents> QQLogEvents;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 日志消息调用
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
internal void OnEvent(QQLogEvents e)
|
|
|
|
|
{
|
|
|
|
|
if (QQLogEvents != null) QQLogEvents.Invoke(e.QQBase, e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ收到群消息事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
|
|
public event EventHandler<QQReceiveGroupMsgEvents> QQReceiveGroupMsgEvents;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ收到群消息调用
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
internal void OnEvent(QQReceiveGroupMsgEvents e)
|
|
|
|
|
{
|
|
|
|
|
if (QQReceiveGroupMsgEvents != null) QQReceiveGroupMsgEvents.Invoke(e.QQBase, e);
|
|
|
|
|
OnEvent(new QQLogEvents(e.QQBase) { Message = e.ToString() });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ有人添加我为好友,需要审核事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
public event EventHandler<QQAddMeNeedAuthEvents> QQAddMeNeedAuthEvents;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ有人添加我为好友,需要审核调用
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
internal void OnEvent(QQAddMeNeedAuthEvents e)
|
|
|
|
|
{
|
|
|
|
|
if (QQAddMeNeedAuthEvents != null) QQAddMeNeedAuthEvents.Invoke(e.QQBase, e);
|
|
|
|
|
OnEvent(new QQLogEvents(e.QQBase) { Message = e.ToString() });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ有人添加我为好友事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
public event EventHandler<QQNewFriendEvents> QQNewFriendEvents;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ有人添加我为好友调用
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
internal void OnEvent(QQNewFriendEvents e)
|
|
|
|
|
{
|
|
|
|
|
if (QQNewFriendEvents != null) QQNewFriendEvents.Invoke(e.QQBase, e);
|
|
|
|
|
OnEvent(new QQLogEvents(e.QQBase) { Message = e.ToString() });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ群新增成员事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
public event EventHandler<QQNewGroupMemberEvents> QQNewGroupMemberEvents;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ群新增成员调用
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
internal void OnEvent(QQNewGroupMemberEvents e)
|
|
|
|
|
{
|
|
|
|
|
if (QQNewGroupMemberEvents != null) QQNewGroupMemberEvents.Invoke(e.QQBase, e);
|
|
|
|
|
OnEvent(new QQLogEvents(e.QQBase) { Message = e.ToString() });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ有人进群,需要审核事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
public event EventHandler<QQAddToClusterNeedAuthEvents> QQAddToClusterNeedAuthEvents;
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// QQ有人进群,需要审核调用
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
internal void OnEvent(QQAddToClusterNeedAuthEvents e)
|
|
|
|
|
{
|
|
|
|
|
if (QQAddToClusterNeedAuthEvents != null) QQAddToClusterNeedAuthEvents.Invoke(e.QQBase, e);
|
|
|
|
|
OnEvent(new QQLogEvents(e.QQBase) { Message = e.ToString() });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|