Logo Zéphyrnet

Votre propre robot de télégramme de comptabilité avec Python

Date :

Photo par Éric Tompkins on Unsplash

J'utiliserai Google Drive pour stocker la feuille de calcul. J'ai choisi de le faire car cela me permet d'y accéder de n'importe où si j'en ai besoin. Il protège également vos données et vous n'avez pas à vous soucier d'avoir des fichiers locaux. Par conséquent, vous aurez besoin d'un compte Google. Si vous ne l'avez pas déjà, vous devrez créer un.

Pour connecter le script Python à votre compte Google, vous devez activer l'API Google Drive / Sheets. Cette vidéo sur YouTube de Tech avec Tim explique parfaitement le processus, qui en résumé est:

  1. Créez une feuille de calcul et remplissez certaines cellules, nous l'utiliserons pour les tests. Donnez-lui un nom propre.
  2. Cliquez sur Google Cloud Console et créez un nouveau projet.
  3. Activer l'API Google Drive, paramètre accès au serveur Web, lire données d'application, avec Projet> Rôle d'éditeur. Assurez-vous de télécharger vos informations d'identification au format JSON et de les stocker dans votre dossier de projet (gardez-le en sécurité!).
  4. Activez l'API Google Sheets.

Maintenant, pour nous assurer que le script et votre feuille fonctionnent bien, nous pouvons faire des tests en Python. La première chose que vous devrez faire est d'installer des bibliothèques pour interagir avec votre feuille de calcul fraîchement créée:

pip installer gspread
pip installer gspread-dataframe
pip installer oauth2client

Maintenant, vous pouvez déjà essayer des choses comme télécharger des données à partir de votre feuille, modifier les données et télécharger à nouveau pour mettre à jour la feuille:

Vous souhaitez maintenant mettre des données dans votre feuille pour la tester:

Et puis allez dans votre fichier creds.json, et recherchez le "client_email". Il s'agit de votre adresse attribuée dans l'API Google Drive. Partagez la feuille que vous avez créée avec cet e-mail:

Maintenant, vous pouvez initialiser votre client en Python et vous connecter à la feuille:

Nous intégrons les données dans un dataframe, car cela nous aidera plus tard lorsque nous commencerons à manipuler des lignes. Le dataframe ressemblera à ceci:

 Date Type Description Prix
0 30 / août / 2020 Plats à emporter 11.0
1 31 / août / 2020 Essence de transport 42.1
2 1 / sept. / 2020 Epicerie alimentaire 56.5
3 2 / sept. / 2020 Food Burger 13.0
4 3 / sept. / 2020 Vêtements T Shirt 19.5
5 NaN NaN NaN NaN
6 NaN NaN NaN NaN
7 NaN NaN NaN NaN
8 NaN NaN NaN NaN
.. ... ... ... ... ...

Maintenant, toutes ces colonnes sont importées sous forme de chaînes (dtype: object), alors donnons-leur le bon format:

À ce stade, vous pouvez obtenir des résumés de vos données comme vous le souhaitez. Je ne vais pas entrer dans cela ici, mais juste pour donner un exemple, vous pouvez agréger en utilisant des pivots et produire des choses comme ceci:

Type de vêtements Transport alimentaire
Date
2020-08 NaN 11.0 42.1
2020-09 19.5 69.5 NaN

1. Étude de cas: création d'un chatbot de réservation de rendez-vous

2. IBM Watson Assistant fournit une meilleure classification des intentions que les autres produits commerciaux selon une étude publiée

3. Test de l'IA conversationnelle

4. Comment les systèmes conversationnels intelligents et automatisés stimulent les revenus et la croissance B2C.

Il est maintenant temps de créer votre bot Telegram et un canal où vous enverrez vos dépenses. Pour créer un bot, vous devrez écrire à BotFather de Telegram, envoyer la commande / commenceret suivez les instructions pour créer votre bot. Vous recevrez un JETON, enregistrez-le en toute sécurité!

Après l'avoir créé, envoyez la commande / setprivacy, choisissez votre nouveau bot, puis Désactiver. Cela permet à votre bot de lire tous les messages arrivant sur le canal, au lieu de seulement ceux commençant par un «/» (appelés «commandes»).

Créez maintenant un canal Telegram et ajoutez le nom d'utilisateur de votre bot.

Nous pouvons commencer maintenant à écrire le script python qui gérera toutes nos dépenses. Vous pouvez commencer par les étapes suivantes:

  • Importez toutes les bibliothèques dont vous aurez besoin
  • Définir des variables
  • Ouvrez une connexion avec votre feuille de dépenses
  • Récupérez les données dans une trame de données formatée

À côté des fonctions. Nous voulons un flux de travail simple:

  1. Nous saisissons une description de la dépense et son prix, séparés par une virgule.
  2. Le bot demande à quel type appartient la dépense, offrant un ensemble prédéfini de types possibles sous forme de boutons.
  3. Nous sélectionnons le type en appuyant sur le bouton, et le bot enregistre la dépense comme une nouvelle ligne dans la feuille.

Pour cela, nous allons créer 2 méthodes, l'une qui gère les messages entrants et propose des «types» de dépenses au choix («input_expense»), et l'autre qui économise la dépense dans la feuille une fois que nous appuyons sur un bouton («callback_query_handler», vous doit respecter ce nom):

Enfin, créez le bot objet, ajoutez des gestionnaires et lancez l'interrogation:

À présent, vous devriez être en mesure d'envoyer des dépenses à la chaîne (n'oubliez pas de l'envoyer sous la forme: description, prix), et le bot enregistrera vos dépenses dans la feuille:

Source: https://chatbotslife.com/your-own-bookkeeping-telegram-bot-with-python-561507fc6a02?source=rss—-a49517e4c30b—4

spot_img

Dernières informations

spot_img

Discutez avec nous

Salut! Comment puis-je t'aider?