The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

chat.api

Transport-agnostic chat contract for R agents. Zero dependencies.

One interface, including chat_poll(), chat_send(), chat_typing(), chat_resolve(), chat_capabilities(), and chat_disconnect(), with adapters that wake up when their platform client is installed:

Adapter Constructor Delegates to Status
Loopback chat_loopback() (in-memory) reference implementation
Matrix chat_matrix() mx.client (Suggests) working
IRC chat_irc() base R sockets working
Slack chat_slack() slackr (Suggests) signature-verified, review-hardened; live roundtrip pending a workspace token
Telegram chat_telegram() httr, or a telegram::TGBot (Suggests) working; live roundtrip verified
cl <- chat.api::chat_matrix(app = "mybot")
got <- chat.api::chat_poll(cl, timeout = 30)
for (m in got$messages) print(m)
chat.api::chat_send(cl, "#general", "hello from the contract",
                    markup = "markdown")

Every adapter is poll-shaped: long-poll transports (Matrix /sync, Telegram getUpdates) map directly, persistent sockets (IRC) buffer into the poll. chat_capabilities() tells the truth about what each platform can do (threads, markup dialects, E2EE, per-message identity), so consumers degrade deliberately instead of accidentally.

See DESIGN.md for the ecosystem survey and the contract rationale.

License

Apache-2.0

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.