Page MenuHomePhabricator

Nola | channel settings
Open, HighPublicFEATURE

Description

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

Event Timeline

href triaged this task as High priority.Dec 11 2022, 3:11 AM
href created this task.
href shifted this object from the Restricted Space space to the S6 Nola space.Dec 15 2022, 4:36 AM
href changed the visibility from "All Users" to "Public (No Login Required)".
href changed the edit policy from "All Users" to "Nola Devs (Project)".