public static void Main2(string[] args)
{
var threadActorDispatcher = new SimpleActorDispatcher();
IQQClient client = null;
start:
Console.Write("请输入QQ号:");
var username = Console.ReadLine();
Console.Write("请输入QQ密码:");
var password = Console.ReadLine();
client = new WebQQClient(username, password, Listener, threadActorDispatcher);
//测试同步模式登录
var future = client.Login(QQStatus.ONLINE, null);
client.Logger.LogInformation(client.Account.Username + "-登录中......");
var Event = future.WaitFinalEvent();
if (Event.Type == QQActionEventType.EvtOK)
{
client.Logger.LogInformation(client.Account.Username + "-登录成功!!!!");
var getUserInfoEvent = client.GetUserInfo(client.Account, null).WaitFinalEvent();
if (getUserInfoEvent.Type == QQActionEventType.EvtOK)
{
client.Logger.LogInformation(client.Account.QQ + "-用户信息:" + getUserInfoEvent.Target);
client.GetBuddyList(null).WaitFinalEvent();
client.Logger.LogInformation(client.Account.QQ + "-Buddy count: " + client.GetBuddyList().Count);
foreach (var buddy in client.GetBuddyList())
{
var f = client.GetUserQQ(buddy, null);
var e = f.WaitFinalEvent();
var name = string.IsNullOrEmpty(buddy.MarkName) ? buddy.Nickname : buddy.MarkName;
client.Logger.LogInformation($"{buddy.QQ}, {name}");
}
}
//所有的逻辑完了后,启动消息轮询
client.BeginPollMsg();
}
else if (Event.Type == QQActionEventType.EvtError)
{
var ex = (QQException)Event.Target;
client.Logger.LogInformation(ex.Message);
client.Destroy();
goto start;
}
else
{
client.Logger.LogInformation(client.Account.Username + "-登录失败");
client.Destroy();
goto start;
}
client.Logger.LogInformation("按任意键退出");
Console.ReadLine();
}
}