OpenMetaverse.AgentManager.ModerateChatSessions C# (CSharp) Method

ModerateChatSessions() public method

Moderate a chat session
public ModerateChatSessions ( UUID sessionID, UUID memberID, bool moderateText ) : void
sessionID UUID the of the session to moderate, for group chats this will be the groups UUID
memberID UUID the of the avatar to moderate
moderateText bool true to moderate (silence user), false to allow avatar to speak
return void
        public void ModerateChatSessions(UUID sessionID, UUID memberID, bool moderateText)
        {
            if (Client.Network.CurrentSim == null || Client.Network.CurrentSim.Caps == null)
                throw new Exception("ChatSessionRequest capability is not currently available");

            Uri url = Client.Network.CurrentSim.Caps.CapabilityURI("ChatSessionRequest");

            if (url != null)
            {
                OSDMap req = new OSDMap();
                req.Add("method", OSD.FromString("mute update"));

                OSDMap mute_info = new OSDMap();
                mute_info.Add("text", OSD.FromBoolean(moderateText));

                OSDMap parameters = new OSDMap();
                parameters["agent_id"] = OSD.FromUUID(memberID);
                parameters["mute_info"] = mute_info;

                req["params"] = parameters;

                req.Add("session-id", OSD.FromUUID(sessionID));

                byte[] postData = StructuredData.OSDParser.SerializeLLSDXmlBytes(req);

                CapsClient request = new CapsClient(url);
                request.StartRequest(postData);
            }
            else
            {
                throw new Exception("ChatSessionRequest capability is not currently available");
            }
        }