O que xurl faz?
Use xurl para trabalhar com a API do X. Comandos abreviados retornam JSON; o modo raw funciona para qualquer endpoint v2.
Autenticação
~/.xurlarmazena tokens; verifique a autenticação comxurl auth statusem vez de lê-lo.- Passe segredos para comandos de autenticação através do prompt, não inline, para que fiquem fora do histórico do shell.
--verboseexibe cabeçalhos de autenticação na saída da ferramenta.
Atalhos comuns
xurl post "Olá mundo!"
xurl reply POST_ID "Legal."
xurl quote POST_ID "Minha opinião"
xurl delete POST_ID
xurl read POST_ID
xurl search "consulta" -n 20
xurl whoami
xurl user @handle
xurl timeline -n 20
xurl mentions -n 10
xurl like POST_ID
xurl unlike POST_ID
xurl repost POST_ID
xurl unrepost POST_ID
xurl bookmark POST_ID
xurl unbookmark POST_ID
xurl followers -n 20
xurl following -n 20
xurl follow @handle
xurl unfollow @handle
xurl block @handle
xurl unblock @handle
xurl mute @handle
xurl unmute @handle
xurl dm @handle "mensagem"
xurl dms -n 10
POST_ID pode ser uma URL completa como https://x.com/<user>/status/<id>.
Mídia
xurl media upload imagem.jpg
xurl media upload clipe.mp4
xurl media status MEDIA_ID
xurl post "legenda" --media-id MEDIA_ID
Vídeos podem precisar de processamento; consulte media status.
Gerenciamento de autenticação/aplicativos
xurl auth status
xurl auth apps list
xurl auth default
xurl auth default NOME_DO_APP NOME_DE_USUARIO
xurl auth apps remove NOME_DO_APP
Por requisição:
xurl --app NOME_DO_APP /2/users/me
xurl --auth oauth2 /2/users/me
API raw
xurl /2/users/me
xurl -X POST /2/tweets -d '{"text":"Olá mundo!"}'
xurl '/2/tweets/search/recent?query=openclaw&max_results=10'
Use o modo raw quando os atalhos não cobrirem o endpoint. Mantenha os payloads em arquivos temporários para JSON complexos.
Saída e erros
- JSON no stdout em caso de sucesso.
- Código de saída diferente de zero em erros de API/autenticação/rede.
- 401/403: problema de autenticação, escopo ou aplicativo; verifique
xurl auth status. - 429: limite de taxa excedido; aguarde.
- Falhas no upload de mídia: verifique o tipo/tamanho do arquivo e o status do processamento da mídia.