O Mastodon não inclui um recurso de agendamento integrado em seu cliente web oficial. Muitos usuários empresariais precisam agendar posts para manter uma presença consistente em diferentes fusos horários. Ferramentas de terceiros como Buffer e Hootsuite oferecem agendamento para o Mastodon, mas exigem contas e configuração adicionais. Este artigo explica como usar uma solução gratuita baseada no navegador para agendar posts do Mastodon diretamente da interface web oficial, sem serviços de terceiros.
Principais Conclusões: Agende Posts no Mastodon Sem Ferramentas de Terceiros
- Ferramentas do Desenvolvedor do Navegador (F12 > Console): Execute um trecho de JavaScript para agendar um post em um horário UTC específico.
- Endpoint da API do Mastodon /api/v1/statuses: Aceita um parâmetro scheduled_at no formato ISO 8601 para postagem agendada.
- Formato de timestamp ISO 8601: O formato exigido é YYYY-MM-DDTHH:mm:ss.sssZ (exemplo: 2025-06-15T14:00:00.000Z).
Como o Agendamento do Mastodon Funciona no Cliente Web Oficial
O cliente web oficial do Mastodon não exibe um botão de agendamento no painel de composição. A capacidade de agendamento existe no nível da API. O endpoint /api/v1/statuses aceita um parâmetro opcional scheduled_at. Quando você inclui esse parâmetro com um timestamp futuro, o Mastodon enfileira o post e o publica no horário especificado. O cliente web simplesmente não fornece uma interface de usuário para esse parâmetro.
Para usar esse recurso, você deve enviar uma requisição POST para a API com o parâmetro scheduled_at. A maneira mais fácil de fazer isso pelo navegador é usar o console JavaScript nas ferramentas do desenvolvedor do seu navegador. Esse método funciona em qualquer instância do Mastodon e não requer instalação de extensões ou concessão manual de tokens de API. Sua sessão do navegador já possui um token de autenticação ativo, que o script reutiliza.
Pré-requisitos
Antes de começar, confirme o seguinte:
- Você está logado em sua instância do Mastodon no cliente web oficial.
- Você sabe o horário UTC exato em que deseja que o post seja publicado. O agendamento do Mastodon usa o Tempo Universal Coordenado. Converta seu horário local para UTC antes de prosseguir.
- O conteúdo do seu post está pronto. O script aceita texto simples, hashtags e menções. Anexos e enquetes não são suportados com este método.
Passos para Agendar um Post no Mastodon Usando as Ferramentas do Desenvolvedor do Navegador
- Abra o painel de composição no cliente web do Mastodon
Clique no botão de compor ou pressione N no teclado para abrir o compositor de posts. Digite o texto completo do seu post. Não clique em Publicar ainda. - Abra as ferramentas do desenvolvedor do navegador
Pressione F12 no Windows ou Cmd+Option+I no macOS para abrir as ferramentas do desenvolvedor. Clique na aba Console. Você verá um prompt vazio. - Cole o script de agendamento no console
Copie o seguinte trecho de JavaScript e cole no prompt do console. Pressione Enter para executá-lo.let statusText = document.querySelector('.compose-form__autosuggest-wrapper textarea')?.value;
if (!statusText) { alert('Nenhum texto encontrado na caixa de composição.'); } else {
let scheduledTime = prompt('Digite o timestamp UTC (formato ISO 8601, ex: 2025-06-15T14:00:00.000Z):');
if (scheduledTime) {
fetch('/api/v1/statuses', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ status: statusText, scheduled_at: scheduledTime })
}).then(r => r.json()).then(d => {
if (d.id) { alert('Agendado! ID do post: ' + d.id); } else { alert('Erro: ' + JSON.stringify(d)); }
});
}
} - Digite o horário agendado em UTC
Uma caixa de prompt aparece. Digite o timestamp UTC alvo no formato ISO 8601. Exemplo:2025-06-15T14:00:00.000Z. Clique em OK. - Confirme que o post foi agendado
Uma caixa de alerta exibe “Agendado! ID do post: …” se bem-sucedido. Se você vir um erro, verifique o formato do timestamp e certifique-se de que o horário seja pelo menos cinco minutos no futuro. - Verifique o post agendado no Mastodon
Abra sua página de perfil e procure pelo post. Ele não aparecerá imediatamente. Você também pode verificar a API acessandohttps://suainstancia.social/api/v1/scheduled_statusesem uma nova aba enquanto estiver logado. Esse endpoint lista todos os posts agendados.
Problemas Comuns e Limitações ao Agendar Posts
O script de agendamento retorna um erro de autenticação
Esse erro ocorre quando o token da sessão do seu navegador expirou ou você não está logado na mesma instância. Atualize a página, faça login novamente e tente o script novamente. O script usa o cookie de sessão existente. Se você usar uma janela de navegação privada, o token pode ter duração mais curta.
O post é publicado no horário errado
O agendamento do Mastodon usa UTC. Se você digitar seu horário local sem converter para UTC, o post será publicado em um horário diferente. Use uma ferramenta de conversão UTC antes de inserir o timestamp. O formato ISO 8601 deve terminar com Z para indicar UTC. Se você omitir o Z, o Mastodon pode rejeitar a requisição.
Anexos e enquetes não são suportados
O script mostrado acima envia apenas o texto do status. Ele não inclui anexos de mídia, enquetes ou avisos de conteúdo. Para incluir esses itens, você precisaria modificar o corpo JSON para incluir os parâmetros media_ids, poll ou spoiler_text. Isso requer conhecimento mais avançado de JavaScript. Por enquanto, use este método apenas para posts de texto.
Posts agendados não podem ser editados ou excluídos pelo cliente web
Depois que um post é agendado, o cliente web do Mastodon não o exibe na interface de rascunhos ou posts agendados. Para cancelar um post agendado, você deve usar a API. Envie uma requisição DELETE para /api/v1/scheduled_statuses/{id}, onde {id} é o ID do post da confirmação de agendamento. Você também pode usar o mesmo método do console com uma chamada fetch DELETE.
Script das Ferramentas do Desenvolvedor vs Ferramentas de Agendamento de Terceiros
| Item | Script das Ferramentas do Desenvolvedor | Ferramentas de Terceiros (Buffer, Hootsuite) |
|---|---|---|
| Custo | Gratuito | Plano gratuito limitado; planos pagos para múltiplas contas |
| Tempo de configuração | Menos de um minuto | Requer criação de conta e autorização OAuth |
| Suporte a anexos | Não incluído no script básico | Sim, com upload de imagens e vídeos |
| Suporte a enquetes | Não incluído | Depende da ferramenta; algumas suportam enquetes |
| Visibilidade do post agendado | Não visível na interface do cliente web | Visível no painel da ferramenta |
| Suporte a múltiplas contas | Uma conta por sessão do navegador | Sim, gerencie várias contas do Mastodon |
| Confiabilidade | Depende da sessão do navegador e da conexão com a internet | Agendamento no servidor, mais confiável |
Agora você tem um método gratuito para agendar posts do Mastodon diretamente do cliente web oficial usando as ferramentas do desenvolvedor do navegador. Essa abordagem funciona para posts de texto e requer a conversão do horário local para UTC. Para agendamento avançado com anexos ou enquetes, considere uma ferramenta de terceiros. Para visualizar seus posts agendados, adicione aos favoritos o endpoint /api/v1/scheduled_statuses da sua instância. Como próximo passo, teste o script com um post agendado para daqui a cinco minutos para confirmar que o processo funciona na sua instância.