diff --git a/server/imserver_new/player/player.go b/server/imserver_new/player/player.go index 888582a7..2ada8ac1 100644 --- a/server/imserver_new/player/player.go +++ b/server/imserver_new/player/player.go @@ -184,6 +184,15 @@ func (this *player) CMAddFriendRequest(hdr *f5.MsgHdr, msg *cs.CMAddFriendReques } func (this *player) CMAcceptFriendRequest(hdr *f5.MsgHdr, msg *cs.CMAcceptFriendRequest) { + rspMsg := new(cs.SMAcceptFriendRequest) + if this.GetAccountId() == msg.GetTargetAccountId() { + this.SendMsg(rspMsg.Err(2, "Cannot add oneself")) + return + } + if GetFriendMgr().IsFriend(this.GetAccountId(), msg.GetTargetAccountId()) { + this.SendMsg(rspMsg) + return + } } func (this *player) CMRejectFriendRequest(hdr *f5.MsgHdr, msg *cs.CMRejectFriendRequest) {