signal-bot/signal_bot
Krzysztof kuhy Rudnicki c2fb3c5fac release: 0.1.0 «Hygin» — the statistics release
The tally becomes a message history. Ordinal 9 lands on 0.1.0 by
arithmetic rather than by choice, which is a pleasant coincidence for a
release this size.

What changes for the group, in the four bullets they will read: photos
and videos now count (a caption-less photo was worth zero, so everyone's
numbers jumped), people who said nothing appear at 0, nine new commands,
and the bot remembers history from 30 August 2026.

What changes underneath: an append-only per-message log holding metadata
and never a body; days that are calendar days in Europe/Warsaw rather
than "since the last post"; records, crown streaks and weekday averages;
weekly and monthly summaries; and reports that survive an outage instead
of being lost.

Exercised in testbot before this bump, per DOCS-changelog.md: all nine
commands ran clean, and kuhy confirmed the rendering on a real phone --
the one check that could not be done from here, since Signal's
proportional font is why the columns are separated by a dash rather than
padded.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015d48t4qsQLBJnDwDeo2Nom
2026-08-30 20:00:58 +02:00
..
stats feat: weekly, monthly and year-in-review posts, keyed off the day reported 2026-08-30 19:56:25 +02:00
__init__.py feat: rewrite the bot so it runs, and gate it like the other repos 2026-08-29 13:05:42 +02:00
__main__.py feat: the bot can describe an envelope without quoting anybody 2026-08-30 19:29:06 +02:00
aliases.json feat: nine commands for asking the statistics questions 2026-08-30 19:49:41 +02:00
animals.py fix: !gekon really is random (iNaturalist ignores order_by=random) 2026-08-29 23:35:53 +02:00
announce.py feat: name every release after a pope, and tell the group when one lands 2026-08-29 22:51:20 +02:00
app.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
bot.py feat: weekly, monthly and year-in-review posts, keyed off the day reported 2026-08-30 19:56:25 +02:00
changelog.py feat: answer the message that asked, not just the room 2026-08-29 23:01:01 +02:00
config_env.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
config.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
counting.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
decorators.py chore: drop the last references to a command this repo no longer has 2026-08-29 22:32:12 +02:00
discovery.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
dispatcher.py feat: the bot can describe an envelope without quoting anybody 2026-08-30 19:29:06 +02:00
endpoints.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
envelope_shape.py feat: the bot can describe an envelope without quoting anybody 2026-08-30 19:29:06 +02:00
folding.py fix: commands resolve when typed on another alphabet's keyboard 2026-08-30 14:22:43 +02:00
groups.py feat: discover groups from the account, so adding the bot is the whole setup 2026-08-29 15:30:08 +02:00
http_client.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
liveness.py feat: refuse to look healthy while deaf, and heal the container by itself 2026-08-29 19:01:55 +02:00
logging_setup.py feat: the bot can describe an envelope without quoting anybody 2026-08-30 19:29:06 +02:00
membership.py fix: a signal-api that is not up yet no longer kills the bot at boot 2026-08-30 15:23:42 +02:00
models.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
popes_command.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
popes.json release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
portcheck.py feat: make the bot actually reply on Signal, and gate every way it went silent 2026-08-29 14:37:27 +02:00
portraits.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
quoting.py feat: answer the message that asked, not just the room 2026-08-29 23:01:01 +02:00
registry.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
roster.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
scheduler.py feat: rewrite the bot so it runs, and gate it like the other repos 2026-08-29 13:05:42 +02:00
schema.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
selftest.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
startup_retry.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
startup.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
store.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
transport_base.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
transport_fake.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
transport_rest.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
trust.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
versioning.py release: 0.1.0 «Hygin» — the statistics release 2026-08-30 20:00:58 +02:00