private void Meow_OnFriendMsgs(object sender, ObjectEvent.ObjectEventArgs e) { #region 私聊报头 -- Private Info Head -- var prop = new QQRecieveMessage( MessageIOType.Friend, new IOBody( e.Data["FromUin"].ToObject <long>(), e.Data["ToUin"].ToObject <long>(), null, null, null ), new MsgProperty( null, e.Data["MsgSeq"].ToObject <long?>(), null, null, e.Data["RedBaginfo"].ToString(), null ), e.CurrentQQ ); #endregion //文本 var content = e.Data["Content"].ToString(); //触发对应操作信息 switch (e.Data["MsgType"].ToString()) { case "TextMsg": { var msg = new TextMsg(content); _FriendTextMsgRecieve.Invoke(prop, msg); ServerUtil.Log($"好友文本信息 [{prop.IOBody.MsgFromQQ}->{prop.IOBody.MsgRecvQQ}] \n" + $"内容:{msg.Content}", LogType.ClientMessage, ConsoleColor.Magenta); } break; case "PicMsg": { var msg = new PicMsg(content); _FriendPicMsgRecieve.Invoke(prop, msg); if (msg._isSnapPic) { ServerUtil.Log($"好友闪照信息 [{prop.IOBody.MsgFromQQ}->{prop.IOBody.MsgRecvQQ}]", LogType.ClientMessage, ConsoleColor.Yellow); } else { ServerUtil.Log($"好友图片信息 [{prop.IOBody.MsgFromQQ}->{prop.IOBody.MsgRecvQQ}] \n" + $"内容:{msg.Content} | 图片共 {msg.PicList.Length} 张", LogType.ClientMessage, ConsoleColor.Yellow); } } break; case "VoiceMsg": { var msg = new VoiceMsg(content); _FriendVocMsgRecieve.Invoke(prop, msg); ServerUtil.Log($"好友语音信息 [{prop.IOBody.MsgFromQQ}->{prop.IOBody.MsgRecvQQ}]" , LogType.ClientMessage, ConsoleColor.DarkMagenta); } break; case "VideoMsg": { var msg = new VideoMsg(content); _FriendVidMsgRecieve.Invoke(prop, msg); ServerUtil.Log($"好友视频信息 [{prop.IOBody.MsgFromQQ}->{prop.IOBody.MsgRecvQQ}]" , LogType.ClientMessage, ConsoleColor.Green); } break; } ; }
private void Meow_OnGroupMsgs(object sender, ObjectEvent.ObjectEventArgs e) { #region 群聊报头 -- Group Info Head -- var prop = new QQRecieveMessage( MessageIOType.Friend, new IOBody( e.Data["FromUserId"].ToObject <long>(), 0, e.Data["FromNickName"].ToString(), e.Data["FromGroupId"].ToObject <long>(), e.Data["FromGroupName"].ToString() ), new MsgProperty( null, e.Data["MsgSeq"].ToObject <long?>(), e.Data["MsgRandom"].ToObject <long?>(), null, e.Data["RedBaginfo"].ToString(), e.Data["MsgTime"].ToObject <long?>() ), e.CurrentQQ ); #endregion //文本 var content = e.Data["Content"].ToString(); //触发对应操作信息 switch (e.Data["MsgType"].ToString()) { case "TextMsg": { var msg = new TextMsg(content); _GroupTextMsgRecieve.Invoke(prop, msg); ServerUtil.Log($"群文本信息 [{prop.IOBody.MsgFromQQ}] " + $"在群聊 [{prop.IOBody.FromGroupId} :: {prop.IOBody.FromGroupName}] \n" + $"内容:{msg.Content}", LogType.ClientMessage, ConsoleColor.Magenta); } break; case "AtMsg": { var msg = new AtTextMsg(content); _GroupAtTextMsgRecieve.Invoke(prop, msg); ServerUtil.Log($"群At文本信息 [{prop.IOBody.MsgFromQQ}] " + $"在群聊 [{prop.IOBody.FromGroupId} :: {prop.IOBody.FromGroupName}] \n" + $"内容:{msg.Content}", LogType.ClientMessage, ConsoleColor.Magenta, ConsoleColor.Cyan); } break; case "PicMsg": { var msg = new PicMsg(content); var d = "图片"; if (msg.AtedQQ != null) { _GroupAtPicMsgRecieve.Invoke(prop, msg); d = "At图片"; } if (msg._isSnapPic) { d = "闪照"; } _GroupPicMsgRecieve.Invoke(prop, msg); ServerUtil.Log($"群{d} [{prop.IOBody.MsgFromQQ}] " + $"在群聊 [{prop.IOBody.FromGroupId} :: {prop.IOBody.FromGroupName}] \n" + $"内容:{msg.Content} | 图片共 {msg.PicList.Length} 张", LogType.ClientMessage, ConsoleColor.Yellow); } break; case "VoiceMsg": { var msg = new VoiceMsg(content); _GroupVocMsgRecieve.Invoke(prop, msg); ServerUtil.Log($"群语音信息 [{prop.IOBody.MsgFromQQ}] " + $"在群聊 [{prop.IOBody.FromGroupId} :: {prop.IOBody.FromGroupName}]" , LogType.ClientMessage, ConsoleColor.DarkMagenta); } break; case "VideoMsg": { var msg = new VideoMsg(content); _GroupVidMsgRecieve.Invoke(prop, msg); ServerUtil.Log($"群视频信息 [{prop.IOBody.MsgFromQQ}] " + $"在群聊 [{prop.IOBody.FromGroupId} :: {prop.IOBody.FromGroupName}]" , LogType.ClientMessage, ConsoleColor.Green); } break; } ; }