public override void Groups_OnGroupMembers(object sender, GroupMembersReplyEventArgs e) { var groupID = e.GroupID; SimGroup g = DeclareGroup(groupID); if (MaintainGroupMetaData) { MetaDataQueue.Enqueue(() => { foreach (var member in e.Members) { var v = member.Value; if (member.Key == UUID.Zero) { continue; } SimAvatarImpl A = DeclareAvatarProfile(member.Key); //A.AddInfoMap(new NamedParam("GroupMember",groupID)); } if (g != null) { SendOnUpdateDataAspect(g, "Members", null, null); } }); } // base.Groups_OnGroupMembers(requestID, totalCount, members); }
protected override void GroupMembersReplyHandler(object sender, GroupMembersReplyEventArgs e) { base.GroupMembersReplyHandler(sender, e); if (await_events.ContainsKey("groupmembersreply") == true) { List <string> PurgeAwaiters = new List <string>(); foreach (KeyValuePair <string, KeyValuePair <CoreCommand, string[]> > await_reply in await_events["groupmembersreply"]) { // eventid // KeyValuePair<CommandLink,Args> // Args: Group, Message if (await_reply.Value.Value.Length == 2) { if (UUID.TryParse(await_reply.Value.Value[0], out UUID test_group) == true) { if (test_group == e.GroupID) { // oh shit its for me PurgeAwaiters.Add(await_reply.Key); await_reply.Value.Key.Callback(await_reply.Value.Value, e); } } } } foreach (string eventid in PurgeAwaiters) { await_event_ages.Remove(eventid); await_event_idtolistener.Remove(eventid); await_events["groupmembersreply"].Remove(eventid); } } }
private void GroupMembersHandler(object sender, GroupMembersReplyEventArgs e) { if (e.RequestID != GroupMembersRequestID) { return; } GroupMembers = e.Members; }
private void GroupMembersHandler(object sender, GroupMembersReplyEventArgs e) { Members = e.Members; BeginInvoke((MethodInvoker) delegate { UpdateMembers(); }); }
protected override void GroupMembersReplyHandler(object sender, GroupMembersReplyEventArgs e) { base.GroupMembersReplyHandler(sender, e); lock (group_members_storage) { if (group_members_storage.ContainsKey(e.GroupID) == true) { group_members_storage.Remove(e.GroupID); } group_members_storage.Add(e.GroupID, new KeyValuePair <long, List <UUID> >(helpers.UnixTimeNow(), e.Members.Keys.ToList())); } }
private void Groups_GroupMembersReply(object sender, GroupMembersReplyEventArgs e) { if (e.RequestID != OCBSession.Instance.MemberLookupRequest) { return; } foreach (KeyValuePair <UUID, GroupMember> kvp in e.Members) { //BotSession.Instance.MHE(MessageHandler.Destinations.DEST_LOCAL, UUID.Zero, $"[DEBUG] secondlife:///app/agent/{kvp.Key.ToString()}/about - {kvp.Value.OnlineStatus}"); if (OCBSession.Instance.GroupMembers.ContainsKey(kvp.Key) == false) { OCBSession.Instance.GroupMembers.Add(kvp.Key, kvp.Value); } } OCBSession.Instance.MemberLookupRE.Set(); }
private void GroupMembersHandler(object sender, GroupMembersReplyEventArgs e) { if (e.RequestID == GroupRequestID) { StringBuilder sb = new StringBuilder(); sb.AppendLine(); sb.AppendFormat("GroupMembers: RequestID {0}", e.RequestID).AppendLine(); sb.AppendFormat("GroupMembers: GroupUUID {0}", GroupUUID).AppendLine(); sb.AppendFormat("GroupMembers: GroupName {0}", GroupName).AppendLine(); if (e.Members.Count > 0) { foreach (KeyValuePair <UUID, GroupMember> member in e.Members) { sb.AppendFormat("GroupMembers: MemberUUID {0}", member.Key.ToString()).AppendLine(); } } sb.AppendFormat("GroupMembers: MemberCount {0}", e.Members.Count).AppendLine(); Console.WriteLine(sb.ToString()); GroupsEvent.Set(); } }
public override void Callback(string[] args, EventArgs e) { GroupMembersReplyEventArgs reply = (GroupMembersReplyEventArgs)e; if (UUID.TryParse(args[0], out UUID target_group) == true) { if (UUID.TryParse(args[1], out UUID target_avatar) == true) { if (reply.GroupID == target_group) { if (reply.Members.ContainsKey(target_avatar) == false) { ForRealGroupInvite(args, target_group, target_avatar); } } else { ConsoleLog.Crit("Callback sent for the wrong group as part of group invite!"); } } } }
private void GroupMembersHandler(object sender, GroupMembersReplyEventArgs e) { if (e.GroupID != parcel.GroupID) { return; } client.Groups.GroupMembersReply -= new EventHandler <GroupMembersReplyEventArgs>(GroupMembersHandler); // do the stuff here if (e.Members.ContainsKey(client.Self.AgentID)) { this.BeginInvoke(new MethodInvoker(delegate() { grpID = e.GroupID; RequestParcelDets(); SetOwnerProperties(); })); //return; } }
public void Groups_GroupMembersReply(object sender, GroupMembersReplyEventArgs e) { List <Hashtable> list = new List <Hashtable>(); foreach (KeyValuePair <UUID, GroupMember> memberpair in e.Members) { GroupMember member = memberpair.Value; Hashtable hash = new Hashtable(); hash.Add("UUID", memberpair.Key); hash.Add("Contribution", member.Contribution); hash.Add("IsOwner", member.IsOwner); hash.Add("ID", member.ID); hash.Add("OnlineStatus", member.OnlineStatus); hash.Add("Powers", member.Powers); hash.Add("Title", member.Title); list.Add(hash); } Hashtable message = new Hashtable(); message.Add("MessageType", "GroupMembers"); message.Add("MemberList", list); message.Add("GroupID", e.GroupID); enqueue(message); }
protected virtual void GroupMembersReplyHandler(object sender, GroupMembersReplyEventArgs e) { }
protected void groupMembershipUpdate(object o, GroupMembersReplyEventArgs e) { if (group_membership_update_q.ContainsKey(e.GroupID) == true) { updateGroupPolling(e.GroupID); bool enableChanges = GroupMembership.ContainsKey(e.GroupID); List <UUID> members = new List <UUID>(); foreach (KeyValuePair <UUID, GroupMember> entry in e.Members) { members.Add(entry.Key); } if (enableChanges == false) { bool skip = false; if (members.Count == 1) { skip = members.Contains(UUID.Zero); } if (skip == false) { if (DebugWhere == true) { LogFormater.Info("OnEvent - updating group membership: " + e.GroupID.ToString(), true); } GroupMembership.Add(e.GroupID, members); } else { if (DebugWhere == true) { LogFormater.Info("OnEvent - membership data pack: " + e.GroupID + " - invaild 1 entry and its NULL_KEY", true); } } } else { List <UUID> newEntrys = new List <UUID>(); List <UUID> missingEntrys = GroupMembership[e.GroupID]; foreach (UUID updated in members) { if (missingEntrys.Contains(updated) == false) { newEntrys.Add(updated); } else { missingEntrys.Remove(updated); } } if (DebugWhere == true) { LogFormater.Info("OnEvent - updating group membership: " + e.GroupID.ToString(), true); } GroupMembership[e.GroupID] = members; int lookups = 0; foreach (UUID newMember in newEntrys) { string name = controler.getBot().FindAvatarKey2Name(newMember); if (name == "lookup") { lookups++; } //LogFormater.Info("OnEvent - new group member: " + name, true); } foreach (UUID missingMember in missingEntrys) { string name = controler.getBot().FindAvatarKey2Name(missingMember); if (name == "lookup") { lookups++; } //LogFormater.Info("OnEvent - leaving group member: " + name, true); } if (lookups > 0) { Thread.Sleep(500); } Dictionary <string, string> args = new Dictionary <string, string>(); args.Add("avataruuid", "notset"); args.Add("avatarname", "notset"); args.Add("groupuuid", e.GroupID.ToString()); foreach (UUID newMember in newEntrys) { string name = controler.getBot().FindAvatarKey2Name(newMember); args["avataruuid"] = newMember.ToString(); args["avatarname"] = name; TriggerEvent("GroupMemberJoins", args, false); } foreach (UUID missingMember in missingEntrys) { string name = controler.getBot().FindAvatarKey2Name(missingMember); args["avataruuid"] = missingMember.ToString(); args["avatarname"] = name; TriggerEvent("GroupMemberLeaves", args, false); } } } }
private void GroupMembersHandler(object sender, GroupMembersReplyEventArgs e) { Members = e.Members; UpdateMembers(); }