Sir Clive Sinclairbot, a plugin-powered Discord bot

Named, with affection, for the man who put a computer in our childhood bedrooms.

Sir Clive Sinclairbot is a plugin-powered Discord channel-manager bot, written in TypeScript. The interesting part is not any single feature but the shape: plugin drive, and massively flexible. Every plugin gets is own express & storage, allowing it to be many bots at once. This is all tied to the central Discord client, with clean extension points, so adding or removing one is a single config line. The bundled set (all optional) covers a mention-driven LLM chatbot, !help / !ping style commands, and OIDC login with Discord-account linking over a one-time DM.

Our favourite of the bundled plugins is the relay: a signed HMAC endpoint that lets LAN services post into a Discord channel without ever holding the bot's credentials. Storage is Redis-backed and namespaced per plugin, and there is a small web UI for the things Discord cannot do itself.

This is early days - it sits at v0.0.9 - but it is already doing useful work for us. AGPLv3, with a changelog, per-plugin docs, and a Docker guide on GitHub.