We would like to create a BOT with an architecture that puts each user in a separate thread.
The reason for wanting a separate thread for each user is because we are tying these sessions to some fairly heavy back end processing.
But how to do this? We start the Bot, IMs come in from one or more users, but there is no place I can find to intercept the connection event and spin off a new AccSession to handle that connection. So we are left with the seemingly inferior alternative of intercepting the first IM from that user. We can do that, but then what? An AccSession can only be used, we are told, from the thread where it was created. Therefore the main thread has to determine that this is a new user and spawn a thread for that user, which launches another AccSession. We can do this, but how do we associate the user IM session with the new AccSession?
Then there is the problem of how to handle that first IM? Who handles it? The master thread where it first came in or somehow forward it on? How do we do that, by the way?
There are lots of APIs in the SDK, but many of them are not particularly well-explained. Some of them sound like they might be the answer to our needs but we don't have enough information to decide this. For example: what does the API setLinkedMasterSession() do? What is a Master Session and what is it used for? The API describes it as being "The master session of linked accounts." What are linked accounts and what are they used for?
Or - are we missing something fundamental or barking up the wrong tree entirely?
Thanks for any help.

Re: boxely forms
Obtaining values in JavaScript are a little different when comparing Boxely to Web applications.
In Boxely, you would first have to obtain the box object, and then retrieve the value from the object.
For example, your markup may look something like this:
... and your script would look like this:
function submit() { var actionType = scene.getBoxById("actionType"); var username = scene.getBoxById("username"); var duration = scene.getBoxById("duration"); var reason = scene.getBoxById("reason"); var actionResult = scene.getBoxById("actionResult"); if (actionType && username && duration && reason && actionResult) { actionResult.value = actionType.value + username.value + duration.value + reason.value; } }You can find more info on Boxely forms here.
Thanks!
-Amado