byte[] FriendshipOffered(Dictionary <string, object> request)
{
UUID fromID = UUID.Zero;
UUID toID = UUID.Zero;
string message = string.Empty;
if (!request.ContainsKey("FromID") || !request.ContainsKey("ToID"))
{
return(FailureResult());
}
message = request["Message"].ToString();
if (!UUID.TryParse(request["FromID"].ToString(), out fromID))
{
return(FailureResult());
}
if (!UUID.TryParse(request["ToID"].ToString(), out toID))
{
return(FailureResult());
}
UserAccount account = m_FriendsModule.UserAccountService.GetUserAccount(UUID.Zero, fromID);
string name = (account == null) ? "Unknown" : account.FirstName + " " + account.LastName;
GridInstantMessage im = new GridInstantMessage(m_FriendsModule.Scene, fromID, name, toID,
(byte)InstantMessageDialog.FriendshipOffered, message, false, Vector3.Zero);
// !! HACK
im.imSessionID = im.fromAgentID;
if (m_FriendsModule.LocalFriendshipOffered(toID, im))
{
return(SuccessResult());
}
return(FailureResult());
}