Outil en ligne de commande
bsbot gère vos bots et leurs handles name.bluesky.bot depuis un terminal :
les mêmes actions que le tableau de bord, pour les scripts et pour
celles et ceux qui vivent dans un shell. Il fonctionne sur macOS et Linux avec
Node.js 22 ou plus récent.
npm install --global @blueskydotbot/cli
bsbot loginLe paquet npm s’appelle @blueskydotbot/cli et la commande qu’il installe
bsbot. Pour le lancer sans l’installer : npx @blueskydotbot/cli login
(ou pnpm dlx @blueskydotbot/cli, yarn dlx @blueskydotbot/cli,
bunx @blueskydotbot/cli).
Le paquet n’est pas encore sur npm. En attendant, lancez-le depuis une copie
du projet : node packages/cli/src/bin.ts <command> (Node.js 24).
Se connecter
bsbot login ouvre bluesky.bot dans votre navigateur. Connectez-vous avec
Bluesky comme d’habitude (aucun mot de passe ne passe jamais par le terminal),
vérifiez le nom de machine affiché par la page, puis choisissez
Autoriser. Le navigateur renvoie un code à usage unique à la CLI, sur
votre propre machine, et la CLI enregistre son jeton.
- Le jeton dure 30 jours. Relancez ensuite
login. - Il est enregistré dans
~/.config/bsbot/credentials.json(ou$XDG_CONFIG_HOME/bsbot/), lisible par vous seul. Il n’est jamais affiché, pas même avec--json. - Il ne peut gérer que les handles de vos bots. Il ne peut ni publier, ni suivre, ni lire votre compte Bluesky, ni changer vos réglages, ni supprimer votre compte.
--name <label>nomme la machine dans vos paramètres (son nom d’hôte par défaut), par exemplebsbot login --name "CI".- Sur une machine sans navigateur, ajoutez
--no-browseret ouvrez ailleurs le lien affiché ; le navigateur doit pouvoir joindre la machine de la CLI, par exemple viassh -L.
Pour arrêter : bsbot logout révoque le jeton. Vous pouvez aussi révoquer
n’importe quelle machine sous Paramètres → Accès CLI dans le tableau de
bord, et Se déconnecter partout révoque tous les jetons d’un coup.
Commandes
| Commande | Ce qu’elle fait |
|---|---|
whoami | Le compte avec lequel vous êtes connecté, et l’expiration du jeton |
bots | Vos bots, leur handle, et s’il est actif |
check <name> | Si <name>.bluesky.bot est libre (sans connexion) |
claim <bot> <name> | Réserve <name>.bluesky.bot pour un bot et le lui applique |
switch <bot> | Redemande au serveur du bot d’utiliser son handle |
verify <bot> | Vérifie que le handle est actif sur Bluesky |
release <bot> | Libère le handle ; demande confirmation, ou ajoutez --yes |
directory | Parcourt l’annuaire public : --q, --category, --verified, --limit, --cursor |
<bot> est le DID d’un bot, son handle, son handle précédent (avant qu’il
n’en ait un en .bluesky.bot), ou simplement le nom : weather pour
weather.bluesky.bot. Les nouveaux bots s’ajoutent depuis le tableau de
bord : il faut se connecter au compte du bot lui-même.
bsbot check weather
bsbot claim weather.bsky.social weather
bsbot verify weatherLes règles sont celles du tableau de bord : des noms de 3 à 30 caractères, des noms réservés, un court délai de grâce sur les handles libérés, et la même limite de changements de handle par heure, partagée entre le tableau de bord et la CLI.
Scripts
Chaque commande accepte --json : la réponse de l’API sur
stdout, et {"error": {"code", "message"}} sur stderr en cas d’échec. Le code
de sortie vaut 0 en cas de succès, 1 en cas d’erreur, 2 en cas de
mauvaise utilisation.
bsbot bots --json | jq -r '.bots[] | select(.verifiedAt == null) | .did'En coulisse, la CLI appelle les routes /me/* de l’API avec son jeton
(Authorization: Bearer). Elles figurent dans la référence de
l’API.