{"files":[{"id":"d20222fa-abdc-4383-85c8-12a6f46c10a9","name":"appsscript","type":"json","source":"{\n  \"timeZone\": \"Europe/Paris\",\n  \"dependencies\": {},\n  \"exceptionLogging\": \"NONE\",\n  \"runtimeVersion\": \"DEPRECATED_ES5\"\n}"},{"id":"8d4361db-cc4b-49a0-8e6e-5598ad79dd8e","name":"Code","type":"server_js","source":"/** Information pour accèder au Karotz **/\nvar KAROTZ_URL \u003d \"http://92.95.206.85\"; \nvar KAROTZ_PORT \u003d \"8888\"; \n\n/** Information pour accèder à l\u0027agenda **/\nvar CAL_ID \u003d \u00271l6n2segat2ov9jj5q6c4in2u8@group.calendar.google.com\u0027;\n\n/** Mot clé utilisé pour identifié les évenements concernant le Karotz **/\n/** Le titre de l\u0027événement doit contenir le mot clé pour être déclenché **/\n/** Exemple : 12:05 Karotz bon apétit -\u003e Demandera au Karotz de dire bon apétit à 12:05 **/\nvar KEYWORD \u003d \"KAROTZ:\";\n\n/** Information de votre serveur ftp pour les photos de type ftp **/\nvar FTP_SERVER \u003d \"ftp://mafreebox.freebox.fr/\";\nvar FTP_USER \u003d \"freebox\";\nvar FTP_PASSWORD \u003d \"Voyageur1974\";\nvar FTP_DIRECTORY \u003d \"/\";\n\n/** URL utilisées par le système **/\nvar URL_PHOTO \u003d \"/cgi-bin/snapshot?silent\u003d1\";\nvar URL_MOODS \u003d \"/cgi-bin/apps/moods?id\u003d\";\nvar URL_TTS \u003d \"/cgi-bin/tts?text\u003d\";\nvar URL_LEDS \u003d \"/cgi-bin/leds?color\u003d\";\nvar URL_EARS \u003d \"/cgi-bin/ears_random\";\nvar URL_SOUND \u003d \"/cgi-bin/sound?\";\nvar URL_FTP \u003d \"/cgi-bin/snapshot_ftp?server\u003d\"+FTP_SERVER+\"\u0026user\u003d\"+FTP_USER+\"\u0026password\u003d\"+FTP_PASSWORD+\"\u0026remote_dir\u003d\"+FTP_DIRECTORY+\"\u0026silent\u003d1\";\n \n/**\n * ----------------------------------------------------------------------------\n * Recherche dans l\u0027agenda si le Karotz doit parler et si oui, envoi le \n * message au Karotz\n * Et pourquoi pas un événement \"Karotz coucou\u0026voice\u003dantoine\" :-)\n * ----------------------------------------------------------------------------\n**/\nfunction findAndPlay() {\n \n var cal \u003d CalendarApp.getCalendarById(CAL_ID);\n var now \u003d new Date();\n var nowPlusOneMinute \u003d new Date(now.getTime() + (60 * 1000));\n var events \u003d cal.getEvents(now, nowPlusOneMinute, {search: KEYWORD});\n\n for (var i\u003d0 ; i \u003c events.length; i++) {\n if (events[i].getTag(KEYWORD) \u003d\u003d null || events[i].getTag(KEYWORD) !\u003d \"done\") {\n play(events[i].getTitle().replace(KEYWORD, \u0027\u0027));\n events[i].setTag(KEYWORD, \"done\");\n }\n }\n\n}\n\nfunction test() {\n //play(\"photo:\");\n play(\"Bonjour, il est l\u0027heure de se réveiller\")\n}\n\n/**\n * ----------------------------------------------------------------------------\n * Demande au Karotz d\u0027agir\n * ----------------------------------------------------------------------------\n**/\nfunction play(words) {\n if (words.indexOf(\"moods:\") \u003e\u003d 0) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_MOODS+words.replace(\"moods:\", \u0027\u0027));\n } else if (words.indexOf(\"leds:\") \u003e\u003d 0) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_LEDS+words.replace(\"leds:\", \u0027\u0027));\n } else if (words.indexOf(\"photo:\") \u003e\u003d 0) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_PHOTO);\n } else if (words.indexOf(\"sound:\") \u003e\u003d 0) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_SOUND+words.replace(\"sound:\", \u0027\u0027));\n } else if (words.indexOf(\"ears:\") \u003e\u003d 0) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_EARS);\n } else if (words.indexOf(\"photo_ftp:\") \u003e\u003d 0) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_FTP);\n } else if (words.indexOf(\"cgi:\") \u003e\u003d 0) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+words.replace(\"cgi:\", \u0027\u0027));\n } else if (words.indexOf(\"reveil:\") \u003e\u003d 0) {\n reveil();\n } else if (words.indexOf(\"vacances:\") \u003e\u003d 0) {\n vacances();\n } else {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+words);\n }\n \n}\nfunction reveil() {\n   envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Allez les lapins, il est l\u0027heure de se réveiller\");\n   envoi \u003d UrlFetchApp.fetch(getUrl()+URL_SOUND+\"url\u003dhttp://streaming.radio.rtl2.fr/rtl2-1-44-96\");\n//cgi-bin/sound?url\u003dhttp://streaming.radio.rtl2.fr/rtl2-1-44-96\n}\n\nfunction vacances() {\n \n var number \u003d Math.floor((Math.random()*10)+1);\n \n if (number \u003d\u003d 1) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"chéri\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"As tu pu acheter du sucre\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Non je ne suis pas encore passé au magazin\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Tant pis j\u0027irais plus tard\");\n } else if (number \u003d\u003d 2) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"chérie\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"As tu vu mon vieux pull gris\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Il est encore au sale\u0026voice\u003dmargaux\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"d accord je vais prendre le blanc\u0026voice\u003dantoine\"); \n } else if (number \u003d\u003d 3) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"chéri\u0026voice\u003dmargaux\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Les enfants sont invité chez les amis demain\u0026voice\u003dmargaux\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"bien je les amainerai aprai le travail\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"ok merci\u0026voice\u003dmargaux\");\n } else if (number \u003d\u003d 4) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Hé\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"vous faites quoi comme bétise\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"rien on dessine c est tout\u0026voice\u003djulie\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"pardon j ai cru encore vous voir dessiner sur la table\u0026voice\u003dantoine\");\n } else if (number \u003d\u003d 5) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Demain j ai une réunion je vais devoir partir plus to\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"pourrais tu amener les enfants a l ecole s il te plait\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"oui je n ai rien de spécial\u0026voice\u003dmargaux\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"merci beaucoup\u0026voice\u003dantoine\");\n } else if (number \u003d\u003d 6) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Tu sais ce qu\u0027il y a au cinéma ces jours\u0026voice\u003dmargaux\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Non aucune idée cela fait bien longtemps qu on y ai pas été\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"justement je vais organizer quelque chose\u0026voice\u003dmargaux\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"bonne idée\u0026voice\u003dantoine\");\n } else if (number \u003d\u003d 7) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Chérie\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Je ne te le dis pas assez mais je t aime mon ange\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Et bien que t arrive t il\u0026voice\u003dmargaux\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"rien juste envie de te le dire\u0026voice\u003dantoine\"); \n } else if (number \u003d\u003d 8) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Chérie\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Il faudrait penser a sortir le lapin de temps en temps\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"puisque tu en parle fait le\u0026voice\u003dmargaux\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"ouai ok\u0026voice\u003dantoine\"); \n } else if (number \u003d\u003d 9) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Chérie\u0026voice\u003dmargaux\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Il faudrait penser a sortir le lapin de temps en temps\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"puisque tu en parle fait le\u0026voice\u003dmargaux\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"ouai ok\u0026voice\u003dantoine\"); \n } else if (number \u003d\u003d 10) {\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Chérie\u0026voice\u003dmargaux\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"Il faudrait penser a sortir le lapin de temps en temps\u0026voice\u003dantoine\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"puisque tu en parle fait le\u0026voice\u003dmargaux\");\n envoi \u003d UrlFetchApp.fetch(getUrl()+URL_TTS+\"ouai ok\u0026voice\u003dantoine\"); \n }\n}\n\n/**\n * ----------------------------------------------------------------------------\n * Retourne l\u0027URL du Karotz\n * ----------------------------------------------------------------------------\n**/\nfunction getUrl() {\n if (KAROTZ_PORT \u003d\u003d null || KAROTZ_PORT \u003d\u003d \"\") {\n return KAROTZ_URL;\n }\n return KAROTZ_URL + \":\" + KAROTZ_PORT;\n}"}]}