getprofiledata (Commands) | |
---|---|
Type | Corrade progressive command |
Command | getprofiledata |
Description | The getprofiledata gets profile information of a named avatar. |
Permissions | interact |
Parameters | group , password , data , firstname , lastname (or agent by UUID) |
Last Changes | none |
The getprofiledata
gets profile information of a named avatar.
Command | Required Parameters | Required Corrade Permissions | Example |
---|---|---|---|
getprofiledata | group , password , data , firstname , lastname (or agent by UUID) | interact | llInstantMessage(CORRADE, wasKeyValueEncode( [ // retrieve whether the avatar // Mark Spree is a mature profile // and the text from the language box "command", "getprofiledata", "group", wasURLEscape(GROUP), "password", wasURLEscape(PASSWORD), // or "agent", "69ce412b-dffc-436d-86ff-d788bfa66d9d" "firstname", "Mark", "lastname", "Spree", "data", wasListToCSV( [ "MaturePublish", "LanguagesText" ] ), "callback", wasURLEscape(URL) ] ) ); |
The data
parameter follows the AvatarProperties, ProfileInterests and AvatarGroup libopenmetaverse structures and sub-structures.
Parameter | Possible Values | Description |
---|---|---|
data | AboutText | Second Life profile text |
AllowPublish | Should this profile be published on the web | |
FirstLifeImage | First Life image ID | |
FirstLifeText | First Life about text | |
Flags | Flags of the profile | |
MaturePublish | Is this a mature profile | |
ProfileImage | Profile image ID | |
ProfileURL | Web URL for this profile | |
LanguagesText | Languages profile field | |
SkillsMask | Skills mask | |
SkillsText | Skills text | |
WantToMask | WantTo mask | |
WantToText | WantTo text |
The SkillsMask
and the SkillsText
are special, they represent a bitfield mask corresponding to the individual tick-boxes on the interests profile tab.
The following table gives the individual values of each tick-box for the I Want To:
section:
I Want To: | Value |
---|---|
Build | 1 |
Explore | 2 |
Meet | 4 |
Group | 8 |
Buy | 16 |
Sell | 32 |
Be Hired | 64 |
Hire | 128 |
And the following table is for the skills section:
Skills: | Value |
---|---|
Textures | 1 |
Architecture | 2 |
Event Planning | 4 |
Modeling | 8 |
Scripting | 16 |
Custom Characters | 32 |
Assuming that a request has been sent to Corrade to return the flags for the I Want To:
section by setting the data
parameter to wanttomask
:
llInstantMessage(CORRADE, wasKeyValueEncode( [ "command", "getprofiledata", "group", wasURLEscape(GROUP), "password", wasURLEscape(PASSWORD), // or "agent", "69ce412b-dffc-436d-86ff-d788bfa66d9d" "firstname", "Kira", "lastname", "Komarov", "data", "WantToMask", "callback", wasURLEscape(URL) ] ) );
The response will come back the callback URL
. We can then process the returned data and obtain the ticked checkboxes:
http_request(key id, string method, string body) { // send OK to corrade's callback request llHTTPResponse(id, 200, "Ok"); // first get the data an unescape it list data = wasCSVToList( wasURLUnescape( wasKeyValueGet("data", body) ) ); // data comes in as "wanttomask, NUMBER" // so we get the NUMBER and store it integer wanttomask = llList2Integer( data, llListFindList( data, ["WantToMask"] )+1 ); // finally, we get the flags from the mask list flags = wasGetBitFlags( wanttomask, [ "Build", "Explore", "Meet", "Group", "Buy", "Sell", "Be Hired", "Hire" ] ); // and print the list of set flags llOwnerSay(wasListToCSV(flags)); }
The wasGetBitFlags
function is a helper function that can be found in the LSL FUSS section.
For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.