iMessage
Utilisez imsg pour lire et envoyer des iMessages/SMS via l'application Messages de macOS.
Prérequis
- macOS avec Messages.app connecté
- Installation :
brew install steipete/tap/imsg - Accordez l'accès complet au disque pour le terminal (Paramètres système → Confidentialité → Accès complet au disque)
- Accordez l'autorisation d'automatisation pour Messages.app lorsque vous y êtes invité
Quand l'utiliser
- L'utilisateur demande d'envoyer un iMessage ou un texto
- Lire l'historique des conversations iMessage
- Vérifier les discussions récentes de Messages.app
- Envoyer vers des numéros de téléphone ou des identifiants Apple
Quand NE PAS l'utiliser
- Messages Telegram/Discord/Slack/WhatsApp → utilisez la passerelle appropriée
- Gestion de conversations de groupe (ajout/suppression de membres) → non pris en charge
- Envoi groupé/massif → confirmez toujours d'abord avec l'utilisateur
Référence rapide
Lister les conversations
imsg chats --limit 10 --json
Voir l'historique
# Par identifiant de conversation
imsg history --chat-id 1 --limit 20 --json
# Avec informations sur les pièces jointes
imsg history --chat-id 1 --limit 20 --attachments --json
Envoyer des messages
# Texte uniquement
imsg send --to "+14155551212" --text "Bonjour !"
# Avec pièce jointe
imsg send --to "+14155551212" --text "Regarde ça" --file /chemin/vers/image.jpg
# Forcer iMessage ou SMS
imsg send --to "+14155551212" --text "Salut" --service imessage
imsg send --to "+14155551212" --text "Salut" --service sms
Surveiller les nouveaux messages
imsg watch --chat-id 1 --attachments
Options de service
--service imessage— Forcer iMessage (nécessite que le destinataire ait iMessage)--service sms— Forcer SMS (bulle verte)--service auto— Laisser Messages.app décider (par défaut)
Règles
- Confirmer toujours le destinataire et le contenu du message avant d'envoyer
- Ne jamais envoyer vers des numéros inconnus sans approbation explicite de l'utilisateur
- Vérifier que les chemins de fichiers existent avant de les joindre
- Ne pas spammer — limitez votre propre rythme
Exemple de flux de travail
Utilisateur : "Envoie un texto à maman pour dire que je serai en retard"
# 1. Trouver la conversation de maman
imsg chats --limit 20 --json | jq '.[] | select(.displayName | contains("Maman"))'
# 2. Confirmer avec l'utilisateur : "Maman trouvée au +1555123456. Envoyer 'Je serai en retard' via iMessage ?"
# 3. Envoyer après confirmation
imsg send --to "+1555123456" --text "Je serai en retard"