Spaces

A space is a way to group rooms and simplify the management of related rooms.

A space, #soma, with three rooms.

The relationship between spaces and rooms is as follows:

  • a space can assign any room as its child;

  • a room can assign any space as its parent, in order to inherit certain modes from the space.

It is not required that the owner of a space also owns its contained rooms, nor that the owner of a room owns its containing space. This independent two-way mapping makes spaces a very flexible feature. For example, one could create:

  • a space that groups together one's favorite rooms

  • a space that acts as an entry point into a community

Like a room, a space has a set of channel modes that let operators control parameters like name, visibility, topic, invite lists, ban lists, etc. By specifying a space as a room's parent, the room will inherit selected modes from the space - more on this below.

Using spaces

Creating a space

A space can be created with the /joinspace <name> command, or via the + button near the top of the left sidebar. It is not possible to convert a room into a space or vice versa.

A space has +M: Moderated by default to prevent users from sending messages to it.

Adding rooms to a space

In order to start adding rooms to the space, first register yourself as owner of the space and then go into its settings via the left sidebar. From there, you will be able to add rooms (children) to the space (only joined rooms are visible to you).

Inheriting modes from a space

As mentioned earlier, a room may inherit certain modes from a space by assigning the space as its parent – specifically, +aohvIMb propagate from the space into the room. This is set via the channel settings window.

The syntax for specifying a parent space is +p <space>:<inherited_modes>, for instance +p #myspace:aohvIMb.

Example - organizing a community

First, a quick recap of some channel modes:

+S: Space
+c: Child
+p: Parent
+m: Moderated
+i: Invite only
+s: Secret
+q: Owner
+a: Admin
+o: Full operator
+z: De-roled
+b: Ban

This is how one might manage a space #btc containing three rooms: one public, one gated and one for announcements:

#btc
    +S
    +c #btc-chat
    +c #btc-mods
    +q Satoshi
    +a Alice
    +a Arthur
    +o Greg
    +b Bob


#btc-chat
    +p #btc:aohvIMb  (inherit all modes from #btc)
    +q Satoshi
    
    Note that Bob cannot join because he is banned in #btc.


#btc-mods
    +p #btc:a  (only inherit +a from #btc)
    +q Satoshi
    +a Eve
    +z Arthur
    +i
    
    Only Satoshi, Alice and Eve may join.
    
    Arthur, despite being +a inside the space,
    may NOT join, since his +a mode has been
    reset inside the room via +z.


#btc-news
    +q Hatsune
    +p #btc:a
    +m
    
    Note that Hatsune, not Satoshi, owns #btc-news.
    	
    Due to +p #btc:a, anyone can join, even Bob who
    is banned, but only Hatsune and Alice can talk.

Last updated