Der Artikel widmet sich der Überprüfung des kommerziellen Produkts - Telegram-bot @budgetmoneybot zur Aufrechterhaltung des Familienbudgets.Bevor ich mit der Überprüfung beginne, möchte ich einige Zeilen darüber schreiben, wie meine Frau und ich zum Budgetmanagement in Telegram gekommen sind.
Ich muss sagen, dass wir bereits in den ersten Tagen nach der Hochzeit die Notwendigkeit einer Budgetierung erkannt haben. Zunächst haben wir unsere Einnahmen und Ausgaben in einer einfachen
ODS-Tabelle erfasst .

Aber einen solchen Tisch nach ein paar Monaten zu pflegen, schien uns langweilig. Ich wollte unbedingt ein mobileres Tool, mit dem Sie Daten speichern und Berichte anzeigen können.
Trotzdem füllen wir seit 5 Jahren fleißig die Tabelle aus, um unsere Ausgaben auf die eine oder andere Weise zu regulieren. Dann gab es ein Jahr Pause, in dem wir erneut davon überzeugt waren, dass wir ein Budget aufrechterhalten müssen.
Anfang 2019 haben wir uns erneut entschlossen, ein Budget beizubehalten, wollten aber nicht wieder die ODS-Tabelle ausfüllen. Wir haben einige mobile Dienste ausprobiert und sind zu dem Schluss gekommen, dass sie nicht zu uns passen.
Dann dachte ich, dass es für die Budgetverwaltung bequem wäre, einen Telegramm-Bot zu verwenden, der Nachrichten mit Zahlen oder mathematischen Ausdrücken empfängt und die Beträge in vorkonfigurierte Kategorien verteilt. Außerdem wollte ich in der Lage sein, Fotos von QR-Codes für Schecks an einen solchen Bot zu senden, damit der Bot die Positionen in den Schecks nach Kategorien verteilt. Und um ein Familienbudget aufrechtzuerhalten, wäre es schön, eine separate Gruppe in Telegram zu erstellen und einen Bot hinzuzufügen.
Ich habe mehrere Monate gebraucht, um einen solchen Bot zu implementieren und zu testen. Aber wie sie sagen, "die Straße wird die Straße nehmen" - im August 2019 wurde der Bot implementiert.
Telegram-bot
@budgetmoneybot bietet Benutzern die Möglichkeit, sowohl persönliche als auch Familienbudgets zu verwalten.
Um ein Familienbudget aufrechtzuerhalten, müssen Sie in Telegram eine Gruppe erstellen und einen Bot hinzufügen.


Schreiben Sie etwas an die Gruppe. Der Bot schlägt vor, Einnahmen- und Ausgabenkategorien einzurichten.

Wir klicken auf die Schaltfläche „Einnahmen“ und geben die Namen der Einnahmequellen und geplanten Beträge für das vorgeschlagene Format ein. Als nächstes führen wir die Namen der Ausgabenkategorien mit geplanten Beträgen ein.
Ich empfehle die Verwendung von Emoji zur Visualisierung von Kategorien. Praktisch beim Anzeigen von Berichten.

Einnahmen- und Ausgabenkategorien werden angepasst! Versuchen Sie nun, Kosteninformationen hinzuzufügen.

Wir wählen die Kategorie "Produkte".
Die Nachricht wird bearbeitet - ein Bericht über das Hinzufügen des Betrags wird angezeigt.

Mit dem Bot können Sie das Datum angeben. Dies ist nützlich, wenn Sie beispielsweise Beträge für den Vormonat einzahlen. Sie können das Hinzufügen des Betrags auch abbrechen.
Fügen Sie nun Einkommensinformationen hinzu.
Geben Sie den Betrag ein und klicken Sie auf die letzte Schaltfläche "Zum Einkommen".

Wählen Sie dann eine Kategorie aus.
Ebenso wird die Nachricht bearbeitet - ein Bericht über das Hinzufügen des Betrags wird angezeigt.

Versuchen wir, den Bericht zu sehen.
Geben Sie den Befehl / Bericht ein.

Mit den Schaltflächen unter dem Bericht können Sie schnell zwischen den Berichtsmonaten wechseln.
Versuchen wir, dem Bot ein Foto des QR-Codes auf dem Scheck zu schicken.

Der Bot beginnt, Produkte zu kategorisieren. Wenn Sie zum ersten Mal Bohnen in einem Geschäft kaufen (genauer gesagt "Beans Fas 800gr: 6"), werden Sie vom Bot gefragt, welcher Kategorie Sie die Position im Scheck hinzufügen möchten.
In unserem Fall handelt es sich um „Produkte“. Beim nächsten Mal fallen die Bohnen automatisch in die Kategorie "Produkte".
Nach der Kategorisierung aller Produkte gibt der Bot einen Bericht aus.

BudgetMoneyBot verfügt über eine Vielzahl von Einstellungen. Sie können Kategorien hinzufügen, löschen, sortieren und umbenennen, geplante Mengen ändern, Waren aus Kategorien lösen und Berichte für einen beliebigen Zeitraum anzeigen.
In Zukunft plane ich, die Funktionalität zu erweitern.
Für die Nutzung des Bots wird eine Gebühr erhoben - 23 Rubel pro Monat. Gleichzeitig werden beim Anschließen zunächst 23 Rubel berechnet. Wenn das Konto "0" hat, kann der Bot verwendet werden (Beträge eingeben, Schecks senden), Berichte sind jedoch nicht verfügbar. Der Saldo geht nicht auf Minus.
Es gibt ein Empfehlungs-Treueprogramm: Für jeden Benutzer, der über einen speziellen Link registriert ist (siehe Befehl / Empfehlung), werden 23 Rubel berechnet.
Technische InformationenDer Bot ist in der Sprache Golang entwickelt. Die Datenbank ist in MongoDB implementiert. Von den Bibliotheken von
Drittanbietern werden tgbotapi und
mgo verwendet . Zum Decodieren eines QR-Codes wird
zbarimg verwendet.
Die Sammlung von Informationen aus Schecks wurde zunächst direkt an die Websites der Steuerdatenbetreiber gebunden. Das Fehlen einer API zwang uns jedoch, Web-Scraper zu schreiben, und in einigen Fällen mussten wir Captcha-Bilder an Benutzer senden. Aus einer Überprüfung ist nicht ersichtlich, auf welchen Steuerdatenoperator Sie zugreifen müssen. Das Durchlaufen aller Betreiber (am 22. März 2019 waren es 21) ist mühsam. Daher wurde beschlossen, sich direkt an die API des Bundessteuerdienstes zu wenden.
Auf Habré haben Benutzer
geschrieben, dass es Einschränkungen in der FTS-API gibt. Ich konnte mich den Einschränkungen nicht stellen. Trotzdem gebe ich zu, dass ich eine Benutzerberechtigung im Prüfsystem des Bundessteuerdienstes implementieren muss (bitte den Benutzer, eine Telefonnummer zu teilen, eine Anfrage zur Benutzerautorisierung an den Bundessteuerdienst zu senden, den Benutzer aufzufordern, ein Passwort von der SMS zu teilen).
Update 19.08.2019Mit den Einschränkungen der FTS-API sind wir immer noch konfrontiert. Bot geändert. Jetzt sind Benutzer eingeladen, sich im Schecksystem des Bundessteuerdienstes zu autorisieren. Nach erfolgreicher Autorisierung kann der Benutzer Informationen vom FTS aus Schecks innerhalb der ihm persönlich zugewiesenen Grenzen erhalten.