Skip to content

Ruby on Rails rewrite

Choose a tag to compare

@badBlackShark badBlackShark released this 10 Jul 18:36
f39f433

shrkbot has been rewritten from scratch, this time moving from Crystal/discordcr to Ruby 4 / Rails 8.1 / discordrb. The bot now runs as three processes (web, bot, job worker) on a shared Postgres + Redis, instead of a single monolith.

New tech stack

  • Rails 8.1 app with a website alongside the bot. Views are Phlex, jobs run on Solid Queue.
  • All writes go through a shared operations layer, so the bot and the website use the exact same business logic.
  • Full test suite with a changed-line coverage gate in CI. The Crystal version had no tests at all.

Configuration moves to the website

Per-guild configuration now lives on the website instead of bot commands. Log in with Discord, pick your server, and configure everything from there.

Ported plugins

  • Welcomes
  • Roles (self-assignment, role sync)
  • Logging

New: Server Shield

A moderation suite built for this release. Message scanning happens in memory, with zero message retention.

Dropped

All stock market functionality is gone, at least for now. It didn't have enough users to justify porting it.