Writing this script would not be too challenging, but it's a lot of mechanical work, which is why I think you'll have trouble finding someone to do it for you. You can of course as for help if you have specific questions.
I would suggest you store the information in an ini file. This unfortunately limits each entry to 255 characters unless you make your own parser for ini files, but depending on what you want people to enter into the different fields, 255 characters might be enough.
WriteIniFile "somefile.ini", "section", "item", "value"
GetIniFile("somefile.ini", "section", "item","defaultvalue")
If the ini file does not contain what you are trying to search for it will return "defaultvalue"
So, first you need to make a command that allows people to store information to their profile. This could be done by having them type "!set age xx" or "!set sex xx" (without quotes). This could be done by something like this inside a ONTEXT or ONQUERY sub:
If Left(Message,5) = "!set " and len(Message) >5 then
messageArr = Split(Message," ") 'split the message into an array where each word is one item in the array
If UBound(messageArr) < 2 then exit sub 'there needs to be at least 3 words, otherwise the script terminates
Select Case messageArr(1) 'look at the second word
WriteIniFile "somefile.ini", Nickname, "age", messageArr(2) 'store the third word into the ini file
WriteIniFile "somefile.ini", Nickname, "sex", messageArr(2)
WriteIniFile "somefile.ini", Nickname, "description", Mid(Message,17) 'store everything after !set description
To retrieve the information you can pretty much do the same, but use something like:
SomeVariable = GetIniFile("somefile.ini", Nickname, "age", "")
You might want to add some code to check that you aren't trying to store more than 255 characters like:
If Len(SomeString) > 255 then...
If you don't want to use ini files, you can for example use for example an access database which allows for much more functionality than ini files, but you will have to figure out that by yourself as databases are not something I'm very familiar with.