예제 #1
0
        public void EnsureGroupChatIsStarted(UUID groupID)
        {
            ChatSession session = m_groupData.GetSession(groupID);

            if (session == null)
            {
                GroupRecord record  = m_groupData.GetGroupRecord(UUID.Zero, groupID, "");
                UUID        ownerID = record.FounderID; //Requires that the founder is still in the group
                List <ChatSessionMember> members = (from gmd in m_groupData.GetGroupMembers(ownerID, groupID)
                                                    where
                                                    (gmd.AgentPowers & (ulong)GroupPowers.JoinChat) ==
                                                    (ulong)GroupPowers.JoinChat
                                                    select new ChatSessionMember
                {
                    AvatarKey = gmd.AgentID
                }).ToList();
                m_groupData.CreateSession(new ChatSession
                {
                    Members   = members,
                    Name      = record.GroupName,
                    SessionID = groupID
                });
            }
        }