2 Commits
Author SHA1 Message Date
dsqlandClaude Opus 4.8 9b6cf3bd05 add package: pyproject + src
DPYLogger: leveled discord channel logger (debug/info/success/fail/task/
critical) over discord.py. config-free — embed identity injected at
construction, per-guild channel routing read live from bot.settings.
dual-sink: mirrors every call to the stdlib logger. embed_builder
callable + build_embed override for customization. raises by design;
object-only (no module proxy). src/ layout, hatchling build.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: disqualifier <dev@disqualifier.me>
2026-06-24 21:24:39 -04:00
dsql a90a0061b0 init: leveled discord logger
Signed-off-by: disqualifier <dev@disqualifier.me>
2026-06-24 21:24:39 -04:00
2 changed files with 10 additions and 10 deletions
+5 -5
View File
@@ -28,11 +28,11 @@ from dpy_logger import DPYLogger
bot.log = DPYLogger(
bot, guild_id, channel_id,
colors=cfg.log_colors, # optional; merged over sensible defaults
pings=cfg.authorized_devs, # mentioned on critical()
timezone=cfg.timezone,
footer=cfg.bot_footer,
avatar=cfg.bot_avatar,
colors=log_colors, # optional; merged over sensible defaults
pings=authorized_devs, # mentioned on critical()
timezone=tz,
footer=bot_footer,
avatar=bot_avatar,
)
await bot.log.initialize() # resolves ids -> objects, call once
+5 -5
View File
@@ -12,11 +12,11 @@ command that mutates bot.settings changes routing without a restart.
bot.log = DPYLogger(
bot, guild_id, channel_id,
colors=cfg.log_colors, # optional, falls back to defaults
pings=cfg.authorized_devs, # mentioned on critical()
timezone=cfg.timezone,
footer=cfg.bot_footer,
avatar=cfg.bot_avatar,
colors=log_colors, # optional, falls back to defaults
pings=authorized_devs, # mentioned on critical()
timezone=tz,
footer=bot_footer,
avatar=bot_avatar,
)
await bot.log.initialize() # resolves ids -> objects
await bot.log.success("user promoted", action="promote", actor=ctx.author)