feat(journal): farm-journal maubot plugin

Records what people did each day, scoped per-room/sender/timestamp.
Stored in maubot's per-instance SQLite plugin DB.

Commands:
- !journal <text>     record an entry
- !journal show [@u]  last 10 entries, optionally filtered by user
- !journal today      everything logged today (UTC)

The command shape requires @command.new(arg_fallthrough=False) so
the parent's pass_raw=True `text` argument doesn't swallow
subcommand keywords like "show" and "today" — same pattern the
upstream maubot reminder plugin uses.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Padreug 2026-05-20 23:47:10 +02:00
commit 153b164284
3 changed files with 101 additions and 0 deletions

9
journal/maubot.yaml Normal file
View file

@ -0,0 +1,9 @@
maubot: 0.1.0
id: dev.aiolabs.journal
version: 0.1.3
license: AGPL-3.0-or-later
modules:
- journal
main_class: JournalBot
database: true
database_type: asyncpg