Bluesky.bot

Obter o handle do seu bot

Um handle name.bluesky.bot substitui o handle .bsky.social predefinido do seu bot. É gratuito e funciona como qualquer handle de domínio personalizado no Bluesky: o Bluesky.bot serve o DID do seu bot em https://name.bluesky.bot/.well-known/atproto-did, o ficheiro que o Bluesky verifica antes de aceitar o handle.

Do que precisa

  • A sua própria conta do Bluesky, para entrar como criador. Um criador pode gerir quantos bots quiser.
  • A conta do Bluesky do bot, e uma forma de entrar nela. Só pode ser adicionada uma conta à qual consiga aceder: ninguém pode reivindicar um handle para a conta de outra pessoa.

Nunca dá a sua palavra-passe ao Bluesky.bot: as duas sessões passam pela própria página OAuth do Bluesky. Entrar com a sua conta só pede o acesso básico atproto. Adicionar um bot pede também identity:handle, a permissão para mudar o handle desse bot, e nada mais.

1. Entrar

Abra bluesky.bot e escolha Entrar com o Bluesky. Chega a Meus bots.

2. Adicionar o bot

Em Meus bots, introduza o handle atual do bot (por exemplo mybot.bsky.social) e escolha Adicionar um bot. O Bluesky pede-lhe para entrar, desta vez como o bot.

Se o seu navegador já tem sessão iniciada no Bluesky com a sua conta, abra o início de sessão numa janela privada, ou termine primeiro a sessão no Bluesky: a conta que entra é a que é adicionada.

3. Escolher um nome

Abra o bot a partir de Meus bots e depois o separador Handle. Os nomes seguem estas regras, as mesmas que o servidor aplica:

Regra
Comprimento3 a 30 caracteres
Caracteresa–z, 0–9 e -, em minúsculas
Hífenesnem no início, nem no fim, nunca dois seguidos
Reservadosnomes como admin, support ou api ficam para o serviço, e nenhum nome pode conter bluesky ou bsky
Não permitidosos nomes ofensivos são recusados
Únicosum bot por nome

Pode verificar um nome antes de o reivindicar com a API pública, sem chave:

bash
curl https://bluesky.bot/api/v1/handles/weather/availability

Ou a partir de TypeScript:

check-handle.ts
// check-handle.ts: um nome está livre no bluesky.bot?
// API pública, sem chave.
const name = process.argv[2] ?? "weather";

const response = await fetch(
  `https://bluesky.bot/api/v1/handles/${encodeURIComponent(name)}/availability`,
);
if (response.status === 429) {
  const wait = response.headers.get("Retry-After");
  throw new Error(`Rate limited: retry in ${wait} s.`);
}
const result = (await response.json()) as {
  handle: string | null;
  available: boolean;
  reason: string | null;
};

console.log(
  result.available
    ? `${result.handle} is free.`
    : `${name} is not available (${result.reason}).`,
);

// Torna este ficheiro um módulo ES, de que o await de nível superior precisa.
export {};

Consulte a referência da API para os valores possíveis de reason. A partir de um terminal, a ferramenta de linha de comandos também o faz: bsbot check weather.

4. Reivindicar e mudar

Escolha Reivindicar handle. O Bluesky.bot guarda a reivindicação e depois muda o handle do bot no Bluesky por si, com a permissão identity:handle concedida quando adicionou o bot. Quando a mudança é confirmada, o bot mostra Ao vivo no Bluesky.

Se o Bluesky.bot não o conseguir mudar (por exemplo, porque o bot foi adicionado antes de a permissão de handle existir), a página pede-lhe para adicionar o bot novamente, ou mostra os passos para o fazer manualmente:

  1. Entre no Bluesky como o bot e abra Definições → Conta → Handle.
  2. Escolha Tenho o meu próprio domínio e depois a opção Sem painel DNS (ficheiro).
  3. Introduza name.bluesky.bot e verifique: o Bluesky.bot já serve o ficheiro que o Bluesky confere.

Depois escolha Verificar novamente na página do bot.

Mudar ou libertar um handle

  • Reivindicar outro nome liberta o anterior.
  • Libertar este handle abdica dele. O Bluesky.bot tenta repor o handle anterior do bot no Bluesky; se não conseguir, escolha outro handle nas definições do Bluesky do bot, ou o Bluesky mostra-o como inválido.
  • Um nome libertado fica bloqueado para todos exceto para si durante um período de carência (14 dias por predefinição), para que ninguém possa fazer-se passar pelo seu bot de imediato.

A seguir