0Home Page test forums FABRICATION MODS TUTO dicter un texte et envoi par mail a vos amis

This topic contains 19 replies, has 3 voices, and was last updated by  cholet 2 years, 8 months ago.

  • Author
    Posts
  • #8086

    lecagnois
    Participant

    TUTO DICTER UN MAIL et envoyer le mail

    Voici un petit bout de code pour envoyer un mail a vos amis préférés.
    Il faudra créer la liste de vos amis dans le code.

    Pour commencer nous allons ajouter les bibliothèques pour l’envoi de mail .

    Si vous utilisez le pack de Anthony et Gael
    il faudra modifier le fichier :
    …/InmoovScript/system/Import_Librairie.py

    Editer le fichier avec NotePAD++ et

    ajouter cela en fin du fichier

    Ensuite ajouter ce code dans votre fichier xxxxx.py
    que vous avez mis dans le répertoire :

    …/InmoovScript/inmoovCustom/

    Pour finir voici le fichier AIML à mettre dans le répertoire
    …../InmoovScript/inmoovVocal/bots/fr/aiml/

    • This topic was modified 2 years, 11 months ago by  lecagnois.
    • This topic was modified 2 years, 11 months ago by  lecagnois.
    Attachments:
    You must be logged in to view attached files.
  • #8091

    laurent
    Participant

    BONJOUR, Lecagnois merci pour ce jolie tuto, très détaillé, juste quelques petites questions :

    1- la liste d’amis, a rajouter dans le fichier Import_Librairie.py , a qu’elle endroit (a partir de qu’elle ligne je les rajoute) peut tu me donner également un exemple de comment Ecrire cette ligne stp

    merci

  • #8093

    lecagnois
    Participant

    hello
    dans le fichier import_librairie ce sont les bibliothèques a ajouter pas tes amis.
    En python ( comme dans beaucoup de langage) il faut ajouter des bibliothèques (ce sont souvent de programme écris en C) il servent a utiliser des fonctions dans ton programme.

    exemple :

    import smtp sers pour dialoguer avec le serveur smtp (send mail transfer ptotocol)
    etc ………

    Pour la liste des amis je suis resté simple (vu que j ai pas beaucoup d’amis mdr)
    on aurais pu utiliser une base de données.

    La j ai utilisé une sorte de tableaux de variable python .
    c’est la ligne dico = {“toto”:”toto@orange.fr”,”tata”:”tata@orange.fr”}
    ATTENTION SUR LE SITE INMOOV L AFFICHAGE EST MAUVAIS VOILA POURQUOI JE JOINT UN FICHIER DOC
    Il remplace les guillements par ca "

    Donc pour tes amis il suffit de remplace TOTO par un amis avec après son adresse mail
    en respectant toutes la syntaxe

  • #8094

    laurent
    Participant

    Ok je vais essayer, dernière question le fichier xxxxx.py qui n’existe pas dans mon répertoire …/InmoovScript/inmoovCustom/, je le crée ? je peux faire un copier d’un fichier.py, changer sont nom de xxx.py en mail.py par exemple et tous coller dedans ?

  • #8095

    lecagnois
    Participant

    le plus simple avec l’éditeur de texte nodepad++ tu créer un nouveau fichier que tu appel comme tu veux , moi j’en ai créer un seul ou je met tous mes programmes si tu veux je te le met en pieces jointe .

    Après tu l’enregistre au bon endroit

    Il faudra pas oublier de dire a MRL de le lancer pour ca
    Tu modifie le fichier Inmoov_custom.py

    c’est la nouvelle structure MRL de GAEL et Anthony
    que je trouve assez pratique et ordonné .

    Tu devrais lire les tutos python sur internet ou acheter un livre pour débuter en programmation , tu verra c’est passionnant , la seule limite c’est ton imagination.

    • This reply was modified 2 years, 11 months ago by  lecagnois.
  • #8097

    laurent
    Participant

    Merci beaucoup, je vais essayer, tu sait pour les livre sur les langage, cela va peux être te paraître hallucinant, je suis automaticien en industrie, et je programme des automates divers langage les doigt dans le nez, mais la en python j’y arrive pas, c’est fou, et crois moi j’y passe des heures, enfaîte, ce site est génial , le boulot de gael est génial , il y a beaucoup de gent génial ici, la seul chose que je trouve,un peu raide c’est qu’il est pas donner a tous le monde de passer des heure et des heures a chercher pourquoi ceci pourquoi cela, est sans poser aucun jugement , a mon sens il serait sympa qu’il y est un peu plus de réponse direct et clair a certaine question demander, souvent je li en réponse des chose qui parle au initié, ou des (piste) tu sait pour nous aussi c’est pénible de quémander pour essayer de comprendre, ont est conscient que vous avez du répéter cela des dizaine de fois, mais je reste persuader qu’il manque une partie pédagogique sur ce projet au niveau de la programmation et utilisation MRL , est servi pour les non initié, toute la partie impression, assemblage, est magnifiquement faite, tous est limpide, après quand ont a pas ces notion de python, et programmation ça devient vite flippant et démotivant , il serait d’ailleurs sympa de savoir si d’autre ont ce ressentie, sinon je doit absolument me remettre en question 😉

  • #8098

    laurent
    Participant

    Sorry, je la refait car je ne me relie pas et la les fautes c’est simplement pas possible 😉

    Merci beaucoup, je vais essayer, tu sais pour les livres sur les langages, cela va peut-être te paraître hallucinant, je suis automaticien en industrie, et je programme des automates, divers langage les doigts dans le nez, mais là en python j’y arrive pas, c’est fou, et crois- moi j’y passe des heures, enfaîte, ce site est génial, le boulot de gael est génial, il y a beaucoup de gent génial ici, la seule chose que je trouve, un peu raide, c’est qu’il n’est pas donné à tour de passer dès heure, et des heures à chercher pourquoi ceci pourquoi cela; Et sans poser aucun jugement, à mon sens il serait sympa qu’il y ait un peu plus de réponse directe et claire à certaines questions poser, souvent je lis en réponse des choses qui parlent aux initiés, ou des (piste) tu sais pour nous aussi c’est pénible de quémander pour essayer de comprendre, on est conscient que vous avez dû répéter cela des dizaines de fois, mais je reste persuadé qu’il manque une partie pédagogique sur ce proje,t au niveau de la programmation et utilisation MRL, est services de MRL? pour les non initiés, toute la partie impression, assemblage, est magnifiquement faite, tout est limpide; après quand ont à pas ces notions de python, et programmation ça devient vite flippant et démotivant, il serait d’ailleurs sympa de savoir si d’autres ont ce ressentie, sinon je dois absolument me remettre en question 😉

  • #8099

    lecagnois
    Participant

    Hello Laurent
    Tu sais moi je suis pas informaticien .
    Je suis autodidacte a chaque fois que je m’attaque a un langage j’achète un bouquin le plus simple possible et je progresse petit à petit .
    pour PYTHON j’ai acheté Apprendre à programmer avec PYTHON 3 avec 60 pages exercices et corrigé.
    de chez EYROLLES .
    Bon moi je suis à la retraite donc j’ai du temps, pour avancé il faut beaucoup de temps .
    Je suis en rien à l origine de MRL et je t avoue que je patauge autant que toi
    Souvent Anthony m’a aidé pour comprendre tout ça , qui reste assez compliqué c’est vrai.
    Faut dire que la source c’est du JAVA et la faut bien toucher sa bille .
    Ne te décourage pas tu va voir lorsque tu aura créer ton premier petit script PYTHON tu sera heureux comme tout . Commence par un truc trés simple .

    J’avais commencé les leçons dans se sens , mais ce n’est peut-etre pas assez pédagogique
    j’ai essayé de partagé ce que j’avais compris.

  • #8100

    laurent
    Participant

    ho je ne te jette pas la pierre, je pose juste ce qui me gratter la tète 😉 et oui le temps c’est le nerf de la guerre ! Lol c’est des coups, à finir seul ça tellement c’est prenant, et passionnant, et oui Anthony est formidable, moi aussi il m’a permis d’avancer énormément, un mec vraiment bien 😉 quant à la leçon, eh bien elles sont nécessaires, et merci de les avoir faite ça va aider beaucoup de monde je pense, moi personnellement j’ai bloqué à la 4, car je me sens plus, à l’aise à décortiquer le MRL, existant plutôt que des exercices, tu vois genre prendre le mrl de gael est Anthony, et expliquer à quoi sert chaque répertoire, et après expliquer comment marche chaque fichier, les fichiers qu’on ne modifie jamais, les fichiers qu’ont modifié pour ceci, pour cela, avec de petits tests à faire sur la version en service, enfin c’est mon avis, en tout cas merci pour cet échange 😉

  • #8102

    laurent
    Participant

    Alors j’ai essayer en respectant scrupuleusement la procédure, visiblement a la fin du démarrage de MRL il me met une erreur en rouge en bas de MRL le message dit voir fichier joint

    et une fois tous ce beau monde installer je lui dit quoi pour qu’il envoi un mail ?

    Attachments:
    You must be logged in to view attached files.
  • #8106

    lecagnois
    Participant

    Ben la tu a une erreur de syntax dans ton fichier

    Pour envoyer le mail , tu dis a ton robot “envoyer un mail a (le nom de ton ami)”
    après il vérifie si ton ami existe (dans le tableau dico) si il existe il retourne voir dans le fichier xml et il te dit Je t’écoute quel message court veux-tu envoyer

    Tu peux si tu veux changer les phares vu que c’est toi qui le programme

  • #8107

    lecagnois
    Participant

    Pour le message erreur tu clique dans le service python de mrl en bas sur l’onglet PYTHON tu aura l’erreur java en entier ou regarde dans la fenêtre dos tu vois aussi ou est l’erreur .
    exemple
    un guillement une virgule deux point manquant une mauvaise tabulation enfin tout peux faire chier le programmeur (lol)

  • #8108

    lecagnois
    Participant

    d’apres la photo tu a une erreur dans ton fichier Inmoov_custom.py

    voici a quoi ressemble le mien
    # — coding: utf-8 —
    # #############################################################################
    # YOUR INMOOV CUSTOM
    # Here you can add your own commands to play and test with inmoov
    # If you udpate the whole script, don’t worry, those commands are safe
    # ##############################################################################

    #sample
    # play a neopixel animation while the robot speaking
    #PlayNeopixelAnimation(“Flash Random”, 255, 255, 255, 1)
    # talk something
    #talkBlocking(“she’s a replicant, isn’t she?”)
    # stop neopixel
    #StopNeopixelAnimation()
    execfile(RuningFolder+’inmoovCustom/gestes.py’)

    la dernière ligne execute le programme gestes.py tu dois remplacer par le nom de ton script

    sinon envoie ton fichier

  • #8109

    laurent
    Participant

    alors après la modif que tu ma donner j’ai de nouveau une erreur, je t’envoi un imprime écran du mrl, et je joint mon fichier

    Attachments:
    You must be logged in to view attached files.
  • #8111

    laurent
    Participant

    # — coding: utf-8 —
    # #############################################################################
    # YOUR INMOOV CUSTOM
    # Here you can add your own commands to play and test with inmoov
    # If you udpate the whole script, don’t worry, those commands are safe
    # ##############################################################################

    #sample
    # play a neopixel animation while the robot speaking
    #PlayNeopixelAnimation(“Flash Random”, 255, 255, 255, 1)
    # talk something
    #talkBlocking(“she’s a replicant, isn’t she?”)
    # stop neopixel
    #StopNeopixelAnimation()

    execfile(RuningFolder+’inmoovCustom/Inmoov_custom.py’)

    <?xml version=”1.0″ encoding=”UTF-8″?>
    <aiml>
    <category>
    <pattern>ENVOYER UN MAIL À *</pattern>
    <template>
    <think><set name=”destinataire”><star/></set></think>
    <oob>
    <mrl>
    <service>python</service>
    <method>exec</method>
    <param>mailsend(“<get name=”destinataire”/>”)</param>
    </mrl>
    </oob>
    </template>
    </category>
    <category><pattern>SYSMAIL</pattern>
    <template>
    <think><set name=”message”><star/></set></think>Je t’écoute quel message court veux-tu envoyer </template>
    </category>

    <category><pattern>*</pattern>
    <that># quel message court veux-tu envoyer #</that>
    <template>
    <oob>
    <mrl>
    <service>python</service>
    <method>exec</method>
    <param>envoi( “<star index=”1″/>”)</param>
    </mrl>
    </oob>
    </template>
    </category>

    </aiml>

  • #8112

    laurent
    Participant

    visiblement ce serait dans udapdater/inmoovos-updater.py ligne 74 ou il y aurait un problème je te joint les fichier

    #inmoov os check if there is a new version ( stable or beta )
    def CheckVersion():
    global RobotneedUpdate
    global target
    global branch
    global RobotIsStarted

    branch=”master”
    if BetaVersion:branch=”develop”

    #download remote information
    urlretrieve(“https://raw.githubusercontent.com/MyRobotLab/inmoov/”+branch+”/InmoovScript/system/updater/updater.ini”, RuningFolder+’system/updater/updater.ini’)
    remoteVersion=””
    #read downloaded file
    BasicConfig = ConfigParser.ConfigParser(allow_no_value = True)
    BasicConfig.read(RuningFolder+’system/updater/updater.ini’)
    remoteVersion=BasicConfig.get(‘updater’, ‘version’)
    targetstable=BasicConfig.get(‘updater’, ‘targetstable’)
    targetbeta=BasicConfig.get(‘updater’, ‘targetbeta’)
    #read myrobotlab.jar url
    target=targetstable
    if BetaVersion:target=targetbeta

    if str(remoteVersion) == str(version) or str(remoteVersion)==”:
    return False
    else:
    print “need update”
    RobotneedUpdate=1
    RobotIsStarted=1
    return True

    talkDownloadPercent = Runtime.start(“talkDownloadPercent”,”Clock”)
    talkDownloadPercent.setInterval(5000)
    global percentDownload
    percentDownload=0

    def talkDownloadPercentFunc(timedata):
    chatBot.getResponse(str(percentDownload) + ” SYSTEM_PERCENT”)

    talkDownloadPercent.addListener(“pulse”, python.name, “talkDownloadPercentFunc”)

    def dlProgress(count, blockSize, totalSize):
    global percentDownload
    percentDownload=(int(count * blockSize * 100 / totalSize))

    def updateMe():

    global RobotneedUpdate
    if RobotneedUpdate:
    RobotneedUpdate=0
    print “start”
    PlayNeopixelAnimation(“Theater Chase”, 0, 0, 255, 5)
    r=ImageDisplay.displayFullScreen(RuningFolder+’system/pictures/update_1024-600.jpg’,1)
    sleep(2)
    talkDownloadPercent.startClock()
    urlretrieve(target, RuningFolder+’system/updater/myrobotlab-‘+branch+”.jar”,reporthook=dlProgress)
    sleep(2)
    talkDownloadPercent.stopClock()
    chatBot.getResponse(“SYSTEM_DOWNLOAD_OK”)
    StopNeopixelAnimation()
    sleep(3)
    runtime.exit()

    def dontUpdateMe():

    if RobotneedUpdate:
    global RobotneedUpdate
    RobotneedUpdate=0
    sleep(2)
    sleepModeWakeUp()

    #hard coded forced patch v 0.3.5

    def RemoveFile(file):
    try:
    os.remove(file)
    except:
    pass

    RemoveFile(RuningFolder+”inmoovGestures/COMPLETE_GESTURES/lookinmiddle.py”)
    RemoveFile(RuningFolder+”inmoovGestures/COMPLETE_GESTURES/lookleftside.py”)
    RemoveFile(RuningFolder+”inmoovGestures/COMPLETE_GESTURES/lookrightside.py”)
    RemoveFile(RuningFolder+”inmoovGestures/COMPLETE_GESTURES/googleMicAutostart.py”)
    RemoveFile(RuningFolder+”inmoovGestures/COMPLETE_GESTURES/trackPoint.py”)
    RemoveFile(RuningFolder+”inmoovGestures/COMPLETE_GESTURES/trackHumans.py”)

    #clean up .default.config
    for root, subdirs, files in os.walk(RuningFolder):
    for name in files:
    if name.split(“.”)[-1] == “default”:
    os.remove(os.path.join(root, name))
    if DEBUG==1:print “removed .default : “,os.path.join(root, name)

  • #8113

    lecagnois
    Participant

    J y comprends rien tu a mis le XML dans ton fichier Inmoov_custom.py ?

    cela peut pas marcher ?

    ce fichier est fait pour mettre ton script python
    le langage AIML soit etre placé dans le répertoire …../InmoovScript/inmoovVocal/bots/fr/aiml/
    prévu a cet effet .Tu peux créer autant de AIML que tu veux moi j’en ai créer un que j’ai appeler JPM.AIML ou je mets toutes les commandes pour pas modifier le travail de ANTHONY

    Dans mon exemple le fichier Inmoov_custom.py lance un autre script que j’ai appeler gestes.py
    execfile(RuningFolder+’inmoovCustom/gestes.py’)

    Le fichier inmoovos_updater.py fait parti de la derniere version de anthony pour mise a jour automatique . Je ne l’ai pas encore installer je travaille avec la version anterieur . mais cela ne change rien pour le moment.

    Contact moi par mail ce sera plus simple autrement on va remplir le forum (lol)

  • #8982

    cholet
    Participant

    Bonjour,

    Je tente d’envoyer un mail via le stmp.gmail.com, mais je reçois une erreur sur server.starttls() a l’init de myrobotlab.

    Voici la parti ou sa crash :

  • #8990

    lecagnois
    Participant

    si tu utilse gmail
    il faut autorisé ton compte pour smtp non signé

  • #9010

    cholet
    Participant

    ok je te remercie je vais tester de cette manière.

You must be logged in to reply to this topic.