The bot I run is a service bot. What I mean by that is that it is in constant use reporting information from a database. When a user asks for a long report (we don't actually know how long teh report will be until its run), it can tie up the bot for a while with all other requests for information from the bot being queued up.
I fully understand the implications of mulithreaded bots and writing to DBs, with locks etc causing probs. But, what if its only reading from a DB, surely it doesn't matter, and can speed up access to the bot tremendously, esp for bots like mine which spend their time spewing out stats/info from a DB built up from cheats/players on a set of game servers for the admins in their IRC channel.
I would be really kewl if this was implemented as a "type" of function, so that in your TCL you would essentially be saying "this function can run in multithreaded mode as its only reading from a DB", that way you could implement DB write functions in non-multithreaded mode, hence avoiding the need for extra locks etc.
Hope that makes sense.
Also, it would be nice to be able to "interupt" a bots output somehow. Not sure if this can already be done, i've looked and can't see how.
Cheers
Si