Commit graph

14 commits

Author SHA1 Message Date
57b6f09dd7 feat(ticket): rewrite ticket system from scratch inspired by Kuby
All checks were successful
ci / ci (push) Successful in 46s
New minimal ticket system (dev only):
- Panel with create ticket button (Components V2, no accent colors)
- Category selection via dropdown or direct modal (1 cat)
- Ticket channel creation with permissions, staff role, welcome message
- Close flow: staff check, transcript HTML (dark theme), log, auto-delete
- /ticket setup, /ticket config (interactive panel)
- Storage: JSON per-ticket + config.json (singleton pattern)
- Modular architecture: data.py, storage.py, ui.py, transcript.py, cog.py
- Removed old modmail system
2026-09-20 20:04:10 +02:00
4d2be145aa fix(ci): ruff format bot.py
All checks were successful
ci / ci (push) Successful in 44s
ci / ci (pull_request) Successful in 45s
deploy / deploy (push) Successful in 37s
2026-09-20 18:56:06 +02:00
a32dc723e9 fix(bot): guild sync dev (discord.Object) + tolerant des echecs de sync
Some checks failed
ci / ci (push) Failing after 44s
ci / ci (pull_request) Failing after 42s
2026-09-19 16:47:04 +02:00
21123b182f ci: handle one-time systemd -> Docker transition in deploy_runner
All checks were successful
ci / ci (push) Successful in 41s
ci / ci (pull_request) Successful in 41s
2026-09-19 16:08:22 +02:00
4ebbc7180f chore(ci): remove temporary runner label check
Some checks failed
ci / ci (push) Has been cancelled
ci / ci (pull_request) Successful in 40s
2026-09-19 16:07:24 +02:00
3face47d42 chore(ci): temporary runner label check (omhk-deploy)
Some checks failed
runner-ping / ping (push) Successful in 0s
ci / ci (push) Has been cancelled
ci / ci (pull_request) Successful in 41s
2026-09-19 16:06:39 +02:00
e22a98a4a3 ci: align deployment on Kuby (Docker + rsync + SSH key + healthcheck + rollback)
All checks were successful
ci / ci (push) Successful in 44s
ci / ci (pull_request) Successful in 43s
- Add HTTP /health endpoint (aiohttp) for Docker healthcheck + post-deploy check
- Dockerfile HEALTHCHECK hits /health; docker-compose exposes 1890, container vision-bot
- scripts/deploy_runner.sh runs on .117 (docker compose build/restart)
- .forgejo/workflows/deploy.yml: single job on omhk-deploy runner (clone, syntax test,
  rsync, deploy, health check, auto-rollback) like Kuby
- .forgejo/workflows/ci.yml: single job (ruff + pytest) on dev/PR
2026-09-19 16:04:59 +02:00
e32ca9c8fb fix(ci): checkout the pushed commit instead of default branch
All checks were successful
CI/CD / lint (push) Successful in 41s
CI/CD / test (push) Successful in 44s
CI/CD / lint (pull_request) Successful in 44s
CI/CD / test (pull_request) Successful in 45s
CI/CD / deploy (push) Has been skipped
CI/CD / deploy (pull_request) Has been skipped
- 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
2026-09-19 15:34:42 +02:00
32513485c3 fix(modmail): correct attachment handling + include initial message in transcript
Some checks failed
CI/CD / lint (push) Failing after 43s
CI/CD / test (push) Successful in 42s
CI/CD / deploy (push) Has been skipped
CI/CD / lint (pull_request) Failing after 43s
CI/CD / test (pull_request) Successful in 48s
CI/CD / deploy (pull_request) Has been skipped
- Fix discord.File.from_attachment (nonexistent) -> Attachment.to_file()
- Record initial ticket reason into transcript history
2026-09-19 15:30:34 +02:00
b736f4cc8b refactor(modmail): centralize config into single /modmail config panel
Some checks failed
CI/CD / lint (push) Has been cancelled
CI/CD / test (push) Has been cancelled
CI/CD / deploy (push) Has been cancelled
- Remove 5 redundant commands (setup, addcategory, removecategory, enable, disable)
- Single /modmail config opens interactive Components V2 panel
- Channel select for ticket category, role select for staff, channel select for logs
- Toggle enable/disable button
- Categories sub-panel: add via modal, remove via select
- Fix lint (unused imports/vars, contextlib.suppress) + ruff format
2026-09-19 15:30:07 +02:00
f505b6c552 feat: modmail ticket system with Components V2 + HTML transcripts
Some checks failed
CI/CD / lint (push) Failing after 43s
CI/CD / test (push) Successful in 43s
CI/CD / deploy (push) Has been skipped
- 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
2026-09-19 15:20:08 +02:00
f0e93d6262 fix(ci): rewrite workflow without data.forgejo.org proxy
Some checks failed
CI/CD / lint (push) Failing after 49s
CI/CD / test (push) Successful in 47s
CI/CD / deploy (push) Has been skipped
- 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
2026-09-19 12:43:21 +02:00
0bdf414540 feat: dev/prod environment split + APPLICATION_ID + privileged intents
Some checks failed
CI/CD / lint (push) Failing after 2s
CI/CD / test (push) Failing after 1s
CI/CD / deploy (push) Has been skipped
- .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
2026-09-19 12:31:30 +02:00
e44349cea9 feat: initial project setup — Vision Studio bot
Some checks failed
CI / lint (push) Failing after 2s
CI / test (push) Failing after 1s
- Python 3.12 + discord.py
- Docker + docker-compose
- Forgejo Actions CI (lint + test)
- Cog system with /hello example
- deploy.sh for auto-deployment
2026-09-19 12:11:06 +02:00