Les actions d’API privée iMessage d’OpenClaw
Les douze barrières d’actions, les tapbacks, les réponses en fil, les effets, les modifications et annulations, les envois de fichiers, la gestion des groupes, les sondages natifs et les votes, les identifiants de messages courts et complets, la détection paresseuse des capacités, les accusés de lecture et la frappe, les tapbacks entrants, les sondages et réactions d’approbation, et les réactions numérotées aux questions
Une fois le pont imsg injecté dans Messages, un agent OpenClaw cesse d’être un bot textuel : il peut envoyer un tapback, répondre en fil, envoyer avec des confettis, modifier son propre message, lancer un sondage natif et gérer un groupe. Chacune de ces choses est une action de l’outil de message avec sa propre barrière. Voici la liste des actions, les règles d’identifiants, la logique de détection, et les deux endroits où les réactions font un vrai travail : les approbations et les questions.
Les actions
- Quand la commande de lancement tourne et que la sonde d’état rapporte l’API privée disponible, l’outil de message gagne des actions natives iMessage, toutes activées par défaut et désactivables une à une sous le bloc des actions du canal : réactions, modification, annulation, réponse, envoi avec effet, envoi de pièce jointe, renommage du groupe, icône du groupe, ajout et retrait de participant, départ du groupe, et sondages.
- La réaction ajoute ou retire des tapbacks par identifiant de message et emoji avec les six sortes prises en charge, amour, j’aime, je n’aime pas, rire, insistance et question, et retirer sans emoji efface le tapback en place ; la réponse envoie une réponse en fil à un message existant adressé par GUID de discussion, identifiant de discussion, identifiant textuel ou handle, une réponse locale avec pièce jointe exigeant une version d’imsg dont l’envoi riche accepte un fichier et un imsg distant passant par JSON-RPC pour des réponses avec pièce jointe sur le message entier ou la première partie seulement ; l’envoi avec effet prend un effet par nom parmi slam, fort, doux, encre invisible, confettis, lasers, feux d’artifice, ballon, cœur, écho, joyeux anniversaire, étoile filante, étincelles et projecteur.
- La modification et l’annulation fonctionnent sur les versions de macOS et d’API privée prises en charge et seulement sur les messages que la passerelle a elle-même envoyés ; l’envoi de fichier envoie des médias depuis un tampon base64 ou un chemin hydraté avec un nom de fichier et un indicateur vocal facultatif, l’ancien nom d’envoi de pièce jointe servant d’alias ; et les actions de groupe, renommer, icône, ajouter, retirer et quitter, s’appliquent quand la cible courante est un groupe et, parce qu’elles modifient l’identité Messages de l’hôte, exigent un expéditeur propriétaire ou un client de passerelle administrateur.
- Le sondage crée un sondage natif Apple Messages avec une question et de deux à douze options, vu et voté nativement sur les versions les plus récentes d’iOS, d’iPadOS et de macOS et affiché comme un texte de sondage envoyé sur les plus anciennes, en exigeant le sélecteur de charge de sondage ; le vote vote par identifiant de sondage ou de message avec exactement un indice, un identifiant ou un texte d’option, exige le sélecteur de vote et la méthode RPC de vote, et l’imsg distant n’accepte que l’identifiant d’option ; les sondages entrants acceptés sont rendus pour l’agent avec la question, les options, les décomptes et l’identifiant du message de sondage, et les comptes distants ajoutent chaque identifiant d’option stable.
Seuls les messages que la passerelle a elle-même envoyés peuvent être modifiés.
Identifiants, détection, accusés, tapbacks
Le contexte entrant porte à la fois des identifiants de messages courts et des GUID complets quand ils sont disponibles : les identifiants courts sont limités au cache de réponses récent appuyé sur SQLite et vérifiés contre la discussion courante avant usage, un identifiant court expiré se réessaie avec son GUID complet en visant la conversation qui l’a fourni, les identifiants complets ne contournent pas la liaison à la conversation ou au compte, si bien qu’un identifiant d’une autre discussion doit être remplacé par un de la cible courante, et les appels délégués distants peuvent rejeter des identifiants complets périmés quand la preuve de conversation courante manque. OpenClaw ne cache les actions d’API privée que lorsque l’état de sonde en cache dit le pont indisponible ; avec un état inconnu, les actions restent visibles et la distribution sonde paresseusement, pour que la première action réussisse juste après la commande de lancement sans rafraîchissement manuel. Quand le pont est actif, les discussions entrantes acceptées sont marquées lues et les discussions directes montrent une bulle de frappe dès que le tour est accepté, le marquage de lecture se désactive par la clé d’accusés de lecture, et les anciennes versions d’imsg antérieures à la liste de capacités par méthode désactivent la frappe et la lecture en silence avec un avertissement unique par redémarrage. Les tapbacks entrants sont routés en événements système plutôt qu’en texte de message pour qu’un tapback d’utilisateur ne déclenche jamais de boucle de réponse, avec le mode de notification own par défaut pour les réactions aux messages du bot, all pour tous les tapbacks des expéditeurs autorisés, off pour les ignorer, et des surcharges par compte.
Approbations et questions
- Quand les approbations d’exécution ou d’extension sont activées et qu’une demande est routée nativement vers iMessage, l’invite arrive avec des contrôles natifs : sur un pont sondé avec prise en charge des sondages et de la suppression de légende, elle inclut un sondage Messages avec chaque décision autorisée, les anciennes versions sans envoi de sondage sans commentaire restent sur des contrôles textuels, et quand les sondages sont désactivés, non pris en charge, en échec ou que moins de deux décisions existent, l’invite garde les contrôles textuels et par tapback, où un j’aime correspond à autoriser une fois, un je n’aime pas à refuser, et les lignes de commande d’approbation incluent toujours autoriser quand c’est permis.
- Les votes et les réactions exigent que le handle de l’utilisateur agissant soit un approbateur explicite lu dans la liste du canal ou du compte sous forme de numéro E.164 ou d’e-mail d’identifiant Apple, les cibles de discussion ne sont pas des entrées d’approbateur valides, le joker est honoré mais laisse n’importe qui approuver, une liste vide désactive entièrement les raccourcis, et ces raccourcis contournent le mode de notification des réactions, la politique de messages privés et la liste des expéditeurs de groupe parce que la liste explicite d’approbateurs est la seule barrière des approbations ; les contrôles de sondage natifs restent limités à la session d’origine ou à un message privé d’approbateur tandis que les cibles de transfert explicites gardent le message transféré, la commande d’approbation suit la même liste avec un refus explicite pour les expéditeurs de la liste des messages privés absents de la liste d’approbateurs, et avec une liste d’approbateurs vide le repli dans la même discussion autorise quiconque la liste des messages privés permet.
- Les liaisons vivent en mémoire et dans le magasin persistant à clés avec une durée de vie alignée sur l’expiration de l’approbation, les invites en attente sont interrogées pour les tapbacks, un tapotement sur un ancien contrôle après un redémarrage est reconnu et absorbé tandis que la commande en cours est terminée et exige une nouvelle demande, le propre tapback de l’opérateur marqué de moi résout une approbation quand ce handle est approbateur, les invites ne sont routées dans un groupe qu’avec des approbateurs explicites configurés, et les tapbacks textuels hérités ne peuvent pas résoudre d’approbation faute de GUID ; à part, une invite de question à choix unique avec une à quatre options reçoit des choix par emoji numéroté, répondus en réagissant avec le numéro correspondant sur le message du bot, reconnus même quand les notifications de réactions sont désactivées, tandis que les invites à plusieurs questions, à choix multiples et en texte libre restent en réponse textuelle seule.
OpenClaw sur iMessage est le billet du canal que ces actions prolongent, et L’API privée iMessage d’OpenClaw la façon dont le pont qui les active est mis en marche.
Un tapback comme vote
Laisser un pouce levé approuver une commande semble léger jusqu’à ce qu’on voie la barrière : seuls les handles de la liste explicite d’approbateurs comptent, les cibles de discussion jamais, et une liste vide éteint le raccourci. Les réactions dans OpenClaw couvre la sémantique des réactions entre canaux à laquelle les tapbacks correspondent, et Les approbations d’exécution dans OpenClaw le modèle d’approbation que les sondages résolvent.
Sur Diali
iMessage ne fait pas partie des canaux que Diali connecte aujourd’hui : WhatsApp, Telegram, Discord, Slack, Mattermost, Matrix, SMS et voix. OpenClaw hébergé sur Diali est l’assistant et La sécurité chez Diali décrit la frontière qui s’applique à chaque canal connecté.
- Douze actions, toutes activées par défaut, chacune avec une barrière.
- Les identifiants courts viennent du cache de réponses ; réessayez avec le GUID complet.
- Les tapbacks d’approbation exigent un handle d’approbateur explicite.
Arrêtez de lire, construisez le vôtre
Configurez un agent, choisissez un canal, et faites-le travailler dans l’application que vous gardez déjà ouverte.
