Added
/startcommand — always answers, even before RBAC has whitelisted the user/chat, and is registered in Telegram's/command menu.- Live RBAC via Valkey — optional
[rbac] valkey_url/DAPHNE_VALKEY_URL; refreshes every 30s so role edits don't require a redeploy. Fully inert when unset. /grant,/revoke,/rolesadmin commands — hardcoded to theadminrole check, reply-to-target or no-reply-for-current-chat, deliberately excluded from the public command menu.- Update/handler logging — every update is logged at the earliest dispatch point, and every handler logs start/end/failure with elapsed time.
Changed
- RBAC role restructure — replaced the single broad
standard_grouprole with a graduated ladder:default(convert_link only) →standard(+ preview/metadata/audio) →power_user(+ download_video). - Richer captions — long tag lists (Pixiv especially) collapse into a tap-to-expand
<blockquote expandable>. - Richer downloads — yt-dlp passes now embed metadata/thumbnails/subtitles; audio extraction embeds metadata/cover art.
- Failure reaction — switched 👎 to 😢.
Full changelog: CHANGELOG.md