DEV Community

chovy
chovy

Posted on Originally published at dev.profullstack.com

myna 0.14.0: a login you can script, and forums that take turns

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>
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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)