Add some facility to store per-room parameters.
Plugins should be able to declare their schemas.
The IRC interface to alter the settings document in IRC should be as following:
- Read: !set {scope}.json.path.to.key
- Set: !set {scope}.json.path.to.key value
- Enable or append to list : +set {scope}.json.path.to.key
- Disable, remove or delete: -set {scope}.json.path.to.key
- Schema/Info: ?set {scope}.json.path.to.key (If possible?)
The scope can right now only be: room or left blank (path begins with a ., representing _current context_).
Later, this interface will allow changing settings of another channel (for administrative purposes), in private message, using room.net/name.
This interface will also allow setting user and network and global settings later on using the scope parameter.
some examples
!set .private +set .private -set .private !set room.timezone Europe/Paris !set room.lang fr !set room.defaultPolicy trust In the future: !set room.random/#.lang fr In a DM: !set .lang fr (sets user lang) In a room: !set .user.lang fr