main logic:
- webhook triggered by telegram bot when bot receives message
- an Update json object is passed to lambda handler by bot via AWS API gateway
- lambda handler checks for chatid
- lambda handler checks for user state, from db, based on chatid
- based on state and input (command and arguments extracted from 'update' object), execute the corresponding handler
always ensure that:
- lambda is exited and db connection is closed when logic is done.
- errors are handled.
- test cases are done for all edge cases and at least 2 common cases.
general project workflow:
- set up aws lambda endpoint on AWS Lambda [done]
- set up telegram webhook with Telegram HTTPS API
- design state machine for bot user experience
- create db schema
- point python script to some url?
- run tests
- upload deployment package (zip source code and dependencies from site-packages)