- git clone defaulted to main, so dev pushes were tested against main
- Now clone + git checkout github.sha
- Deploy: restart service via sudo -S with secret password
- DM-based modmail: user DMs bot -> ticket channel created
- Staff relay: messages in ticket -> DM to user
- Configurable categories via /modmail addcategory
- Setup via /modmail setup (category, staff role, log channel)
- Close command: /close or !close -> HTML transcript generated
- Components V2: Container, TextDisplay, Separator, persistent views
- Transcript: dark theme HTML with staff badges, avatars, timestamps
- Replace actions/checkout with direct git clone from Forgejo
- Replace actions/setup-python with apt install python3
- Use sshpass for deploy instead of appleboy/ssh-action
- Compatible with self-hosted Forgejo runners
- .env.dev / .env.prod with separate tokens and APPLICATION_ID
- Bot syncs commands to specific guild in dev mode
- Global sync for production
- Updated .forgejo/workflows/ci.yml with SSH deploy to prod server
- Updated .gitignore for .env.dev / .env.prod