Telegram Family Budget

L'article est consacré à la revue du produit commercial - Telegram-bot @budgetmoneybot pour le maintien du budget familial.

Avant de commencer l'examen, je voudrais écrire quelques lignes sur la façon dont ma femme et moi sommes arrivés à la gestion budgétaire dans Telegram.

Je dois dire que nous avons commencé à réaliser le besoin de budgétisation dès les premiers jours après le mariage. Tout d'abord, nous avons enregistré nos revenus et nos dépenses dans un simple tableau de cotes .



Mais le maintien d'une telle table après quelques mois nous a semblé fastidieux. Je voulais vraiment avoir un outil plus mobile qui vous permette de sauvegarder des données et d'afficher des rapports.
Néanmoins, depuis 5 ans, nous remplissons avec diligence le tableau, à un degré ou à un autre, en régulant nos dépenses. Puis il y a eu une année de pause, au cours de laquelle nous avons de nouveau été convaincus que nous devions maintenir un budget.

Début 2019, nous avons de nouveau décidé de maintenir un budget, mais nous ne voulions pas revenir à remplir le tableau des ods. Nous avons essayé certains services mobiles et sommes arrivés à la conclusion qu'ils ne nous convenaient pas.

Ensuite, j'ai pensé que pour la gestion du budget, il serait pratique d'utiliser un bot Telegram qui recevrait des messages avec des nombres ou des expressions mathématiques et répartirait les montants dans des catégories préconfigurées. De plus, je voulais pouvoir envoyer des photos de codes QR sur les chèques à un tel bot, afin que le bot répartisse les positions dans les chèques par catégorie. Et pour maintenir un budget familial, il serait bien de créer un groupe séparé dans Telegram et d'y ajouter un bot.

Il m'a fallu plusieurs mois pour implémenter et tester un tel bot. Mais, comme on dit, «la route prendra la route» - en août 2019, le bot a été mis en œuvre.

Telegram-bot @budgetmoneybot offre aux utilisateurs la possibilité de maintenir des budgets personnels et familiaux.
Pour maintenir un budget familial, vous devez créer un groupe dans Telegram et y ajouter un bot.





Écrivez quelque chose au groupe. Le bot vous proposera de définir des catégories de revenus et de dépenses.



Nous cliquons sur le bouton «Revenus» et saisissons les noms des sources de revenus et les montants prévus pour le format proposé. Ensuite, nous introduisons les noms des catégories de dépenses avec les montants prévus.
Je recommande d'utiliser des emoji pour visualiser les catégories. Pratique lors de la visualisation des rapports.



Les catégories de revenus et de dépenses sont personnalisées! Essayez maintenant d'ajouter des informations sur les coûts.



Nous sélectionnons la catégorie "Produits".
Le message est en cours d'édition - un rapport sur l'ajout du montant s'affiche.



Le bot vous permet de spécifier la date. Ceci est utile si, par exemple, vous déposez des montants pour le mois précédent. Vous pouvez également annuler l'ajout du montant.

Ajoutez maintenant des informations sur le revenu.
Saisissez le montant, sélectionnez le dernier bouton "Vers revenu".



Sélectionnez ensuite une catégorie.
De même, le message est modifié - un rapport sur l'ajout du montant s'affiche.



Essayons de voir le rapport.
Entrez la commande / le rapport.



Les boutons situés sous le rapport vous permettent de passer rapidement d'un mois à l'autre.
Essayons d'envoyer au robot une photo du code QR sur le chèque.



Le bot commencera à catégoriser les produits. Si c'est la première fois que vous achetez des haricots dans un magasin (plus précisément, "Beans Fas 800gr: 6"), le bot vous demandera à quelle catégorie ajouter la position dans le chèque.
Dans notre cas, il s'agit de «Produits». La prochaine fois, les grains tomberont automatiquement dans la catégorie "Produits".
Après la distribution de tous les produits en catégories, le bot émettra un rapport.



BudgetMoneyBot dispose d'un large éventail de paramètres. Vous pouvez ajouter, supprimer, trier et renommer des catégories, modifier les quantités prévues, détacher des marchandises des catégories, afficher des rapports pour une période arbitraire.
À l'avenir, je prévois d'étendre la fonctionnalité.

L'utilisation du bot est payante - 23 roubles par mois. Dans le même temps, lors de la connexion, 23 roubles d'introduction sont facturés. Si le compte a «0», il sera possible d'utiliser le bot (conduire en montant, envoyer des chèques), mais les rapports ne seront pas disponibles. Le solde ne passe pas à moins.
Il existe un programme de fidélité de parrainage: pour chaque utilisateur enregistré par un lien spécial (voir / commande de parrainage), 23 roubles sont facturés.

Information technique
Le bot est développé dans la langue Golang. La base de données est implémentée sur MongoDB. Parmi les bibliothèques tierces, tgbotapi et mgo sont utilisés . Pour décoder un code QR, zbarimg est utilisé.
La collecte d'informations à partir des chèques a d'abord été directement liée aux sites des opérateurs de données fiscales. Mais l'absence d'une API nous a obligés à écrire des grattoirs Web et, dans certains cas, nous avons dû envoyer des images captcha aux utilisateurs. À partir d'un chèque, il est impossible de comprendre à quel opérateur de données fiscales vous devez accéder. Itérer sur tous les opérateurs (au 22 mars 2019, il y en avait 21) est laborieux. Il a donc été décidé de contacter directement l'API du Federal Tax Service.

Sur Habré, les utilisateurs ont écrit qu'il y avait des restrictions dans l'API FTS. Je ne pouvais pas faire face aux restrictions. Néanmoins, j'avoue que je devrai implémenter l'autorisation utilisateur dans le système de contrôle du Federal Tax Service (demander à l'utilisateur de partager le numéro de téléphone, envoyer une demande d'autorisation utilisateur au Federal Tax Service, demander à l'utilisateur de partager le mot de passe de sms).

Mise à jour 08.19.2019
Avec les limites de l'API FTS, nous sommes toujours confrontés. Modification du bot. Désormais, les utilisateurs sont invités à autoriser dans le système de chèque du Service fédéral des impôts. Après une autorisation réussie, l'utilisateur pourra recevoir des informations du FTS des contrôles dans les limites qui lui sont attribuées personnellement.

Source: https://habr.com/ru/post/fr463969/


All Articles