I have an mIRC based call & SMS "bot" which I am currently rewriting.
Its purpose is to provide members of an ingame alliance (game: [url removed, login to view]) with the ability to store calling & SMS preferences which are additional to an existing Python based "bot" ([url removed, login to view] (warning: strong language used in this project, which is not mine)) used for other game tools/calculations.
Merlin (the existing Python bot) already uses a PostgreSQL database which stores each member's IRC username, access level, and preferences including encoded password for web access, planet coordinates in x:y:z format, phone number in proper international format, pubphone (True/False), and sms mode (usually Twilio, but can also be Email or Retard (tells the caller to read the comment on the recipient's defence fleet availability)), and a WSGI engine for its own web interface (which is limited in functionality). There is also a separate engine which handles sending data to/from the IRC bot.
The main limitations of the Merlin bot including WSGI engine includes the inability to configure more than one available number on the Twilio account, and more importantly the inabilities to set preferences and make calls/SMS from the web interface.
This is what we require.
What the new web interface for my own bot will need to do is login using the existing PostgreSQL database, be able to update 'phone', 'planet', 'password' on the database, but also communicate with my own mIRC bot (custom protocol not yet implemented - can't really do one end without knowing how to do the other) using a raw TCP socket in unformatted text.
What it will need to communicate is preferences such as 'TwiNum' (the values will be read by my bot from a .ini file and received over the TCP socket as a comma-separated list during page loading), 'engine' (man, woman, alice), and 'lang' (values depend on the selected engine - man/woman has 6 basic accents, whereas alice has 26 accents which include language variations (for example: the differences between French & Canadian French, UK English & US English & Canadian English, etc.).
My own bot also implements a 'pubphone=S' (SMS-only - no calls) value so pubphone needs to be sent to my bot, not to the PostgreSQL database.
There needs to be a script which can handle outgoing calls & SMS triggered from IRC (using a POST request), or from the web at the same time.
Will also need to be a separate script which will handle receiving a POST request from Twilio's servers with information about INCOMING SMS, and forwarding it to my bot over the socket connection.