getgort / gort

Gort is a chatbot framework designed from the ground up for chatops.

Home Page:https://guide.getgort.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Internal key/value store to allow commands to maintain state

clockworksoul opened this issue · comments

Currently every command is completely stateless, which is fine most of the time, but occasionally a command may want to store a bit of data to access later, or for another command in the same bundle to access.

  • Theoretically similar to Cog’s memory service.
  • Methods to write to:
    • Simple mode: metadata tags in the output?
    • Advanced JSON mode: special properties in the JSON
  • Methods to read from:
    • Integration with dynamic configuration
    • SDK (Another reason to have an SDK?)
  • To read/write must specify:
    • Scope:
      • Global (don’t support for now -- security concerns?)
      • Command execution
      • User
      • Bundle
    • Lifetime/TTL:
      • Maximum: one day? 30 day?
  • Implementations
    • Entirely in-memory (super simple, probably fine for most use cases)
    • Backed by something like Redis (more complex, more robust)