/// <summary> /// 收到好友消息 /// </summary> /// <param name="e"></param> internal void OnReceive_0x00CE(QQEventArgs <Receive_0x00CE> e) { if (!string.IsNullOrEmpty(e.ReceivePacket.Message)) { if (!QQGlobal.DebugLog && e.ReceivePacket.Message.Count(c => c == '\0') > 5) { QQUser.MessageLog($"收到好友{e.ReceivePacket.FromQQ}的乱码消息。"); //return; } QQUser.MessageLog($"收到好友{e.ReceivePacket.FromQQ}的消息:{e.ReceivePacket.Message}"); } else { QQUser.MessageLog($"收到好友{e.ReceivePacket.FromQQ}的空消息。"); //return; } //提取数据 var dataReader = new BinaryReader(new MemoryStream(e.ReceivePacket.bodyDecrypted)); Send(new Send_0x00CE(e.ReceivePacket.user, dataReader.ReadBytes(0x10), e.ReceivePacket.Sequence).WriteData()); //回复已接收成功 //buf = new ByteBuffer(); //new Send_0x0319(e.ReceivePacket.user, DataBuf.ReadBytes(4)).Fill(buf); //Send(buf); //SendLongUserMessage("嘿嘿嘿[face1.gif]嘿嘿嘿[face2.gif]哈哈哈嘿嘿嘿[face1.gif]嘿嘿嘿[face2.gif]哈哈哈嘿嘿嘿[face1.gif]嘿嘿嘿[face2.gif]哈哈哈嘿嘿嘿[face1.gif]嘿嘿嘿[face2.gif]哈哈哈嘿嘿嘿[face1.gif]嘿嘿嘿[face2.gif]哈哈哈", e.ReceivePacket.FromQQ); //重复接收包不再重复触发事件并且不处理自己的消息 if (!QQUser.ReceiveSequences.Contains(e.ReceivePacket.Sequence) && !e.ReceivePacket.FromQQ.Equals(QQUser.QQ)) { QQUser.ReceiveSequences.Add(e.ReceivePacket.Sequence); EventReceive_0x00CE?.Invoke(this, e); } }
/// <summary> /// 好友消息 /// </summary> /// <param name="e"></param> internal void OnReceive_0x00CE(QQEventArgs <Receive_0x00CE> e) { QQUser.MessageLog($"收到好友{e.ReceivePacket.FromQQ}的消息:{e.ReceivePacket.MessageData}"); //提取数据 ByteBuffer DataBuf = new ByteBuffer(e.ReceivePacket.bodyDecrypted); var buf = new ByteBuffer(); new Send_0x00CE(e.ReceivePacket.user, DataBuf.GetByteArray(0x10), e.ReceivePacket.Sequence).Fill(buf); Send(buf); //TODO:确认查看猜测为0x0319 //重复接收包不再重复触发事件并且不处理自己的消息 if (!QQUser.ReceiveSequences.Contains(e.ReceivePacket.Sequence) && !e.ReceivePacket.FromQQ.Equals(QQUser.QQ)) { QQUser.ReceiveSequences.Add(e.ReceivePacket.Sequence); EventReceive_0x00CE?.Invoke(this, e); } }