Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
J
Jarvis
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Wiki
Wiki externe
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Extraits de code
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Registre de conteneurs
Registre de modèles
Opération
Environnements
Surveillance
Incidents
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse CI/CD
Données d'analyse du dépôt
Expériences du modèle
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté GitLab
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Loïc DUBARD
Jarvis
Validations
9b03f78c
Valider
9b03f78c
rédigé
Il y a 5 ans
par
Loïc Wikle DUBARD
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
retrait des commandes non utiles sur raspi
parent
68d5d3d5
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Modifications
2
Afficher les modifications d'espaces
En ligne
Côte à côte
Affichage de
2 fichiers modifiés
Jarvis.py
+45
-44
45 ajouts, 44 suppressions
Jarvis.py
myimports.py
+7
-5
7 ajouts, 5 suppressions
myimports.py
avec
52 ajouts
et
49 suppressions
Jarvis.py
+
45
−
44
Voir le fichier @
9b03f78c
...
...
@@ -243,6 +243,7 @@ def tests(entre):
compris
=
0
merci
=
0
# allume la lumière
if
all
(
word
in
entre
for
word
in
[
'
allume
'
,
'
lumiere
'
]):
for
device
in
chacon_device_list
:
try
:
...
...
@@ -259,8 +260,8 @@ def tests(entre):
parle
(
'
Le switch {} est déjà éteint
'
.
format
(
device
.
get_name
()))
# location
if
any
(
ext
in
entre
for
ext
in
[
'
ou est
'
,
'
ou se situe
'
,
'
ou se trouve
'
,
'
est ou
'
]):
location
(
entre
)
#
if any(ext in entre for ext in ['ou est ', 'ou se situe ', 'ou se trouve ', 'est ou ']):
#
location(entre)
# reponses basiques
if
"
et vous
"
in
entre
or
"
et toi
"
in
entre
:
...
...
@@ -284,15 +285,15 @@ def tests(entre):
jarvis
=
False
# mode clavier/voix
if
"
mode clavier
"
in
entre
:
voix
=
False
parle
(
"
Je suis passé en mode clavier
"
)
elif
"
mode voi
"
in
entre
and
reconnaissance
:
parle
(
"
Attention je doit vous avertir que le mode voix peut ne pas fonctionner correctement si vous ne portez pas de micro externe à l
'
ordinateur.
"
)
parle
(
"
Voulez vous vraiment passer en mode voix ?
"
)
if
"
mode voi
"
in
entrepreced
and
"
oui
"
in
entre
:
voix
=
True
parle
(
"
Je suis passé en mode voix.
"
)
#
if "mode clavier" in entre:
#
voix = False
#
parle("Je suis passé en mode clavier")
#
elif "mode voi" in entre and reconnaissance:
#
parle("Attention je doit vous avertir que le mode voix peut ne pas fonctionner correctement si vous ne portez pas de micro externe à l'ordinateur.")
#
parle("Voulez vous vraiment passer en mode voix ?")
#
if "mode voi" in entrepreced and "oui" in entre:
#
voix = True
#
parle("Je suis passé en mode voix.")
# répond à merci si on lui a demandé quelquechose avant
if
(
"
merci
"
in
entre
or
"
Merci
"
in
entre
)
and
comprispreced
==
1
and
(
"
et vous
"
not
in
entre
and
"
et toi
"
not
in
entre
):
...
...
@@ -311,13 +312,13 @@ def tests(entre):
pass
# ouvre une application
if
"
ouvre
"
in
entre
and
(
"
application
"
in
entre
or
"
programme
"
in
entre
):
texte
=
entre
.
replace
(
"
ouvre le programme
"
,
""
).
replace
(
"
ouvre l
'
application
"
,
""
)
parle
(
"
Je vais executer
"
+
texte
)
os
.
system
(
texte
)
if
entre
.
split
(
"
"
)[
0
]
==
"
lance
"
:
parle
(
"
Je vais executer
"
+
entre
.
split
(
"
"
)[
-
1
])
os
.
system
(
entre
.
split
(
"
"
)[
-
1
]
+
"
>/dev/null
"
)
#
if "ouvre" in entre and ("application" in entre or "programme" in entre):
#
texte = entre.replace("ouvre le programme ", "").replace("ouvre l'application ", "")
#
parle("Je vais executer " + texte)
#
os.system(texte)
#
if entre.split(" ")[0] == "lance":
#
parle("Je vais executer " + entre.split(" ")[-1])
#
os.system(entre.split(" ")[-1] + ">/dev/null")
# donne la date
if
((
"
date
"
in
entre
or
"
jour
"
in
entre
)
and
(
"
on est
"
in
entre
)):
...
...
@@ -335,28 +336,28 @@ def tests(entre):
parle
(
time
.
strftime
(
"
il est %H heure %M.
"
,
now
),
False
)
# envoie mail
if
"
envoi
"
in
entre
and
"
mail
"
in
entre
:
if
_from
==
""
and
password
==
""
:
mail
()
else
:
try
:
parle
(
"
Utiliser la même adresse :
"
+
_from
+
"
?
"
)
entre1
=
get_speech
()
if
"
annuler
"
in
entre1
or
"
annulation
"
in
entre1
:
raise
BreakoutException
elif
"
non
"
in
entre1
:
mail
()
elif
"
oui
"
in
entre1
:
message
()
else
:
raise
BreakoutException
except
:
parle
(
"
l
'
Envoi du mail est annulé.
"
)
if
"
redemarre
"
and
"
ordinateur
"
in
entre
:
# redémarre l'ordinateur
parle
(
"
Je vais redémarrer votre ordinateur.
"
)
os
.
system
(
"
shutdown -r
"
)
#
if "envoi" in entre and "mail" in entre:
#
if _from == "" and password == "":
#
mail()
#
else:
#
try:
#
parle("Utiliser la même adresse :" + _from + " ?")
#
entre1 = get_speech()
#
if "annuler" in entre1 or "annulation" in entre1:
#
raise BreakoutException
#
elif "non" in entre1:
#
mail()
#
elif "oui" in entre1:
#
message()
#
else:
#
raise BreakoutException
#
except:
#
parle("l'Envoi du mail est annulé.")
#
if "redemarre" and "ordinateur" in entre: # redémarre l'ordinateur
#
parle("Je vais redémarrer votre ordinateur.")
#
os.system("shutdown -r")
# ferme jarvis
if
(
"
etein
"
in
entre
and
"
toi
"
in
entre
)
or
"
au revoir
"
in
entre
:
...
...
@@ -397,9 +398,9 @@ def tests(entre):
os
.
system
(
"
rhythmbox-client --volume-down
"
)
# éteind le pc
if
"
eteint
"
in
entre
and
"
ordinateur
"
in
entre
:
# Eteint l'ordinateur
parle
(
"
je vais éteindre votre ordinateur.
"
)
os
.
system
(
"
shutdown -s -c
\"
{} : Au revoir.
\"
"
.
format
(
bot_name
.
upper
()))
#
if "eteint" in entre and "ordinateur" in entre: # Eteint l'ordinateur
#
parle("je vais éteindre votre ordinateur.")
#
os.system("shutdown -s -c\"{} : Au revoir.\"".format(bot_name.upper()))
# dit ce qu'il peut faire
if
any
(
ext
in
entre
for
ext
in
[
'
sais faire
'
,
'
peux faire
'
])
or
(
'
autre
'
in
entre
and
any
(
ext
in
entrepreced
for
ext
in
[
'
sais faire
'
,
'
peux faire
'
])):
...
...
@@ -415,7 +416,7 @@ def tests(entre):
res
=
usefull
.
francetv
(
False
).
replace
(
"
\n
"
,
"
.
"
)
parle
(
res
,
False
)
if
"
horoscope
"
in
entre
:
if
"
donne l
'
horoscope
"
in
entre
:
parle
(
usefull
.
horoscope
(
"
vierge
"
),
False
)
if
'
moins bavard
'
in
entre
:
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
myimports.py
+
7
−
5
Voir le fichier @
9b03f78c
...
...
@@ -69,7 +69,7 @@ mdp = "oracle02" # défini le mdp de déverouillage de jarvis
bot_name
=
"
jarvis
"
# défini le nom auquel répondra l'ia
compris
=
0
comprispreced
=
0
verbosity
=
3
verbosity
=
0
# à quel point jarvis parle tout seul en mode random
chacon_ip_list
=
{
'
salon
'
:
'
10.3.141.241
'
}
chacon_device_list
=
[
usefull
.
Chacon
(
chacon_ip_list
[
name
],
name
)
for
name
in
chacon_ip_list
.
keys
()]
entrepreced
=
""
...
...
@@ -80,19 +80,21 @@ truc_casse = ['Ousp j\'ai glissé chef !', 'Oups, c\'est cassé...', 'Houston, o
etats_jarvis
=
[
"
Je vais très bien
"
,
"
J
'
avoue que je me suis déjà senti en meilleur forme.
"
,
"
Je pete la forme !
"
,
"
Bien bien bien !
"
]
fonctionnalites
=
[
'
donner l
\'
heure ou la date
'
,
'
envoyer un email
'
,
#
'envoyer un email',
'
chercher quelquechose sur wikipédia
'
,
'
montrer un endroit sur google map
'
,
#
'montrer un endroit sur google map',
'
executer une application
'
,
'
redémarrer ou éteindre le pc
'
,
#
'redémarrer ou éteindre le pc',
'
donner la météo
'
,
'
donner les infos
'
'
m
\'
arreter de parler quand on me le demande !
'
,
'
jurer
'
,
'
parler du grand Chuck Norris !
'
,
'
raconter une intox
'
,
'
faire de la philosophie
'
,
'
jouer du pipo
'
,
'
traduire un texte ou un mot dans une autre langue
'
'
jouer de la musique
'
# 'traduire un texte ou un mot dans une autre langue'
]
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter