iMessage
Use o imsg para ler e enviar iMessages/SMS via o Messages.app do macOS.
Pré-requisitos
- macOS com Messages.app conectado
- Instalação:
brew install steipete/tap/imsg - Conceder Acesso Total ao Disco para o terminal (Ajustes do Sistema → Privacidade → Acesso Total ao Disco)
- Conceder permissão de Automação para o Messages.app quando solicitado
Quando Usar
- O usuário pede para enviar um iMessage ou mensagem de texto
- Ler histórico de conversas do iMessage
- Verificar chats recentes do Messages.app
- Enviar para números de telefone ou Apple IDs
Quando NÃO Usar
- Mensagens do Telegram/Discord/Slack/WhatsApp → use o canal apropriado
- Gerenciamento de conversas em grupo (adicionar/remover membros) → não suportado
- Mensagens em massa/lote → sempre confirme com o usuário primeiro
Referência Rápida
Listar Chats
imsg chats --limit 10 --json
Visualizar Histórico
# Por ID do chat
imsg history --chat-id 1 --limit 20 --json
# Com informações de anexos
imsg history --chat-id 1 --limit 20 --attachments --json
Enviar Mensagens
# Apenas texto
imsg send --to "+14155551212" --text "Olá!"
# Com anexo
imsg send --to "+14155551212" --text "Veja isto" --file /caminho/para/imagem.jpg
# Forçar iMessage ou SMS
imsg send --to "+14155551212" --text "Oi" --service imessage
imsg send --to "+14155551212" --text "Oi" --service sms
Monitorar Novas Mensagens
imsg watch --chat-id 1 --attachments
Opções de Serviço
--service imessage— Forçar iMessage (requer que o destinatário tenha iMessage)--service sms— Forçar SMS (bolha verde)--service auto— Deixar o Messages.app decidir (padrão)
Regras
- Sempre confirme o destinatário e o conteúdo da mensagem antes de enviar
- Nunca envie para números desconhecidos sem aprovação explícita do usuário
- Verifique se os caminhos dos arquivos existem antes de anexar
- Não envie spam — limite sua taxa de envio
Exemplo de Fluxo
Usuário: "Mande uma mensagem para a mamãe dizendo que vou chegar atrasado"
# 1. Encontrar o chat da mamãe
imsg chats --limit 20 --json | jq '.[] | select(.displayName | contains("Mamãe"))'
# 2. Confirmar com o usuário: "Encontrei Mamãe em +1555123456. Enviar 'Vou chegar atrasado' via iMessage?"
# 3. Enviar após confirmação
imsg send --to "+1555123456" --text "Vou chegar atrasado"