Postando no X (Twitter) via CLI Versão 2025

Adeus curl simples! Em 2025, para postar no X via linha de comando, você precisa seguir o protocolo OAuth 1.0a / 2.0. Não basta mais o usuário e senha; agora precisamos de tokens de acesso.

Importante: Para usar este método, você deve criar uma conta em developer.x.com e criar um "App" para obter suas chaves (API Key, API Secret, Access Token e Access Secret).

1. A Ferramenta: Twurl

Como o curl manual ficou complexo demais para gerenciar os cabeçalhos de autenticação, a comunidade usa o Twurl. Ele funciona como um curl, mas já lida com o OAuth do X.

Instalação no Slackware (requer Ruby/Rubygems)
# gem install twurl

2. Autorizando seu Perfil

Com suas chaves de desenvolvedor em mãos, você precisa "vincular" seu terminal à sua conta:

# twurl authorize --consumer-key "SUA_API_KEY" --consumer-secret "SEU_API_SECRET"

O comando vai gerar um link. Abra no navegador, autorize e cole o PIN de volta no terminal.

3. O Novo Comando de Postagem

Agora sim, para postar um "Post" (antigo tweet) usando a API v2 do X:

# twurl -X POST -H "Content-Type: application/json" \
  "/2/tweets" -d '{"text": "Postando direto do meu Slackware em 2025 via CLI!"}'

4. Script Moderno (Bash Wrapper)

Para facilitar, podemos criar um script que automatiza a chamada:

postar_x.sh
#!/bin/bash
MSG="$*"
if [ -z "$MSG" ]; then
    echo "Uso: $0 Digite sua mensagem aqui"
    exit 1
fi

# Chamada via API v2 usando Twurl
twurl -X POST -H "Content-Type: application/json" \
      "/2/tweets" -d "{\"text\": \"$MSG\"}"

if [ $? -eq 0 ]; then
    echo "Sucesso!"
else
    echo "Erro ao postar. Verifique os tokens."
fi
Por que mudou tanto?
O X agora quer controlar quem posta via automação para evitar bots e SPAM. O método antigo permitia que qualquer script malicioso roubasse senhas. O OAuth garante que o script só tenha permissão para o que você autorizar.