Table of Contents
Dollar Bot is an easy-to-use Telegram Bot that assists you in recording your daily expenses on a local system without any hassle.
With simple commands, this bot allows you to:
- Add/Record new spendings
- Display your spendings through bar graph
- Show the sum of your expenditure for the current day/month
- Display your spending history
- Clear/Erase all your records
- Edit/Change any spending details if you wish to
Checkout the this documentation
The below instructions can be followed in order to set-up this bot at your end in a span of few minutes! Let's get started:
-
Clone this repository to your local system.
-
Start a terminal session in the directory where the project has been cloned. Run the following command to install the required dependencies:
pip install -r requirements.txt
- Download and install the Telegram desktop application for your system from the following site:
https://desktop.telegram.org/
- In Telegram, search for "BotFather". Click on "Start", and enter the following command:
/newbot
-
Follow the instructions on screen and choose a name for your bot (e.g.,
dollarbot
). After this, select a username for your bot that ends with "bot". The username has to be unique. -
BotFather will now confirm the creation of your bot and provide a TOKEN to access the HTTP API - copy and save this token for future use.
-
In the repo directory (where you cloned it), run these commands to (i) grant execution access to a bash script, and (ii) execute that bash script to run the Telegram Bot:
chmod a+x run.sh
./run.sh
(OR)
chmod a+x run.sh
bash run.sh
Note
: It will ask you to paste the API token you received from Telegram in step 4.
A successful run will generate a message on your terminal that says "TeleBot: Started polling."
- In the Telegram app, search for your newly created bot by entering the username and open the same. Now, on Telegram, enter the "/start" or "menu" command, and you are all set to track your expenses!
To run the script automatically at startup / reboot, simply add the .run_forever.sh
script to your .bashrc
file, which executes whenever you reboot your system.
We use pytest to perform testing on all unit tests together. The command needs to be run from the home directory of the project. The command is:
python run -m pytest test/
Code coverage is part of the build. Every time new code is pushed to the repository, the build is run, and along with it, code coverage is computed. This can be viewed by selecting the build, and then choosing the codecov pop-up on hover.
Locally, we use the coverage package in python for code coverage. The commands to check code coverage in python are as follows:
coverage run -m pytest test/
coverage report
This project is licensed under the terms of the MIT license. Please check License for more details.
Checkout the docs
We would be happy to receive contributions! If you'd like to, please go through our CONTRIBUTING.md
For any feedback, issues, or bug reports, please create an issue here.
- More content can be added for the way notifications can be displayed on the user front. This can be done to make the UI more interactive.
- Recurring expenses feature can be added for faster addition of expenses instead of following the whole process of everytime.
Usman Khan |
Aakriti Aakriti |
Suneha Bose |
Muskan Gupta |
Kriti Khullar |
- We would like to express our gratitude 🙏🏻 and a big thank you 😇 to Prof. Dr. Timothy Menzie for giving us the opportunity to get into the shoes of software building and learning new skills and development process throught the project building.
- A big thank you 😊 to the Teaching Assistants for their support.
- Thank you to the previous team 😊 for a thorough ReadMe and deatiled documentation.MyDollarBot
- Thank you to the ⭐️Telegram bot