Commit Graph
741 Commits
Author SHA1 Message Date
leanderandClaude Opus 5.5 c48b90dbf7 fix: show the whole viteboka article when its introduction is empty
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 02:11:40 +01:00
leanderandClaude Opus 5.5 c30d359e7e fix: close the database pool and http session on SIGTERM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 02:11:40 +01:00
leander 0f7e16e640 Merge pull request #61 from UiO-Gaming/ci/publish-image
ci: publish a container image to ghcr.io on each release
2026-11-03 00:29:40 +01:00
leanderandClaude Opus 5.5 e54eaefa47 ci: publish a container image to ghcr.io on each release
Builds the image and pushes it to ghcr.io/uio-gaming/mustafa, tagged with the release version and latest. It runs as a job in the release-please workflow, because releases created with GITHUB_TOKEN don't trigger other workflows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 00:18:42 +01:00
leander 96f40a9a4f Merge pull request #60 from UiO-Gaming/ci/restricted-deploy
ci: deploy through the restricted uiogaming-deploy script
2026-11-02 22:53:00 +01:00
leanderandClaude Opus 5.5 14100e8728 ci: deploy through the restricted uiogaming-deploy script
The old workflow ran docker compose in the repo folder, which failed because the containers belong to the server's top-level compose project. The deploy key can now only run /usr/local/bin/uiogaming-deploy (see UiO-Gaming/drift), so the workflow just passes the service name. Also adds manual runs and prevents overlapping deploys.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 22:47:51 +01:00
leander fab3486a83 remove redundant host network mode 2026-11-02 01:10:23 +01:00
leanderandClaude Opus 5.5 470ca028fe ci: add release-please for automated releases
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 00:03:40 +01:00
leanderandClaude Opus 5.5 4ba0bbfbdc update pillow to 13 to fix the dependabot alerts
moviepy 2.2.1 still caps pillow below 12, so override that constraint with uv until a moviepy release drops it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 21:17:01 +01:00
leander fce9b93399 Merge pull request #59 from UiO-Gaming/slop/sloppy-fixes
The big mega humongous slop cleanup (thanks dario)
2026-11-01 21:00:08 +01:00
leanderandClaude Opus 5.5 38418bffde reveal the crab rave line from the middle and outwards
Instead of fading in like the texts, the line grows from the middle to
both ends with soft edges over the same second, slowing down as it
reaches its full width.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 20:54:30 +01:00
leanderandClaude Opus 5.5 d0bf523448 draw a solid crab rave line and space the texts evenly from it
The line was a row of underscores, which left gaps between them. Draw it
as a solid bar instead, and place the top text's baseline and the top of
the bottom text's capital letters equally far from it, whatever size the
texts end up being.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 20:53:39 +01:00
leanderandClaude Opus 5.5 b67381976c show the right anilist staff and keep it within the field limit
Staff sorted by ROLE come in alphabetical order of role, so /anilist manga
listed 25 assistants and editors for One Piece, which went over the
1024 characters an embed field can hold, and /anilist anime found no
director for long series. Sort by relevance instead, keep only creators
for manga and directors for anime, one per line, and stop before the
field limit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 20:46:11 +01:00
leanderandClaude Opus 5.5 562c30f45e only count streaks in the bot's own server
Messages in other servers the bot is in and in DMs no longer count
towards streaks, and catching up on missed messages at startup only
reads that server. Streaks started elsewhere made /streak se look up a
channel in another server, which crashed with InvalidData.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 20:34:43 +01:00
leanderandClaude Opus 5.5 154d4de881 render user text with noto sans cjk and fit it properly
Draw text that users write with Noto Sans CJK Bold so Chinese, Japanese,
Korean, Cyrillic and Greek no longer show up as boxes. It replaces
DejaVu Sans and Impact, and Comic Sans everywhere but the CS2 bingo.
The Dockerfile makes the font available to Graphviz for /mbti.

put_text_in_box now finds the largest font size where the text, wrapped
to the box's pixel width, fits, and centers the drawn text. Long texts
used to overflow and single letters were pushed out of their box.
Words are only split when keeping them whole would halve the size.

