From 1f6ab7834412a6a2e7e3841109a6f36b9f0c5ce7 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 8 Feb 2007 04:25:29 +0000 Subject: [PATCH] Added InstantMessageGroup functions git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@965 52acb1d6-8a22-11de-b505-999d5b087335 --- libsecondlife-cs/MainAvatar.cs | 37 ++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/libsecondlife-cs/MainAvatar.cs b/libsecondlife-cs/MainAvatar.cs index 33c0b2c7..80f7f593 100644 --- a/libsecondlife-cs/MainAvatar.cs +++ b/libsecondlife-cs/MainAvatar.cs @@ -764,6 +764,43 @@ namespace libsecondlife } /// + /// Send an Instant Message to a group + /// + /// Key of Group + /// Text Message being sent. + public void InstantMessageGroup(LLUUID groupUUID, string message) + { + InstantMessageGroup(FirstName + " " + LastName, groupUUID, message); + } + + /// + /// Send an Instant Message to a group + /// + /// The name this IM will show up as being from + /// Key of the group + /// Text message being sent + /// This does not appear to function with groups the agent is not in + public void InstantMessageGroup(string fromName, LLUUID groupUUID, string message) + { + ImprovedInstantMessagePacket im = new ImprovedInstantMessagePacket(); + + im.AgentData.AgentID = this.ID; + im.AgentData.SessionID = Client.Network.SessionID; + im.MessageBlock.Dialog = (byte)MainAvatar.InstantMessageDialog.SessionSend; + im.MessageBlock.FromAgentName = Helpers.StringToField(fromName); + im.MessageBlock.FromGroup = false; + im.MessageBlock.Message = Helpers.StringToField(message); + im.MessageBlock.Offline = 0; + im.MessageBlock.ID = groupUUID; + im.MessageBlock.ToAgentID = groupUUID; + im.MessageBlock.BinaryBucket = new byte[0]; + im.MessageBlock.Position = LLVector3.Zero; + im.MessageBlock.RegionID = LLUUID.Zero; + + // Send the message + Client.Network.SendPacket(im); + } + /// /// ///