Bot de Telegram para controle de gastos pessoais com registro rápido, relatório mensal e exportação em CSV.
- Registro de gasto por mensagem no formato:
valor categoria - Relatório mensal do mês atual
- Relatório do mês anterior
- Exportação do relatório em arquivo CSV
- Desfazer último registro com confirmação
- Limpeza automática de arquivos CSV antigos (mais de 62 dias)
main.py
handlers/
processaGastos.py
relatorio.py
desfazerRegistro.py
- Python 3.10+
- Biblioteca
pyTelegramBotAPI - Biblioteca
python-dotenv
-
Clone o repositório e entre na pasta do projeto
-
(Opcional) Crie e ative um ambiente virtual:
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# ou
venv\Scripts\activate # Windows- Instale as dependências:
pip install pyTelegramBotAPI python-dotenv- Crie um arquivo
.envna raiz do projeto:
touch .env- Adicione seu token do bot no arquivo
.env:
TELEGRAM_BOT_TOKEN=seu_token_aqui- (Importante) Adicione o
.envao.gitignorepara não expor seu token:
echo ".env" >> .gitignoreComo obter o token: Fale com o @BotFather no Telegram e crie um novo bot. Ele fornecerá o token de autenticação.
Na raiz do projeto:
python3 main.py- Envie
/start - Use os botões para acessar as principais funções
Envie uma mensagem no formato:
25 transporte
Também aceita decimal com vírgula:
12,50 almoço
- Relatório mensal: mostra gastos do mês atual
- Relatório anterior: mostra gastos do mês passado
Após abrir um relatório, clique em Gerar CSV para receber o arquivo do mês correspondente.
Use Desfazer ultimo registro e confirme no botão inline.
Os gastos são armazenados com nomes como:
gastos_2026_janeiro.csvgastos_2026_fevereiro.csv
Colunas:
ValorCategoriaData
- O relatório agrupa por categoria e exibe também os lançamentos individuais.
- Se não houver registros no mês, o bot informa que não há dados.
- O bot usa
infinity_polling(), então deve ficar em execução contínua para responder mensagens.