Commit Graph
53 Commits
Author SHA1 Message Date
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