LogalDeveloper
b8f509ac63
Updated dependencies.
Audit / Dependencies (push) Successful in 7s
CI / Formatting (push) Failing after 5s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 24s
CI / Type Checking (push) Successful in 10s
CI / Spelling (push) Successful in 4s
2026-03-23 16:17:07 -04:00
LogalDeveloper
b0fdf12808
Standardized user-facing messages.
CI / Formatting (push) Failing after 4s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 23s
CI / Type Checking (push) Successful in 14s
CI / Spelling (push) Successful in 9s
2026-03-23 16:02:54 -04:00
LogalDeveloper
cf46b71883
Added integration tests for uningest_message.
CI / Formatting (push) Successful in 6s
CI / Linting (push) Successful in 4s
CI / Tests (push) Successful in 24s
CI / Type Checking (push) Successful in 11s
CI / Spelling (push) Successful in 5s
2026-03-23 15:45:31 -04:00
LogalDeveloper
bc9f7fa539
Removed redundant metrics, fixed description accuracy, and excluded no-data fallback from generation timing.
CI / Formatting (push) Successful in 4s
CI / Linting (push) Successful in 4s
CI / Tests (push) Successful in 23s
CI / Type Checking (push) Successful in 10s
CI / Spelling (push) Successful in 5s
2026-03-23 15:31:43 -04:00
LogalDeveloper
70095f3184
Replaced regex with native str methods for whitespace normalization and mention extraction.
CI / Formatting (push) Successful in 4s
CI / Linting (push) Successful in 4s
CI / Tests (push) Successful in 23s
CI / Type Checking (push) Successful in 10s
CI / Spelling (push) Successful in 5s
2026-03-23 14:39:38 -04:00
LogalDeveloper
0fa51d6199
Added /forgetme slash command with atomic user data deletion, confirmation UI, and Prometheus metrics.
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 23s
CI / Type Checking (push) Successful in 11s
CI / Spelling (push) Successful in 5s
2026-03-23 10:06:55 -04:00
LogalDeveloper
ca3011011a
Added async lock to database transactions to prevent concurrent transaction conflicts.
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 4s
CI / Tests (push) Successful in 22s
CI / Type Checking (push) Successful in 11s
CI / Spelling (push) Successful in 5s
2026-03-23 09:49:44 -04:00
LogalDeveloper
53b8bd3fae
Switched to explicit SQLite transactions with rollback safety and batched delete operations.
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 23s
CI / Type Checking (push) Successful in 11s
CI / Spelling (push) Successful in 5s
2026-03-23 09:16:46 -04:00
LogalDeveloper
093426ac61
Refactored ingestion to semaphore-bounded tasks, centralized error handling, and consolidated metrics.
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 22s
CI / Type Checking (push) Successful in 11s
CI / Spelling (push) Successful in 5s
2026-03-22 22:45:31 -04:00
LogalDeveloper
c1f967ece9
Fixed cache shutdown to properly await task cancellation and added names to background tasks.
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 22s
CI / Type Checking (push) Successful in 10s
CI / Spelling (push) Successful in 5s
2026-03-22 20:17:06 -04:00
LogalDeveloper
23cc721612
Modernized codebase with NamedTuples, StrEnum, override decorators, slots, and other idiomatic improvements.
CI / Formatting (push) Successful in 4s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 21s
CI / Type Checking (push) Successful in 10s
CI / Spelling (push) Successful in 5s
2026-03-22 20:02:31 -04:00
LogalDeveloper
a23d252f27
Fixed mypy override compatibility error in bot start method signature.
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 4s
CI / Tests (push) Successful in 21s
CI / Type Checking (push) Successful in 10s
CI / Spelling (push) Successful in 4s
Audit / Dependencies (push) Successful in 6s
2026-03-22 14:54:12 -04:00
LogalDeveloper
2cf00fde4f
Improved code quality with more idiomatic Python patterns and safer initialization.
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 4s
CI / Tests (push) Successful in 21s
CI / Type Checking (push) Failing after 10s
CI / Spelling (push) Successful in 5s
2026-03-22 14:41:38 -04:00
LogalDeveloper
371f7d2ca3
Added message uningest to reverse Markov data when recently ingested messages are deleted.
CI / Formatting (push) Successful in 4s
CI / Linting (push) Successful in 4s
CI / Tests (push) Successful in 20s
CI / Type Checking (push) Successful in 11s
CI / Spelling (push) Successful in 5s
2026-03-22 14:05:58 -04:00
LogalDeveloper
12e5e92fe4
Updated dependencies.
Audit / Dependencies (push) Successful in 7s
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 16s
CI / Type Checking (push) Successful in 11s
CI / Spelling (push) Successful in 5s
2026-03-19 09:01:33 -04:00
LogalDeveloper
a7b4337835
Replaced fallback database seeding with an informational message for empty channels.
Audit / Dependencies (push) Successful in 6s
CD / Publish (push) Successful in 5s
CI / Formatting (push) Successful in 4s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 16s
CI / Type Checking (push) Successful in 11s
CI / Spelling (push) Successful in 5s
v1.1.0
2026-03-18 20:01:12 -04:00
LogalDeveloper
a8d3a5c421
Added Prometheus metrics support with opt-in CLI flag.
Audit / Dependencies (push) Successful in 7s
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 16s
CI / Type Checking (push) Successful in 11s
CI / Spelling (push) Successful in 5s
2026-03-18 19:43:30 -04:00
LogalDeveloper
6aa8527adc
Simplified database layer and consolidated Markov writes into a single transaction.
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 16s
CI / Type Checking (push) Successful in 10s
CI / Spelling (push) Successful in 5s
2026-03-17 17:07:28 -04:00
LogalDeveloper
56d3c36c7d
Replaced redundant database query with known fallback start word to fix mypy type narrowing.
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 9s
CI / Type Checking (push) Successful in 11s
CI / Spelling (push) Successful in 5s
2026-03-17 14:28:47 -04:00
LogalDeveloper
2d13dfb063
Added unit tests for database, markov, flags, CLI, and version modules.
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 9s
CI / Type Checking (push) Failing after 10s
CI / Spelling (push) Successful in 5s
2026-03-17 14:13:31 -04:00
LogalDeveloper
34ae3b3e64
Aligned CI workflows and pyproject.toml with cross-project infrastructure conventions.
CI / Formatting (push) Successful in 4s
CI / Linting (push) Successful in 4s
CI / Tests (push) Successful in 5s
CI / Type Checking (push) Successful in 9s
CI / Spelling (push) Successful in 4s
Audit / Dependencies (push) Successful in 8s
2026-03-14 17:45:07 -04:00
LogalDeveloper
51f33a8dac
Deduplicated allowed mention user IDs to prevent Discord API rejection.
CI / Formatting (push) Successful in 4s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 6s
CI / Type Checking (push) Successful in 10s
CI / Spelling (push) Successful in 4s
2026-03-14 17:31:10 -04:00
LogalDeveloper
ee73e36f8e
Expanded linting rules, added codespell and pip-audit, and fixed all violations.
CI / Formatting (push) Successful in 11s
CI / Linting (push) Successful in 11s
CI / Tests (push) Successful in 15s
CI / Type Checking (push) Successful in 21s
CI / Spelling (push) Successful in 12s
Dependency Audit / Dependency Audit (push) Successful in 7s
2026-02-20 10:30:36 -05:00
LogalDeveloper
0f2f43a55a
Moved inline listener imports to module level in bot.py.
CI / Formatting (push) Successful in 11s
CI / Linting (push) Successful in 10s
CI / Tests (push) Successful in 14s
CI / Type Checking (push) Successful in 24s
2026-02-18 15:51:47 -05:00
LogalDeveloper
fb92bc6766
Added user ID tracking to content tables and ingest-only CLI mode.
CI / Formatting (push) Successful in 10s
CI / Linting (push) Successful in 10s
CI / Tests (push) Successful in 15s
CI / Type Checking (push) Successful in 21s
2026-02-18 15:08:01 -05:00
LogalDeveloper
534309325b
Added CD pipeline for automated PyPI publishing on version tags.
CI / Formatting (push) Successful in 11s
CI / Linting (push) Successful in 11s
CI / Tests (push) Successful in 14s
CI / Type Checking (push) Successful in 21s
CD / Publish (push) Successful in 13s
v1.0.0
2026-02-18 14:03:14 -05:00
LogalDeveloper
3a93a56f88
Modernized development tooling and added CI pipeline.
CI / Formatting (push) Successful in 10s
CI / Linting (push) Successful in 10s
CI / Tests (push) Successful in 14s
CI / Type Checking (push) Successful in 20s
2026-02-18 13:47:06 -05:00
LogalDeveloper
b065c3dd05
Rewrote Crabstero from Java to Python.
...
- Replaced Javacord with discord.py.
- Replaced Redis backend with SQLite via aiosqlite.
- Replaced Gradle build with pyproject.toml and uv.
- Added setuptools-scm for automatic versioning from git tags.
- Added argparse CLI with systemd credential support for the bot token.
- Replaced per-channel ingestion tasks with a bounded queue and worker pool.
- Removed Dockerfile and Gitea Actions workflow.
2026-02-12 09:12:45 -05:00
LogalDeveloper
fd26714ed2
Added opt-in mechanism for receiving pings on mentions. ( Closes #2 )
Build Distribution / Build (push) Successful in 42s
2024-09-15 13:00:33 -04:00
LogalDeveloper
b3ea0d9bfd
Removed unused import.
Build Distribution / Build (push) Successful in 13s
2024-07-09 13:11:02 -04:00
LogalDeveloper
ce507e8619
Removed watermark in embed footers.
Build Distribution / Build (push) Successful in 30s
2024-07-09 13:09:04 -04:00
LogalDeveloper
173ace899b
Updated dependencies.
Build Distribution / Build (push) Successful in 12s
2024-05-18 21:48:58 -04:00
LogalDeveloper
9c0f6fc5e9
Added Gitea Actions workflow for building distribution artifact.
2024-05-18 21:43:41 -04:00
LogalDeveloper
b099ec84cd
Added Gradle wrapper.
2024-05-18 21:31:40 -04:00
LogalDeveloper
09e3d7ee29
Updated Gradle and Java Runtime Environment.
2024-02-26 12:39:09 -05:00
LogalDeveloper
222f6101d4
Added dynamic flagging system to enable real-time adjustment of behavior.
2024-02-14 09:16:03 -05:00
LogalDeveloper
85b89b4750
Updated dependencies.
2024-02-12 19:36:10 -05:00
LogalDeveloper
89ee198897
Added support for text chats in voice channels. ( Closes #1 )
2023-10-04 10:32:46 -04:00
LogalDeveloper
474817c4cf
Updated dependencies.
2023-04-29 21:23:21 -04:00
LogalDeveloper
ae259a5c1b
Reverted "Reworked organization of Redis database logic."
...
Turns out Apache Kvrocks does not implement logical databases the same way as Redis. The SELECT command will accept any number and pretend to switch logical databases, but in reality it does not seem to do anything. Because of this, the original database logic is better suited. If a non-Redis database is used, such as Apache Kvrocks, the new database logic is actually a potential regression.
2023-04-29 20:52:52 -04:00
LogalDeveloper
4a22c1abfc
Reworked organization of Redis database logic.
...
This change is breaking. Markov chain data is moved into an entirely separate logical database and some keys were changed. There is no migration routine for this change, so a fresh Redis database should be used by this point.
2023-04-29 20:25:10 -04:00
LogalDeveloper
ff5833a768
Updated dependencies.
2023-02-03 16:19:18 -05:00
LogalDeveloper
165dba8dce
Made Redis port configurable via environment variable.
2023-02-03 16:02:32 -05:00
LogalDeveloper
c86a004146
Added missing privileged intent.
2022-10-18 12:44:59 -04:00
LogalDeveloper
0bd2bda888
Updated dependencies.
2022-10-18 12:26:36 -04:00
LogalDeveloper
9e154ef2f7
Updated Gradle and Java Runtime Environment.
2022-08-01 13:37:25 -04:00
LogalDeveloper
e4c4be429c
Added code comments.
2022-07-07 12:50:29 -04:00
LogalDeveloper
3aa3b64e1c
Reorganized code to be more object-oriented.
2022-07-06 10:05:38 -04:00
LogalDeveloper
e4abb0d84d
Added support for server thread channels.
...
When mentioned in a server thread channel, the parent channel's Markov chain is used to generate responses. This avoids low quality sentences which would occur if every server thread channel was given a brand new Markov chain.
Messages received from server thread channels do not get ingested.
2022-07-05 16:35:40 -04:00
LogalDeveloper
c183ed805e
Updated dependencies.
2022-07-05 15:54:25 -04:00