Long crab rave texts shrink to fit the video instead of going past its
edges, and the divider line is a bit longer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 20:28:00 +01:00
leanderandClaude Opus 5.5 14c3caedf5 handle singular vs plural names for more counts
Use the singular form when the count is 1 for fun reply cooldowns,
channel slow mode and user limits, age in days, planned manga chapters,
film length and social credits.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 19:53:57 +01:00
leanderandClaude Opus 5.5 8ec2483918 use norwegian number formatting
Add misc_utils.format_number, which separates thousands with a
non-breaking space and uses a decimal comma, and use it for the numbers
shown in embeds and messages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 19:45:18 +01:00
leander 3744b8f57f use better checkmark for docker status in botinfo 2026-11-01 19:34:05 +01:00
leanderandClaude Opus 5.5 e24523d1b3 simplify member status counting in /botinfo and /guild info
Count statuses with a Counter over discord.Status instead of one set or
counter per status, and share the emoji formatting between both commands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 19:32:53 +01:00
leander 53c3655276 handle teams as bot owners 2026-11-01 19:26:57 +01:00
leander 8cef9d87cd handle singular vs plural names for "dager" 2026-11-01 19:15:32 +01:00
leander 1a35941227 make my own dick big again
dev is now set to the team id which meant my penis shrunk 0_o
2026-11-01 19:13:34 +01:00
leander 8797799094 output media title as nightcore filename 2026-11-01 19:11:24 +01:00
leander 22fd3d069f fix invalid mount config for logs 2026-11-01 18:19:05 +01:00
leander 81a2c8f57c Closes #57
hopefully
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 23:26:24 +01:00
leanderandClaude Opus 5.5 e92582a23d clean up leftover guild commands in prod and warn about duplicates in dev
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 23:18:31 +01:00
leanderandClaude Opus 5.5 5e6ed4d6cc add /versjon showing the branch and commit the bot runs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 23:12:16 +01:00
leander e6389cdacf speed up /bursdag kommende 2026-10-29 23:09:06 +01:00
leanderandClaude Opus 5.5 646a1b1342 document setup requirements and code conventions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 23:05:09 +01:00
leanderandClaude Opus 5.5 67a418ebe2 make import style consistent
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 22:58:27 +01:00
leanderandClaude Opus 5.5 70c0236a16 make docstrings consistent
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 22:55:32 +01:00
leanderandClaude Opus 5.5 1d29222fa4 rewrite the 10-man team draft as one message
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 22:45:39 +01:00
leanderandClaude Opus 5.5 03b79ed98a share lobby creation between 10-man and bingo and fix lobby timeouts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 22:43:01 +01:00
leander f957299e70 extend 10-man team leader button interaction timeout to 5 min 2026-10-29 22:36:59 +01:00
leander 86b63169ac avoid duplicate bingo entries for games smaller than 5 people 2026-10-29 22:34:57 +01:00
leanderandClaude Opus 5.5 fa863b12c2 rework /nightcore
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 22:30:58 +01:00
leanderandClaude Opus 5.5 73e5cd7202 render viteboka articles from html instead of stripping wikitext
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 22:24:33 +01:00
leander 00ae08978d rewrite ordsky last logic 2026-10-29 22:17:42 +01:00
leander 0bb4d2bbc5 correct member role config key name 2026-10-29 22:16:42 +01:00
leander 2ad305afbf add rate limiter helper class 2026-10-29 22:16:00 +01:00
leander cecc2f7666 fix cache race condition 2026-10-29 22:06:45 +01:00
leander f445a62681 clean up /mock logic 2026-10-29 21:54:54 +01:00
leander f9d4247dcb add kaomoji to /owo 2026-10-29 21:48:55 +01:00
leander 8f273caf94 funreplies rewrite. add toggling and chance setting
let the AI overlords take the wheel
2026-10-29 21:45:24 +01:00
leander 670b4e860f add social credit rules for various voice activity 2026-10-29 21:30:32 +01:00
leander a929a3efca Update contribution guidelines to include command descriptiors 2026-10-29 21:24:00 +01:00
leander 05212c9eb6 Closes #26 2026-10-29 21:23:26 +01:00
leander 02da979ee2 use bot timezone for midnight loops 2026-10-29 21:04:23 +01:00
leander a615df4ba1 use multiline_textbox to draw text 2026-10-29 20:49:41 +01:00
leander be33df21ac prefer future dates for /mennesketid 2026-10-29 20:43:19 +01:00