Symone Bot is a slack bot built with Python and run on Google Cloud Functions (with MongoDB backing).
The bulk of functionality is implemented via a system of Commands that perform actions on Aspects. A command could be
something like add
, while an aspect could be something like experience points or xp
. So when a user invokes Symone
Bot with Symone, add xp 1000
it triggers an add Command
to add 1000 to the xp
aspect.
Symone Bot uses a simple recursive descent parser, located in symone_bot/parser.py
to "understand" user input. The
main area this is used is to understand "aspect" queries.
The bot is deployed to GCP Cloud Functions, and uses MongoDB as a backing store. Deployment is handled via the Github Release action.