π¬ Channels
A message goes to the channel a player is standing in, and to that one only. They move with
/channel <id>, or with the channel's own alias.
Everything here is channels.yml. Setting enabled: false at the top turns the whole idea off:
every message reaches the whole server, formatted by formats.yml.
The four that ship
| Channel | Reaches | Alias |
|---|---|---|
global | The whole server | /global |
world | Whoever is in the same world | /mundo |
local | Whoever is within a radius | β |
private | One conversation | β |
global cannot be turned off: it is the floor every other channel falls back to.
Per channel
world:
enabled: true
alias: 'mundo'
spy_webhook: ''
formats:
default: β¦
vip: β¦
| Key | Decides |
|---|---|
alias | The word that switches to it. Empty means only /channel world |
spy_webhook | A Discord webhook that receives everything said here |
formats | How a message looks here, one per rank |
local also takes a radius, in blocks β 100 by default. A player exactly on it is still
heard.
Speaking takes polaroidchat.channel.<id>; reading it from somewhere else takes
polaroidchat.channel.<id>.read. Both are built from the id β adding a channel adds its
permissions.
Channel formats
A channel's formats block has the same shape as formats.yml, and picks a rank
the same way.
A channel format replaces the global one whole. It writes every part the line needs, not only
the channel tag. A rank the channel does not name falls back to that channel's own default; a
channel with no formats at all falls back to formats.yml.
Channels players make themselves
user_channels in the same file. A player creates one, invites people, and runs it.
| Setting | Decides |
|---|---|
name_pattern | Which names are allowed |
name_blacklist | Which are not |
owner_inactive_days | When an abandoned channel passes to someone else |
invite_expires / request_expires | Seconds an invitation stays open |
spy_webhook | A Discord webhook for all of them |
slots.create / .join / .members | How many, as tiers |
Roles. Owner, admin, mod, member β each doing a little less than the one above. When an owner goes inactive it passes to the highest-ranked member, and among equals to whoever joined first.
Getting in. By invitation, by asking (request, which someone with the rank accepts), or by
password on a public channel. public and private switch which.
Commands. All the second words are listed under Commands.
Who actually sees a message
Speaking is not the only gate. A message is also withheld from anyone who has blocked the
sender, and from anyone who has turned that channel off with
/polaroidchat toggle channel_<id> all false. The sender always sees their own message,
whatever else is set.