Chat bots for Cysmos Chat

How bots will work on Cysmos Chat, the chat network of Cysmos: the bot framework, the rules a bot follows, bot accounts and verification.

Cysmos Chat is not open yet. Everything marked coming below is not available yet: there is nothing to download or apply for today.

Connecting

A bot is an ordinary chat client: it connects over TLS, logs in with SASL, joins rooms and sends messages, using standard IRCv3. Any IRC library in any language works. Bots connect to the same address as everyone else (coming, when the network opens):

Never turn off certificate checks.

The bot framework

The Cysmos bot framework (Rust, cysmos-chat-bots) does the connecting, the SASL login, reconnecting with backoff, pacing of outgoing messages and command dispatch for you; the whole bot is one Rust trait implementation plus a TOML config. A bot template and examples come with it.

Licence: coming.

The framework is for use with Cysmos Chat only, under the Cysmos bot licence. The licence text and the download are coming; until then the framework is not available outside Cysmos.

A framework config for a bot on Cysmos Chat looks like this:

[server]
host = "chat.cysmos.chat"
port = 6697

[identity]
nick = "Weather[bot]"
account = "weather-bot"
password_env = "WEATHER_BOT_TOKEN"   # the bot's secret comes from the environment, never from a file

[commands]
prefix = "!"

Rules a bot follows

Guide and examples

Coming.

The full guide, "Writing a bot", with the framework, commands and access, and sketches for bots in other languages, is published here once the features it describes are built.

Bot accounts

Coming.

A bot gets an account of its own, which belongs to your Cysmos account; you are its owner and answer for it. It logs in with its own bot token or a client certificate, never with your password.

Verification

Coming.

A verified bot gets higher limits and may start direct messages with people who opted in. To be verified, its operator is identified, with an abuse contact that answers within 24 hours; its purpose and the data it stores are described; AI answers are disclosed; it has run 30 days without a strike; and it passes a test run. The application will be made here.