Remarque : ce texte est une simple transcription directe du contenu de la vidéo. Il n’est pas destiné à la lecture proprement dite.

Aujourd’hui, on va voir comment connecter votre chatbot à une feuille de tableur Google. Quand vous réalisez pour la première fois un chatbot, vous stocker la totalité de son contenu dans le moteur même du chatbot. Mais vous verrez qu’au fur et à mesure que votre projet se complexifie, vous aurez besoin d’aller chercher ou stocker des données à l’extérieur du chatbot. C’est la raison pour laquelle Botnation a imaginé trois fonctionnalités liées à la connexion de votre chatbot au tableur Google.

 Se connecter en écriture sur Google Sheet avec son chatbot

La première possibilité, c’est de connecter votre chatbot en lecture, c’est-à-dire pour récupérer des données. Vous pouvez aussi le connecter en écriture, de façon à sauvegarder des données, et enfin un mode bien sympa, qui s’appelle le mode « carrousel » et qui, comme son nom l’indique, permet d’afficher des données venant de votre feuille Google sous forme de carrousel. Alors aujourd’hui on va s’intéresser au stockage des données. Ces stockages de données vous permettent par exemple de stocker des préférences utilisateur. Elles vont vous permettent aussi de stocker des coordonnées téléphoniques, sachant que, comme un site web, un chatbot doit respecter le RGPD, donc je vous invite à bien vérifier que ce que vous faites est conforme à ce règlement, et surtout que vous en avez informé votre utilisateur. Et puis, cela permet aussi par exemple de pouvoir stocker un score de jeu. C’est ce que je vais vous montrer dans cette vidéo.

 Créer une feuille de tableur pour son chatbot

Alors on va commencer par créer une feuille dans votre espace docs.google.com. Une feuille qui est un tableur, un spreadsheet… Alors on va créer une première colonne qui va stocker l’ID du joueur. Cet ID, on va utiliser l’ID qui est un ID unique d’un utilisateur Messenger. Et puis on va stocker le score que ce joueur a obtenu et voilà, notre feuille de tableur est prête. Je l’ai nommée 01scoring. Et je vais maintenant aller sur mon interface Botnation et je vais créer un bot. Je vais nommer ce bot : « mon jeu en tableur ». Et une fois que l’interface est apparue, la première chose que je vais faire, c’est que je vais aller sur cette petite roue crantée qui sont les paramètres et je vais aller dans plugin et je vais lier un compte Google à mon chatbot.

 Connecter Google App à son chatbot

Alors pourquoi ? Tout simplement pour donner la possibilité au chatbot que vous créez d’aller chercher les données ou d’aller écrire des données dans cette feuille Google Sheet. Donc je vais lier le compte en cliquant ici, je vais sélectionner mon compte. Je vais autoriser Botnation à accéder à ces données sinon il n’est pas possible de stocker ni de récupérer des données. Et voilà, j’ai maintenant mon compte Google qui est lié à Botnation. Ensuite, je repars dans la partie « construction » et je vais commencer par créer une séquence « bonjour » où je vais dire « bonjour, tapez « go » pour lancer le jeu ». Alors, ce n’est pas un jeu réel que je crée, c’est juste une manière de vous montrer comment on manipule des variables et comment on stocke les données de ces variables dans un Google Sheet. Je vais initialiser une première variable qui stockera le score total de l’utilisateur.

Créer et stocker des variables dans un tableur Google Sheet

Je vais l’appeler « scoreTotal ». Donc c’est fait pour cette partie… Donc maintenant je vais créer un nouveau groupe, qui va stocker la mécanique de mon jeu. Et je vais ajouter une première séquence, qui sera une séquence de calcul du score. Et dans cette séquence, en fait, je vais créer une séquence de texte. Je vais dire « je calcule votre score ». Puis je vais tirer au hasard un nombre. Alors pour ça, je vais dans « variables » et je choisis le bloc « aléatoire ». Je vais créer une seconde variable que je vais appeler « score » et je vais tirer un nombre entre zéro et par exemple cinq. Puis je vais ajouter une fonction de calcul où je vais incrémenter le score total, la variable ScoreTotal, et au lieu de l’incrémenter de 1, c’est-à-dire ajouter un point à scoreTotal, je vais ajouter la valeur qui aura été tirée au hasard dans Score.

