myna 0.14.0: a login you can script, and forums that take turns
Connecting a bulletin board to myna used to be three questions in a row. Board URL. Default forum. Name this device. Every one of them was something I knew before I ran the command, and none of them could be answered from a script.
0.14.0 fixes that for every network, not just boards. Anything a login would ask for can be passed on the command line, either positionally in the order the network declares its fields, or by name:
myna login tsbb https://bbs.hqtui.com/ --forum app-showcase
myna login bluesky chovyfu.bsky.social <app-password>
What you pass is not asked for again. What you leave out is still prompted for, as long as there is a terminal to prompt in. When there is not, a missing required field is now an error naming the flag that would have filled it, instead of a prompt hanging in a pipeline with nobody there to answer it.
A board is not one destination
The second half is about where a post actually lands.
A bulletin board is a set of forums. The one I use, bbs.hqtui.com, has nine. Pinning an account to a single default forum meant every announcement went to the same place, which is the right place for roughly none of them.
So tsbb login now reads the board's forum list, which is public and needs no token, and takes as many slugs as you want:
myna login tsbb https://bbs.hqtui.com/ --forum app-showcase,announcements,news
It checks those slugs against the board before it starts the device flow. A typo used to cost you an approval in a browser and then a failed post some weeks later. Now it costs you a retyped word:
$ myna login tsbb https://bbs.hqtui.com/ --forum app-shocase
myna: bbs.hqtui.com has no forum app-shocase. It has: community, announcements,
general, introductions, news, app-showcase, support, help, bugs
Posts then take turns. Each one goes to the next forum in the list and moves a cursor along, so a run of announcements spreads out instead of stacking up in one place. Posting the same thing into every forum at once is what a board reads as spam, and myna is not going to do that on your behalf. --forum <slug> is still there when one post belongs somewhere specific, and using it does not disturb the rotation.
Why bother
Because the last mile of shipping something is telling people, and every manual prompt in that path is a step that gets skipped at 1am. A login that takes arguments is a login that fits in the same script as the release. A rotation is one fewer decision per post.
Get it
curl -fsSL https://mynaposter.com/install.sh | sh
Binaries for Linux, macOS and Windows are on the 0.14.0 release. myna is a terminal social media manager: one command posts to X, Bluesky, Mastodon, LinkedIn, Reddit, dev.to, your own blog, and now a tsbb board that knows which forum it is talking to.
Top comments (0)