IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AppleScript Discussion :

Renvoi les échec de messages de "Messages"


Sujet :

AppleScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Voyant
    Inscrit en
    Février 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Voyant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2023
    Messages : 4
    Par défaut Renvoi les échec de messages de "Messages"
    Bonjour,

    Renvoi les échec de messages de "Messages"

    il y a une erreur a la ligne : set serviceType to account "SMS"

    Erreur : Erreur dans Messages*: Forme de clé invalide.

    ça fait cette erreur au lancement du script

    quelqu'un a une idée ?


    tell application "Messages"
    set failedMessages to {}
    set serviceType to account "SMS"
    set allContacts to {}
    repeat with thisChat in (every chat whose service type of it is serviceType)
    set thisContact to (name of every participant of thisChat as string)
    if thisContact is not in allContacts then
    set end of allContacts to thisContact
    end if
    end repeat
    repeat with thisContact in allContacts
    set lastFailedMessage to missing value
    repeat with thisChat in (every chat whose service type of it is serviceType)
    repeat with thisMessage in messages of thisChat
    if status of thisMessage is not sent and sender of thisMessage contains thisContact
    then
    set lastFailedMessage to thisMessage
    end if
    end repeat
    end repeat
    if lastFailedMessage is not missing value then
    send lastFailedMessage
    end if
    end repeat
    end tell

  2. #2
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour PurRe,
    Je n'ai pas utilisé de scripts avec Messages, mais en regardant le dictionnaire de Messages dans l'éditeur de script, voici ce qui est écrit:

    service n [inh. item] : A service that can be logged in from this system
    elements
    contains buddies, chats; contained by application.
    properties
    id (text, r/o) : A guid identifier for this service.
    name (text) : The name of this service as defined in Account preferences description field
    enabled (boolean) : Is the service enabled?
    connection status (disconnecting/*connected/*connecting/*disconnected, r/o) : The connection status for this account.
    status (away/*available/*offline/*invisible) : My status on this service.
    status message (text) : My status message, visible to other people on this service while I am online.
    service type (AIM/*Bonjour/*Jabber/*iMessage, r/o) : The type of protocol for this service
    responds to
    log out, log in, send.


    D'une part, "service type" demande un espace entre les 2 mots, ce qui ne semble pas être le cas de ton script.
    D'autre part, les valeurs possibles de service type semblent être AIM, Bonjour, Jabber ou iMessages. Je ne vois pas que cette variable puisse être assignée à la valeur d'un "account "SMS".
    Enfin, r/o signifie que service type est "read only", donc que tu ne peux pas assigner une valeur à cette variable, mais simplement la lire

    En cherchant dans le dictionnaire AppleScript de Messages, je ne vois d'ailleurs aucun référence au mot "account", ni à "SMS".
    Cependant, mon système et mon éditeur de script étant assez anciens (El Capitain), il se peut que ces mots clés aient été ajoutés par Apple dans des versions ultérieures, comme la tienne.

    Je te suggère donc de vérifier en premier lieu dans ta version en ouvrant l'Editeur de Script, menu Fenêtre / Bibliothèque et en ouvrant le dictionnaire de Messages.
    Tu pourras ainsi vérifier les valeurs possibles pour service type sur ta version.

    Par ailleurs, sur le net, j'ai trouvé des exemples de script tells que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tell application "Messages" to set targetService to 1st service whose service type = SMS
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tell application "Messages" to set targetService to id of 1st account whose service type = SMS
    1- il n'y a pas de guillemets autour de SMS. Cela sembler indiquer que SMS et pas "SMS" est une valeur valide de service type dans les nouvelles versions de iMessages.
    2- cela confirme que service type ne peut être assigné à une valeur, mais que le targetservice est assigné en cherchant parmi tous les services types, celui que à la valeur SMS.
    3- le second exemple utilise bien la notion d'account, mais, une fois encore, en lecture et pas en écriture.

    j'espère que cela peut t'aider.

    Cordialement

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Voyant
    Inscrit en
    Février 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Voyant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2023
    Messages : 4
    Par défaut
    Bonjour,

    Merci pour ta réponse, je vais voir ça avec Chat GPT, il me semble qu'il va m'écrire un autre scripte en prenant en compte ce que tu viens de dire "en lecture seul"

    Et oui c'est Chat GPT qui m'a écrit ce script, il m'en a écrit d'autre qui fonctionne, tu connais Chat GPT, si non va le tester tu vas être surpris... c'est une IA en Ligne...

    https://chat.openai.com/chat

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Voyant
    Inscrit en
    Février 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Voyant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2023
    Messages : 4
    Par défaut
    Voilà ce que j'ai écrit a Chat GPT :

    "bon je vais demander de l'aide a un programeur, ecrit moi une version du script, donc ce script que via apple script un script qui permet d'envoyer de nouveau les message qui on connu un echec d'envoi, mais seullmeent le dernier message de chaque contacte"

    reponse de Chat GPT : Voici un script AppleScript qui permet d'envoyer de nouveau le dernier message qui a échoué pour chaque contact :

    il m'a envoyez un script est ce que tu peux l'essayer, moi j'y connait rien a Apple Script, et ce script bloque toujour sur le même endroit, erreur de syntaxe et il sélectionne le mot "message"

    merci si tu peux m'aider, voilà le script écrit par Chat GPT :

    tell application "Messages"
    set failedMessages to {}
    set serviceType to service "SMS"
    set allContacts to {}

    repeat with thisChat in (every chat whose service type of it is serviceType)
    set thisContact to (name of every participant of thisChat as string)
    if thisContact is not in allContacts then
    set end of allContacts to thisContact
    end if

    set lastFailedMessage to missing value
    repeat with thisMessage in (every message of thisChat whose status is "send failed" and subject = missing value and error message = missing value)
    if (count of every recipient of thisMessage) = 1 then
    set lastFailedMessage to thisMessage
    end if
    end repeat

    if lastFailedMessage is not missing value then
    set end of failedMessages to lastFailedMessage
    end if
    end repeat

    repeat with thisContact in allContacts
    set lastFailedMessageForContact to missing value
    repeat with theMessage in failedMessages
    if sender of theMessage contains thisContact then
    if lastFailedMessageForContact is missing value or date sent of theMessage > date sent of lastFailedMessageForContact then
    set lastFailedMessageForContact to theMessage
    end if
    end if
    end repeat

    if lastFailedMessageForContact is not missing value then
    send lastFailedMessageForContact
    end if
    end repeat
    end tell

  5. #5
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour,
    Je connais Chat GPT et je ne suis pas surpris qu'il reproduise la même erreur

    Toujours en ligne 4 du nouveau script, figurent les 2 même erreurs, signalée dans mon message précédent.
    Pour le reste, je ne vois pas d'erreur de syntaxe,...ce qui ne veut pas dire que le script fonctionne correctement !

    Quant à la logique, il est curieux de prendre tous les messages non envoyés, pour ensuite faire une boucle pour prendre le dernier de chaque contact.

    C'est curieux...mais très logique d'un point de vue Chat GPT qui ne fait que manipuler des morceaux de savoir trouvés sur le net pour les agréger en une forme apparemment cohérente.
    Garde cependant à l'esprit que Chat GPT ne comprends pas ce qu'il écrit, il ne fait que mettre bout à bout des morceaux écrits ailleurs....même si le marketing de Open AI pousse à nous faire croire à une intelligence !!

    Cordialement

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Voyant
    Inscrit en
    Février 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Voyant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2023
    Messages : 4
    Par défaut
    Bonjour,

    Et alors peut être proposition de script qui fonctionne ? je ne connait pas ce langage et je n'y arrive pas a m'y faire, je développe habituellement sur Xojo...

Discussions similaires

  1. concernant les boites de message
    Par @rkane dans le forum Access
    Réponses: 2
    Dernier message: 16/01/2007, 09h54
  2. [C#] Timer sur les évènements des messages Windows
    Par Nullos Oracle dans le forum Windows Forms
    Réponses: 1
    Dernier message: 19/09/2006, 11h33
  3. Réponses: 18
    Dernier message: 04/07/2006, 21h29
  4. Récupérer les corps des messages et leurs fichiers joints...
    Par Leobaillard dans le forum Composants VCL
    Réponses: 13
    Dernier message: 02/05/2006, 01h24
  5. Rediriger les warnings et messages d'erreur
    Par biggir dans le forum Langage
    Réponses: 3
    Dernier message: 31/03/2005, 15h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo