O artigo é dedicado à revisão do produto comercial - Telegram-bot @budgetmoneybot por manter o orçamento da família.Antes de iniciar a revisão, gostaria de escrever algumas linhas sobre como minha esposa e eu chegamos à administração do orçamento no Telegram.
Devo dizer que começamos a perceber a necessidade de orçamento desde os primeiros dias após o casamento. Primeiro, registramos nossas receitas e despesas em uma
tabela simples de
ods .

Mas manter tal mesa depois de alguns meses nos pareceu entediante. Eu realmente queria ter uma ferramenta mais móvel que permita salvar dados e exibir relatórios.
Não obstante, durante cinco anos, temos diligentemente preenchido a tabela, em um grau ou outro, regulando nossas despesas. Depois, houve um ano de intervalo, durante o qual estávamos novamente convencidos de que precisávamos manter um orçamento.
No início de 2019, decidimos novamente manter um orçamento, mas não queríamos voltar a preencher a tabela ods. Tentamos alguns serviços móveis e chegamos à conclusão de que eles não nos agradam.
Então pensei que, para o gerenciamento do orçamento, seria conveniente usar um bot do Telegram que recebesse mensagens com números ou expressões matemáticas e distribuísse os valores em categorias pré-configuradas. Além disso, eu queria poder enviar fotos de códigos QR nos cheques para um tal bot, para que ele distribuísse as posições nos cheques por categoria. E para manter um orçamento familiar, seria bom criar um grupo separado no Telegram e adicionar um bot a ele.
Levei vários meses para implementar e testar esse bot. Mas, como se costuma dizer, “a estrada seguirá a estrada” - em agosto de 2019, o bot foi implementado.
O Telegram-bot
@budgetmoneybot oferece aos usuários a oportunidade de manter orçamentos pessoais e familiares.
Para manter um orçamento familiar, você precisa criar um grupo no Telegram e adicionar um bot a ele.


Escreva algo para o grupo. O bot irá sugerir a criação de categorias de receita e despesa.

Clicamos no botão "Receitas" e inserimos os nomes das fontes de receita e os valores planejados para o formato proposto. A seguir, apresentamos os nomes das categorias de despesas com valores planejados.
Eu recomendo usar emoji para visualizar categorias. Conveniente ao visualizar relatórios.

As categorias de receita e despesa são personalizadas! Agora tente adicionar informações de custo.

Nós selecionamos a categoria "Produtos".
A mensagem está sendo editada - um relatório sobre a adição da quantia é exibido.

O bot permite que você especifique a data. Isso é útil se, por exemplo, você depositar valores do mês anterior. Você também pode cancelar a adição do valor.
Agora adicione informações de renda.
Digite o valor, selecione o último botão "Para renda".

Depois selecione uma categoria.
Da mesma forma, a mensagem é editada - um relatório sobre a adição da quantia é exibido.

Vamos tentar ver o relatório.
Digite o comando / relatório.

Os botões abaixo do relatório permitem alternar rapidamente entre os meses do relatório.
Vamos tentar enviar ao bot uma foto do código QR no cheque.

O bot começará a categorizar os produtos. Se esta é a primeira vez que você compra feijão em uma loja (mais precisamente, "Feijão Fas 800gr: 6"), o bot perguntará a você em qual categoria adicionar a posição na verificação.
No nosso caso, são "produtos". Da próxima vez, os beans cairão automaticamente na categoria "Produtos".
Após a distribuição de todos os produtos em categorias, o bot emitirá um relatório.

O BudgetMoneyBot possui uma ampla variedade de configurações. Você pode adicionar, excluir, classificar e renomear categorias, alterar valores planejados, desatar mercadorias de categorias, exibir relatórios por um período arbitrário.
No futuro, pretendo expandir a funcionalidade.
Há uma taxa pelo uso do bot - 23 rublos por mês. Ao mesmo tempo, ao conectar, 23 rublos introdutórios são cobrados. Se a conta tiver "0", será possível usar o bot (dirija valores, envie cheques), mas os relatórios não estarão disponíveis. A balança não vai para menos.
Existe um programa de fidelidade por indicação: para cada usuário registrado por um link especial (ver / comando de referência), são cobrados 23 rublos.
Informações técnicasO bot é desenvolvido na linguagem Golang. O banco de dados é implementado no MongoDB. Das bibliotecas de terceiros,
tgbotapi e
mgo são usados . Para decodificar um código QR,
zbarimg é usado.
A coleta de informações das verificações foi primeiro vinculada diretamente aos sites dos operadores de dados fiscais. Mas a falta de uma API nos forçou a escrever scrapers da Web e, em alguns casos, tivemos que enviar fotos de captcha para os usuários. Em uma verificação, é impossível entender qual operador de dados fiscais você precisa acessar. A iteração sobre todos os operadores (em 22 de março de 2019, havia 21 deles) é trabalhosa. Portanto, decidiu-se entrar em contato diretamente com a API do Serviço Fiscal Federal.
Em Habré, os usuários
escreveram que há restrições na API do FTS. Não pude enfrentar as restrições. No entanto, admito que terei que implementar a autorização do usuário no sistema de verificação do Serviço Fiscal Federal (peça ao usuário para compartilhar um número de telefone, envie uma solicitação de autorização ao usuário ao Serviço Fiscal Federal, peça ao usuário que compartilhe uma senha do sms).
Atualização 08.19.2019Com as limitações da API do STF, ainda estamos enfrentando. Modificado o bot. Agora, os usuários são convidados a autorizar no sistema de verificação do Serviço Fiscal Federal. Após uma autorização bem-sucedida, o usuário poderá receber informações do STF de verificações dentro dos limites que lhe foram atribuídos pessoalmente.