TypicalBot
WebSocket Proxy
REST Proxy
Bot
Micro-Services
HTTP Server
Event Listeners
HTTP server is to receive events from any other process including REST/WS.
MESSAGE_CREATE
Command Handling
Slash Commands Support
Properties
guildOnly
dmOnly
REST will send and receive between bot and dashboard
Important for managing rate limits! Everything goes through 1 thing!
Dashboard
Receives payload and handles accordingly if from WS like MESSAGE_CREATE send to commandHandler
If from dashboard, maybe someone click setup or something to run a script on their server
Nick do we want slash commands through Gateway or Webhook(separate http server(SERVERLESS style)?)
Slash Commands Serverless
Analytics
Permission Levels
READY
Inhibitors
BAN_ADD
BAN_REMOVE
GUILD_CREATE
GUILD_REMOVE
INVITE_POSTED
MEMBER_ADDED
MEMBER_REMOVED
MEMBER_UPDATED
MESSAGE_DELETE
MESSAGE_DELETE_BULK
MESSAGE_REACITION_ADD
REACTION_REMOVE
MESSAGE_EDIT
Once only
Just log that its READY so we know its good when rebooting.
Receive events from bot and add to the analytics table
Keep it bottlenecked not to break the database.
Fetch Application details and set owner ids