GithubHelp home page GithubHelp logo

firefly-iii-telegram-bot's Introduction

Telegram bot for Firefly III (alfa version! Can contain bugs, please send your issues!)

This is bot for firefly iii.

The idea

Using financial tools needs high level of self-discipline. You need to write down all the transactions every day. Some people can't do that.

This bot reminds you to enter data about your finances and makes some boring operations for you.

That's the easy way for you and your family to manage finances.

Requirements to Firefly III

Every person that will work with your Firefly III should have it's personal pocket account.

All transactions that bot will create will be attached to budgets, so you should set them.

All transactions should be made in the same currency.

Self-hosted installation and running

Installatino ob Ubuntu

Download source code from github (https://github.com/may-cat/firefly-iii-telegram-bot)

Check if python3 and pip3 is installed or install them:

apt-get install -y python3 pip3

Install python requirements

pip3 install -r requirements.txt

Creating telegram bot

Find user @BotFather in your telegram. Register new bot with /newbot command - you will get access token like this: 677617003:AAEJr4hOJzFGqDNI6CO8jpSJzqdhnNaEghI.

Copy config.json.example to config.json and put your access token there.

Running bot manually

You can run telegram bot manually:

python3 bot.py

Notice! In some countries (for example: in Russia) you can't reach telegram.me server due governement restrictions. Use other country's hosting or VPN, Luke!

Running bot as daemon

TODO: write algorithm

Usage

Connecting

Find your bot (BotFather told you how to do this) and send /start command to him. Follow bot's instructions.

It will ask you for your firefly server, for example: https://demo.firefly-iii.org.

Then it will ask you for your personal firefly access token. You should generate it in your Firefly (for example on https://demo.firefly-iii.org/profile page in Personal Access Tokens section).

Then bot will ask you to choose account for your pocket. Every day at 8 pm bot will ask you how much money do you have in your pocket. If amount increases - bot asks you, where you got money. If decreases - bot asks you, where did you spend money (on which budget)

Making transactions

Just tell your bot how much did you spent and some description. For exmaple 12 tea. Bot will ask you, which budget this transactions should be attached and will add the transaction.

Sheduled balance actualization

Once a day, at 20:00 bot will ask you, how much money do you have in your pocket.

If amount is more, than firefly III knows for the moment - bot will ask you, from which account did you get the money.

If it's less - bot will calculate the difference and will help you to create transaction for the difference.

Contribute

Fill free to send you merge requests.

Contact

You can contact me by e-mail: [email protected] or by telegram @i_tsupko

Other stuff

License

MIT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.