134 lines
2.6 KiB
Markdown
134 lines
2.6 KiB
Markdown
---
|
|
summary: "Tlon/Urbit support status, capabilities, and configuration"
|
|
read_when:
|
|
- Working on Tlon/Urbit channel features
|
|
---
|
|
# Tlon (plugin)
|
|
|
|
Tlon is a decentralized messenger built on Urbit. Clawdbot connects to your Urbit ship and can
|
|
respond to DMs and group chat messages. Group replies require an @ mention by default and can
|
|
be further restricted via allowlists.
|
|
|
|
Status: supported via plugin. DMs, group mentions, thread replies, and text-only media fallback
|
|
(URL appended to caption). Reactions, polls, and native media uploads are not supported.
|
|
|
|
## Plugin required
|
|
|
|
Tlon ships as a plugin and is not bundled with the core install.
|
|
|
|
Install via CLI (npm registry):
|
|
|
|
```bash
|
|
clawdbot plugins install @clawdbot/tlon
|
|
```
|
|
|
|
Local checkout (when running from a git repo):
|
|
|
|
```bash
|
|
clawdbot plugins install ./extensions/tlon
|
|
```
|
|
|
|
Details: [Plugins](/plugin)
|
|
|
|
## Setup
|
|
|
|
1) Install the Tlon plugin.
|
|
2) Gather your ship URL and login code.
|
|
3) Configure `channels.tlon`.
|
|
4) Restart the gateway.
|
|
5) DM the bot or mention it in a group channel.
|
|
|
|
Minimal config (single account):
|
|
|
|
```json5
|
|
{
|
|
channels: {
|
|
tlon: {
|
|
enabled: true,
|
|
ship: "~sampel-palnet",
|
|
url: "https://your-ship-host",
|
|
code: "lidlut-tabwed-pillex-ridrup"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Group channels
|
|
|
|
Auto-discovery is enabled by default. You can also pin channels manually:
|
|
|
|
```json5
|
|
{
|
|
channels: {
|
|
tlon: {
|
|
groupChannels: [
|
|
"chat/~host-ship/general",
|
|
"chat/~host-ship/support"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Disable auto-discovery:
|
|
|
|
```json5
|
|
{
|
|
channels: {
|
|
tlon: {
|
|
autoDiscoverChannels: false
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Access control
|
|
|
|
DM allowlist (empty = allow all):
|
|
|
|
```json5
|
|
{
|
|
channels: {
|
|
tlon: {
|
|
dmAllowlist: ["~zod", "~nec"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Group authorization (restricted by default):
|
|
|
|
```json5
|
|
{
|
|
channels: {
|
|
tlon: {
|
|
defaultAuthorizedShips: ["~zod"],
|
|
authorization: {
|
|
channelRules: {
|
|
"chat/~host-ship/general": {
|
|
mode: "restricted",
|
|
allowedShips: ["~zod", "~nec"]
|
|
},
|
|
"chat/~host-ship/announcements": {
|
|
mode: "open"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Delivery targets (CLI/cron)
|
|
|
|
Use these with `clawdbot message send` or cron delivery:
|
|
|
|
- DM: `~sampel-palnet` or `dm/~sampel-palnet`
|
|
- Group: `chat/~host-ship/channel` or `group:~host-ship/channel`
|
|
|
|
## Notes
|
|
|
|
- Group replies require a mention (e.g. `~your-bot-ship`) to respond.
|
|
- Thread replies: if the inbound message is in a thread, Clawdbot replies in-thread.
|
|
- Media: `sendMedia` falls back to text + URL (no native upload).
|