Repository navigation
Releases: Gum97/dsh-telegram
Release list
v0.2.0 — questions answer in Telegram
Questions raised during a Telegram turn are now answered in Telegram.
The host allows one user-questions provider process-wide and the Web bridge claims it first in a web profile, so a question asked from a Telegram session was answered in the browser while the bot appeared to stop mid-turn.
The channel now installs a router over the incumbent provider: sessions bound to a chat get inline keyboards, every other session reaches the browser exactly as before. Set routeQuestions: false to restore the old behaviour.
This shares a slot the host models as exclusive, so it fails safe at every step — it verifies the field is writable and the incumbent recognisable before touching anything, hands the incumbent every session it cannot resolve, passes that provider's rejections through untouched, and restores it on disposal. A future DSH that makes the field private costs the feature, not the boot.
Also adds the first tests for the inline-keyboard flow itself: 133 tests total.
v0.1.1 — settings registration fix
Fixes a startup race that could silently disable the settings card.
registerSettings read ctx.get('settings') synchronously inside apply, and cordis returns undefined whenever the providing fiber is not active yet. On a composition that starts settings later, the channel lost its settings card and /start could no longer record an owner — with nothing reporting why.
It now registers from ctx.inject(['settings'], ...), matching every first-party plugin. settings deliberately stays out of the plugin's own inject list so a composition without a settings service still runs the channel from its entry config.
112 tests.
v0.1.0 — first release
First published release.
Install:
dsh plugin --profile web add dsh-telegram
- Rich tables and lists via
sendRichMessage, HTML fallback behind it - Images both ways: inbound photos reach the model, outbound files upload
- Questions render as inline keyboards
/model,/preset,/mode,/status,/stop,/compact- First
/startclaims an unclaimed bot and closes the allow-list - Settings card with token input; Vietnamese or English
Verified against a live bot on DSH 0.1.0-rc.7. 111 tests.