Microserviço de publicação no X/Twitter, em produção — o braço de postagem do meu stack de conteúdo com IA.
API HTTP + CLI em Python (Flask + Tweepy) com autenticação por header, rate limiting, cooldown anti-flood, agendamento e painel de controle via Telegram. Todas as credenciais via variáveis de ambiente — nada hardcoded (secret scanning + push protection ativos neste repo).
POST /tweet— publica um tweet (com suporte a reply na mesma chamada, evitando quebrar threads por cooldown)POST /thread— publica uma thread completa- Gate de publicação —
POST /tweet/gate/on|off+GET /tweet/gate: liga/desliga postagens sem derrubar o serviço - Rate limit — máximo de posts por hora configurável + cooldown entre posts (estado consultável em
GET /tweet/status) - Modo elevated —
POST /elevated/on|offpara janelas de postagem intensiva controlada - Painel via Telegram — bot com menu inline (status, pendências, aprovações) e notificações de cada post
- Agendamento — fila de posts com horário, persistida em disco
O script usa PEP 723 (dependências inline) — basta uv:
uv run --script xpost-api.pyVariáveis de ambiente obrigatórias: TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, TWITTER_ACCESS_TOKEN, TWITTER_ACCESS_TOKEN_SECRET, XPOST_SECRET_KEY (auth da API), TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID.
Opcionais: X_HANDLE, XPOST_HOST, XPOST_PORT, OPENCLAW_CONFIG, XPOST_GATE_FILE, XPOST_SCHEDULE_FILE.
Toda chamada exige o header X-Auth-Key com o valor de XPOST_SECRET_KEY.
xpost-api.py— o serviço HTTP (single-file, ~1.5k linhas)xpost-cli.py— interface de linha de comando
Roda 24/7 sob PM2, bindado em loopback atrás de consumidores locais (bot de conteúdo + automações). Este repositório espelha a versão em produção.