def pushChatToObjectList(id,tid): '''推送私聊角色列表''' from app.chatServer.core.ChaterManager import ChaterManager from app.chatServer.core.ChaterLogManager import ChaterLogManager response=ChatToObjectListInfo1010_pb2.ChatToObjectListResponse() clog=ChaterLogManager().addChatLog(id) #获取聊天类 listid=clog.getFriends()#获取角色私聊对象id列表 if len(listid)<0: return player=ChaterManager().getChaterByCharacterId(id) # player=PlayersManager().getPlayerByID(id) if not player: #print "推送私聊角色列表时没有角色"+str(id) return #print "角色私聊角色列表发送给"+player.baseInfo.getNickName() playerid=player.getDynamicId() for cid in listid: player1=ChaterManager().getChaterByCharacterId(cid) info=response.chatObjectInfo.add() info.chatObjectId=cid info.name=player1.getCharacterName() #print "私聊信息角色列表:"+player1.baseInfo.getNickName() info.level=str(player1.level) info.perfession=player1.getProfessionName() if player1.island: info.chatObjectPos=player1.scenename else: info.chatObjectPos=Lg().g(106) info.readFlag=ChaterLogManager().getFriendReaderState(id, cid) #print "------------------------------------------------------------------" msg = response.SerializeToString() pushApplyMessage(1010,msg,[playerid])
def getLog(self, id, tid): """获取聊天记录 @param id: int 当前角色id @param tid: int 私聊对象id """ from app.chatServer.core.ChaterManager import ChaterManager clog = self.addChatLog(id) # 获取或添加私聊类 result = clog.getChat(tid) # 获取私聊信息 clog.delReaderList(tid) # 在未读信息列表中删除此角色id相应数据 clog.addFriends(tid) # 添加私聊最近联系人 clog.setReading(tid) # 设置当前跟谁聊天 data = {} players = ChaterManager().getChaterByCharacterId(tid) data["name"] = players.charactername data["level"] = str(players.level) data["perfession"] = players.getProfessionName() if not players.island: # 如果角色不在线 data["chatObjectPos"] = Lg().g(106) else: data["chatObjectPos"] = players.scenename data["result"] = result return data
def getLog(self, id, tid): '''获取聊天记录 @param id: int 当前角色id @param tid: int 私聊对象id ''' from app.chatServer.core.ChaterManager import ChaterManager clog = self.addChatLog(id) #获取或添加私聊类 result = clog.getChat(tid) #获取私聊信息 clog.delReaderList(tid) #在未读信息列表中删除此角色id相应数据 clog.addFriends(tid) #添加私聊最近联系人 clog.setReading(tid) #设置当前跟谁聊天 data = {} players = ChaterManager().getChaterByCharacterId(tid) data['name'] = players.charactername data['level'] = str(players.level) data['perfession'] = players.getProfessionName() if not players.island: #如果角色不在线 data['chatObjectPos'] = Lg().g(106) else: data['chatObjectPos'] = players.scenename data['result'] = result return data