Skip to content

Chat Networks

adapters.toml holds credentials. chmod 600, never commit. Any secret may be written as env:NAME to read it from the environment instead.

The daemon logs a warning at startup if the file is readable beyond its owner, and refuses to start if an env: name is unset. Unknown keys are a startup error rather than a silent typo.

Every adapter follows three rules:

  1. It only reacts to a direct message
  2. It never makes a policy decision
  3. Its endpoint address is a stable identifier, not a display name

Supported networks

Network Endpoint format Setup guide
Telegram telegram:123456789 Telegram
Matrix matrix:@partylinepager:example.org Matrix
Signal signal:+15555550100 Signal
IRC irc:partylinepager IRC
XMPP xmpp:partylinepager@example.org XMPP
Mastodon mastodon:partylinepager@example.org Mastodon
Email email:partylinepager@example.org Email
Mattermost mattermost:8y9z... (26-char user id) Mattermost
Discord discord:891... (numeric snowflake) Discord
Apprise apprise:ntfy://host/topic Apprise

Two caveats

  • IRC loses broadcasts. A PRIVMSG to somebody who is not connected is gone. Tell IRC-only subscribers to add a second endpoint.
  • WhatsApp is not supported. The only legitimate route is Meta's Cloud API (business account + pre-approved templates). Unofficial libraries impersonate a linked device and get numbers banned. If you must have it, run a Matrix bridge and subscribe the resulting Matrix endpoint.