-
v1.0.1 Stable
released this
2026-07-08 21:44:54 -05:00 | 178 commits to main since this releaseFull lint cleanup following the config fix in 1.0.0 -- no user-facing behavior change, but a few real bugs turned up along the way and got fixed.
Changed
- Fixed all ~1270 lint violations the corrected
.eslintrc.jssurfaced. Production code is now fully lint-clean (typed DB rows, narrowedunknownerror handling, missing return types, floating/misused promises). A targeted ESLint override relaxes the unsafe-any family for test files, since Jest mocks are inherently loosely typed. npm run lintnow runs in CI, after format check and before type-check.
Fixed
MessageStoreandServerConfigManagercleanup methods loggeddeletedCount: 0on every call -- read.rowCountoff a value that never had it. AddedRETURNINGclauses and countresult.lengthinstead.DiscordClient's rate-limit handler logged fields (timeout/url) that don't exist on the real payload type -- alwaysundefined. Now logs the real fields.DiscordClient.disconnect()never awaitedclient.destroy(), so shutdown could complete before the gateway connection actually closed.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Fixed all ~1270 lint violations the corrected
-
v1.0.0 Stable
released this
2026-07-08 20:31:27 -05:00 | 179 commits to main since this releaseFirst tagged release. Consolidates the feature set already built and brings the repo onto forgejo with the versioned-release cadence used by the other projects there.
Added
- TypeScript Discord bot answering
/aufhocker query:slash commands via Claude, using recent channel history as conversational context. - Postgres-backed message retention, per-server configuration, rate limiting, and an admin audit trail.
- Optional plugins: League of Legends live-game monitoring/predictions (
LOL_ENABLE_LIVE_MONITOR) and Diablo 2 terror-zone/DClone tracking (D2EMU_ENABLE). .gitattributes, a proprietaryLICENSE, Prettier formatting (format/format:check), and atypecheckscript, matching the other forgejo-hosted projects.- Forgejo Actions CI (
.forgejo/workflows/ci.yml) running format check, type-check, tests, and build on every push/PR tomain.
Fixed
.eslintrc.jsreferenced TypeScript-ESLint configs without the requiredplugin:prefix and a non-existentprefer-construle name, sonpm run linthad never actually run successfully.ToolExecutionLoopAudit.test.ts's loop-cap tests hardcoded 5 rounds whileMAX_TOOL_ROUNDSis 10, and assumed hitting the cap throws when the code actually returns a graceful fallback message. ExportedMAX_TOOL_ROUNDSand fixed the tests to match real behavior.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- TypeScript Discord bot answering
-
v3.5.3
Stablereleased this | 22 commits to main since this release
Fixed
- CI's dependency audit passes again. Two high-severity packages had new
advisories published today. One was undici 6.27.0, which discord.js uses
for every request to Discord, with six advisories fixed in 6.28.1. The
other was brace-expansion 5.0.9, used only by the linter, with three fixed
in 5.0.12. Both now resolve to their newest versions, andnpm audit
reports nothing at any severity. - A test that failed about one run in five now passes every time. The
bot-message exclusion tests searched the context for each bot message's
text. Random users can legitimately carry the same text, for example a
user named__debeside a bot message reading__de. The code was right
each time. Each bot message now carries a marker no generated user can
produce, and the tests check for that. With the bot filter deliberately
broken, all three tests fail. With it in place, 25 runs in a row passed.
Changed
- Every dependency is on its newest release. That includes discord.js
14.27.0, the Anthropic SDK 0.131.0, the MCP SDK 1.32.0, dotenv 18.0.5, pg
8.23.1, and every dev tool. Nothing the bot uses changed in dotenv 18,
which removed.env.vaultsupport and-r dotenv/configpreloading.
Two packages stay behind, and both are held there because something else
requires it. TypeScript stays on 6.0 because typescript-eslint and ts-jest
don't support 7 yet.@types/nodestays on 22 to match the Node 22
runtime. - Two dependency overrides are gone. The undici override is redundant
now that discord.js asks for^6.27.0itself. brace-expansion resolves
its newest release without help. Those that remain only ever force a
newer version than a package asks for, and their floors are raised to
the newest releases.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- CI's dependency audit passes again. Two high-severity packages had new
-
v2.4.2
Stablereleased this | 39 commits to main since this release
Changed
- The DClone status message is the grid alone. The lines under it are
gone: no "at 5/6 since…" for games close to spawning, and no "spawned N
minutes ago". A game that just spawned still reads 6/6 in the grid for
half an hour, since the tracker drops it straight back to 1/6.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- The DClone status message is the grid alone. The lines under it are