Document DictServ (opt-in dict.org lookups) in Services and Configuration

reverse 2026-07-18 20:22:21 +00:00
parent 252213bbf6
commit 18a835a42d
No known key found for this signature in database
2 changed files with 13 additions and 0 deletions

@ -105,6 +105,13 @@ Account authority. Omitted, Echo owns accounts itself. With `external = true`, i
[auth]
external = true
## [dictserv] (opt-in)
Enables [DictServ](Services#dictserv-dictionary-lookups-opt-in): dictionary, thesaurus and reference lookups over the DICT protocol (RFC 2229). `server` is a `host:port` DICT endpoint; dict.org hosts all the standard databases. **Omit the section and echo makes no outbound lookup requests at all** — this is opt-in on purpose, since it's the one service that reaches off-network. Lookups run off the reactor, are globally rate-limited, and replies are truncated to one line.
[dictserv]
server = "dict.org:2628"
## [email]
Outbound email for registration confirmation and password recovery. Omit to run without email. `command` is a shell command fed the message on stdin (`msmtp -t`, `sendmail -t`, or a relay script).

@ -92,6 +92,12 @@ REPORT a nick or channel (rate-limited), and the operator queue: LIST, VIEW, CLO
ROLL, CALC, and the EX variants: dice notation, arithmetic, functions, constants, and repeats.
## DictServ, dictionary lookups (opt-in)
Dictionary, thesaurus and reference lookups over the DICT protocol (RFC 2229) — dict.org by default. Every command maps to one DICT database: `dict` (WordNet), `define` (GCIDE), `definitions` (all), `thes` (thesaurus), `acronym`, `element`, `jargon`, `term` (computing), `bible`/`biblename`, `law`, `ciainfo`, `counties`/`places`/`zipcodes`; `LOOKUP` lists them all. Use it two ways: `/msg DictServ dict cat`, or the fantasy `!dict cat` in a channel with an assigned bot (the bot speaks the answer).
DictServ is **off by default** and loads only when a [`[dictserv]`](Configuration#dictserv-opt-in) section is present — it's the one service that makes outbound requests, so it's a conscious opt-in. The DICT round trip runs off the reactor (it never touches the engine lock), lookups are globally rate-limited so a channel can't hammer the server, and each reply is truncated to one line.
## Interconnection
The services share one identity model, one event-sourced store, and one audit trail. A group grants channel access. A report or a help ticket is an event that the engine's audit feed records to the searchable log and announces to staff. InfoServ and OperServ share one news store. ChanFix defers to ChanServ. They are not isolated islands.