Puis enfin, pour vérifier que mon calcul est juste, je vais afficher un texte où je vais dire: « tu as tiré le nombre… et je vais afficher mon nombre Score, donc ça va m’afficher le nombre qui a été tiré au hasard. « Et ton score total est  » et là je vais afficher le ScoreTotal obtenu. Donc, voilà, là j’ai une mécanique en fait déjà qui, normalement, fonctionne bien. Donc par contre il faut que je déclenche cette séquence de calcul du score par le mot « go ». Donc je vais ici ajouter le mot « go ». Voilà. Et j’ai un chatbot qui fonctionne déjà en-soi correctement. J’envoie vers Messenger pour tester mon bot. « Bonjour, tape « go » pour lancer le jeu »… Si je tape « go »… Je calcule ton score… Tu as tiré le nombre 4… Et ton score total est 4… Je retape une autre fois « go », je calcule le score… Tu as tiré le nombre 4… Ton score total est 8… puisque 4 avait été stocké et donc 4+4 = 8… Je retente… e calcule le score… tu as tiré le nombre 4 et ton score total est 12… Il tire beaucoup le nombre 4 ! Tu as tiré le nombre 1 et ton score total est 13…

Donc vous voyez que le système aléatoire est vraiment aléatoire puisque là, par hasard, on a trois fois le nombre 4, on a bien des nombres tirés au hasard. Donc ça, ça fonctionne ! Le problème, c’est qu’en fait, je ne stocke pas le nombre total obtenu par le joueur donc je n’ai pas de tableau de score disponible qui va me permettre par exemple de comparer les différents scores obtenus par les différents joueurs pour attribuer par exemple des prix. Donc je vais utiliser cette feuille de calcul et cette feuille de calcul va me permettre de stocker pour chaque joueur le score total obtenu.

 Ajouter une feuille Excel via Google Sheet à son chatbot

Pour ce faire, je vais repartir dans la mécanique de mon jeu, dans le calcul du score, et je vais ajouter le bloc « Google Spreadsheet » et notamment le bloc de « sauvegarde des données ». Donc là, il y a un petit moulinage qui peut arriver où Botnation se connecte à votre compte Google. Et j’obtiens la liste de toutes les feuilles disponibles. Donc elle s’appelle 01Scoring… et je sélectionne l’onglet « Feuille 1 ». L’onglet feuille 1, ici vous voyez on est en feuille 1.

Si j’avais plusieurs feuilles, si j’avais créé plusieurs feuilles, je pourrais aller stocker différentes données dans différentes feuilles. Donc l’outil est vraiment très puissant… Et puis je vais dire, je vais mettre à jour les lignes correspondantes aux conditions suivantes… donc je prends la ligne qui comporte l’IDjoueur A… donc vous voyez ici… IDJoueur, c’est le nom de la ligne en question et c’est bien la colonne A… De même que « score » est sur la ligne en colonne B… Donc ici, je vais choisir, non plus une variable que j’ai créée moi-même, mais dans les variables données par Messenger, je vais aller chercher l’ID du joueur…donc vous allez voir, c’est un nombre un peu barbare mais qui est unique pour chaque utilisateur de Facebook… Et je vais garder coché cette option « créer une ligne si aucune ligne ne correspond »…

 Stocker des données depuis son chatbot dans Google Sheet

Donc pour le moment, j’ai aucune ligne qui correspond, donc si la ligne n’existe pas, c’est-à-dire si l’ID joueur n’existe pas, hé bien il va aller stocker l’ID joueur et faire correspondre un nouveau score. Si l’ID existe, on va le voir, il mettra à jour le score de l’ID joueur sans rajouter une ligne en doublon dans la feuille… ici, je vais mettre à jour ma colonne score en y implémentant le score total. Et voilà ! Là j’ai fini. Si je relance mon test… Vous voyez que le bot s’est lancé… Ici j’ai toujours rien, c’est normal, il ne s’est rien passé. Donc je vais taper « go »… et là j’ai tiré le nombre 0 et mon score est 0… Si je vérifie ici… Vous voyez : magie ! le tableur s’est actualisé, avec mon ID (vous voyez que c’est un nombre très complexe, unique en son genre) et puis mon score a 0. Si je retape ici « go », j’ai tiré le nombre 5 et mon score total est 5… Si je retape « go »… j’ai tiré le nombre 0, mon score est 5… on va pas aller vérifier puisqu’on aura pas de différence… Donc on retire… 4, mon score est 9, je vérifie… Mon score est bien 9…

Donc vous avez ici une mécanique très simple pour pouvoir stocker, créer des variables, les incrémenter et le stocker dans un tableur Excel. Voilà ! Dans une prochaine vidéo, on verra comment récupérer ces données pour les traiter dans votre chatbot. Amusez-vous bien !