Commit Graph

25 Commits

Author SHA1 Message Date
Lilac-Rose
be54be9c51 add help and quote commands, fix type errors, clean up birthdays
added /help with a category dropdown that covers all non-mod commands, also
user's avatar fading in from the left side at an angle.

went through every file and fixed pylance errors - Optional type hints on
params that default to None, made cog_unload async everywhere, added isinstance
guards before accessing Member-only attributes, and narrowed get_channel()
return types before calling send().

birthday list now removes db entries for users who have left the server when
someone queries a month.
2026-04-13 04:12:41 +02:00
Lilac-Rose
0b8c21c9b9 feat: add daily fractal poster, per-command stats, and misc fixes
daily fractal:
- add events/daily_fractal.py: posts today's fractal from lilacrose.dev
  to channel 876772600704020533 daily at noon UTC
- palette name derived from seed as fallback for cached fractals
- add !fractal owner-only command to manually trigger a fractal post

stats:
- add per_command_usage table to track usage per command name
- increment_usage now accepts command name from both prefix and slash commands
- expose per-command breakdown in stats payload

avatar bad apple:
- add invert parameter to flip dark/light regions
- add real-time render and encode progress bars via interaction edits
- process frames in chunks to cap peak RAM usage
- track and cancel active render tasks and ffmpeg processes on cog unload
- switch output to mp4 only (drop webm/alpha path), use ultrafast preset
- check file size against guild limit before uploading
- remove 30-second frame cap

moderation:
- infraction auto-removal: skip users who left and rejoined after infraction date
- add Reason field to infraction removal approval and denial embeds

send_embed: support zlib-compressed embed strings with legacy fallback

chore:
- remove events/status_alerts.py
- remove arg from COG_FOLDERS
- update .gitignore: add *.zip, bad_apple.mp3, */bad-apple/
2026-03-27 18:10:35 +01:00
Lilac-Rose
84df0d5db6 feat: add bad apple avatar command and fix infraction removal views
avatar:
- add /avatar bad_apple command: tiles user pfp as fill for Bad Apple frames
- support two-user mode (user1=silhouette, user2=background), outputs MP4
- single-user mode outputs WebM with alpha transparency
- audio sync: detect and trim leading silence via atrim filter, skip
  equivalent video frames so Discord cannot strip silence at playback
- avatar_type global/server fix: use user.avatar explicitly for global
- delta_only option: only render pixels that changed from previous frame
- parallel frame processing with ThreadPoolExecutor (load + composite)
- np.tile replaces PIL paste loop for tiled canvas (major speedup)
- frame list cached at cog_load to avoid re-globbing 6572 files each call
- uses imageio-ffmpeg bundled binary (no system ffmpeg required)

moderation:
- fix InfractionRemovalView buttons erroring with closed database after
  cog reload by opening a fresh connection per button click
- add approval_message_id column to infractions table
- store message ID when sending approval embed
- re-register persistent views on cog_load so buttons survive bot restarts
- add inf resend command to re-send a broken approval embed
2026-03-13 05:46:05 +01:00
Lilac-Rose
94be9beddb idk why i added those i forgot 2026-02-18 03:13:31 +01:00
Lilac-Rose
2b3f68a142 friend added comments for some reason 2026-02-18 03:09:43 +01:00
Lilac-Rose
461ff385d5 refactor: codebase cleanup across all modules 2026-02-18 02:45:11 +01:00
Lilac-Rose
831954a9b9 the great english database shift 2026-02-11 18:23:51 +01:00
Lilac-Rose
4f331141c1 added canny edge detection to avatar command 2026-01-09 19:24:26 +01:00
Lilac-Rose
ec978ccce7 Added the Kuwuhara Filter to the /avatar command 2026-01-06 21:41:59 +01:00
Lilac-Rose
34bfc76e2e forgor 2025-11-14 10:00:33 +01:00
Lilac-Rose
a79dd454df merged all avatar related commands into one file, and one command technically, continuing the great consolodation of 2025 2025-11-11 23:56:20 +01:00
Lilac-Rose
7ed7491ef2 Added a system that lets users pick their embed color and applied that to embeds, i probably forgot some though lol 2025-10-24 08:53:38 +02:00
Lilac-Rose
434643fe10 Removed extra lines and added grayscale 2025-10-21 05:28:28 +02:00
Lilac-Rose
de19e12e54 ModerationBase.is_admin() my beloved 2025-10-20 15:19:04 +02:00
Lilac-Rose
c10f7591de Made it so obama runs async 2025-10-20 12:28:42 +02:00
Lilac-Rose
b1a8f47a36 Alya hates fun 2025-10-20 12:27:25 +02:00
Lilac-Rose
63559932c1 Added the global/server field to the other image/avatar related commands, and updated the leaderboard slightly 2025-10-18 14:10:42 +02:00
Lilac-Rose
feb77f4637 Added a server and global option to the avatar command 2025-10-18 06:36:56 +02:00
Lilac-Rose
14f2f2f70d fixed explodeiosiode 2025-10-17 10:32:10 +02:00
Lilac-Rose
f48354156a Added explosion.py which explodes the pfp yep yep 2025-10-17 10:31:08 +02:00
Lilac-Rose
e9f0c5c80d Added suggestion feature that will let people suggest ideas and added avatar.py which shows the users avatar 2025-10-17 09:08:57 +02:00
Lilac-Rose
0c9c12ba4a Added inverse.py which inverts the colors in the pfp 2025-10-17 05:16:54 +02:00
Lilac-Rose
4c1c1a535a Finished bitcrush.py, capped it at 8, etc 2025-10-17 00:54:09 +02:00
Lilac-Rose
192adefc9c Capped it to 8bpp since that is what the quantization function can handle 2025-10-17 00:46:59 +02:00
Lilac-Rose
e77c657b92 added the image cog, and bitcrush.py, this opens the doors to silly things 2025-10-17 00:33:29 +02:00