Ferramenta de linha de comandos
O bsbot gere os seus bots e os respetivos handles name.bluesky.bot a
partir de um terminal: as mesmas ações que o painel, para scripts e
para quem vive numa shell. Funciona em macOS e Linux com Node.js 22 ou
superior.
npm install --global @blueskydotbot/cli
bsbot loginO pacote npm chama-se @blueskydotbot/cli e o comando que instala é
bsbot. Para o executar sem instalar: npx @blueskydotbot/cli login
(ou pnpm dlx @blueskydotbot/cli, yarn dlx @blueskydotbot/cli,
bunx @blueskydotbot/cli).
O pacote ainda não está no npm. Até lá, execute-o a partir de uma cópia do
projeto: node packages/cli/src/bin.ts <command> (Node.js 24).
Entrar
bsbot login abre o bluesky.bot no seu navegador. Entre com o Bluesky como
habitualmente (nenhuma palavra-passe passa alguma vez pelo terminal), confirme
o nome da máquina que a página mostra e escolha Autorizar. O navegador
devolve um código de utilização única à CLI na sua própria máquina, e a CLI
guarda o seu token.
- O token dura 30 dias. Depois, execute
loginnovamente. - Fica guardado em
~/.config/bsbot/credentials.json(ou$XDG_CONFIG_HOME/bsbot/), legível apenas por si. Nunca é mostrado, nem mesmo com--json. - Só pode gerir os handles dos seus bots. Não pode publicar, seguir, ler a sua conta do Bluesky, alterar as suas definições nem eliminar a sua conta.
--name <label>dá nome à máquina nas suas definições (por predefinição, o nome do anfitrião), por exemplobsbot login --name "CI".- Numa máquina sem navegador, acrescente
--no-browsere abra noutro lado a ligação apresentada; o navegador tem de conseguir chegar à máquina da CLI, por exemplo através dessh -L.
Para parar: bsbot logout revoga o token. Também pode revogar qualquer
máquina em Definições → Acesso CLI no painel, e Terminar sessão em todo
o lado revoga todos os tokens de uma vez.
Comandos
| Comando | O que faz |
|---|---|
whoami | A conta com que tem sessão iniciada, e quando o token expira |
bots | Os seus bots, o respetivo handle e se está ativo |
check <name> | Se <name>.bluesky.bot está livre (sem sessão) |
claim <bot> <name> | Reivindica <name>.bluesky.bot para um bot e aplica-o |
switch <bot> | Pede novamente ao servidor do bot que use o seu handle |
verify <bot> | Verifica que o handle está ativo no Bluesky |
release <bot> | Liberta o handle; pede confirmação, ou acrescente --yes |
directory | Explora o diretório público: --q, --category, --verified, --limit, --cursor |
<bot> é o DID de um bot, o seu handle, o handle anterior (antes de ter um
.bluesky.bot), ou apenas o nome: weather para weather.bluesky.bot. Os
bots novos são adicionados a partir do painel: é preciso entrar
na própria conta do bot.
bsbot check weather
bsbot claim weather.bsky.social weather
bsbot verify weatherAs regras são as do painel: nomes de 3 a 30 caracteres, nomes reservados, um curto período de carência nos handles libertados e o mesmo limite de mudanças de handle por hora, partilhado entre o painel e a CLI.
Scripts
Todos os comandos aceitam --json: a resposta da API no stdout,
e {"error": {"code", "message"}} no stderr quando falham. O código de saída
é 0 em caso de sucesso, 1 em caso de erro e 2 em caso de utilização
incorreta.
bsbot bots --json | jq -r '.bots[] | select(.verifiedAt == null) | .did'Por baixo, a CLI chama as rotas /me/* da API com o seu token
(Authorization: Bearer). Estão listadas na referência da API.