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");
}
}