You wake up, brew a fresh cup of coffee, and start your day. You’re excited because today is the day you take control of your finances like never before. How? Say hello to FinBot, your ultimate financial companion. With simple commands, it transforms your financial story into one of motivation, empowerment, and control.
And the best part? FinBot is your multi-platform financial sidekick, available on both Discord and Telegram. That means no matter where you are, it’s there to assist you in recording your expenses seamlessly.
https://www.youtube.com/watch?v=LkZGFGU5B6I
FinBot is a user-friendly Telegram and Discord bot designed to simplify your daily expense recording on a local system effortlessly. By offering the bot on two popular messaging platforms, we tap into a larger and diverse user base, increasing the potential reach of the service and enhancing user experience.
With simple commands, this bot allows you to:
📝 Add/Record a new spending: As you sip that morning coffee, effortlessly log your expenses, no matter how small or significant. Every expense adds up, and FinBot ensures you don’t miss a thing.
💡 Display your expenditure for the current day/month: With FinBot, you’re never in the dark about your spending. Get real-time insights on your daily and monthly expenses, motivating you to stay on budget and crush your financial goals.
🔍 Show your spending history: Ever wondered where your money disappears to? FinBot provides a detailed spending history that tells a story of your financial habits. It’s a tale of lessons and opportunities for improvement.
🗑️ Delete/Erase all your records: Made an error or just want to start afresh? It’s as simple as a command, a chance to correct your narrative without any hassle.
🔧 Edit/Change any spending details: Life is full of surprises, and sometimes expenses change. FinBot adapts with you, offering easy editing options to keep your story accurate.
📊 Set Your Budget: Take full control of your finances by defining and tracking your budget with FinBot. It’s the proactive step that puts you firmly in the driver’s seat of your financial journey.
📈 Visualize your spending: Numbers can be daunting, but FinBot transforms them into a captivating visual experience. Use the ‘/chart’ option to see your spending as graphs and pie charts. This punchline to your story helps you spot trends and make smarter financial choices.
Install Python, atleast Python3
Clone this repository to your local system at a suitable directory/location of your choice
Start a terminal session, and navigate to the directory where the repo has been cloned
pip install -r requirements.txt
Begin by downloading and installing the Telegram desktop application for your system from the official website: Telegram Desktop.
Log in to your Telegram account. In the Telegram app, search for “BotFather.” Click on “Start” to initiate a conversation with BotFather. Enter the following command: /newbot
Follow the on-screen instructions to choose a name for your bot. After naming your bot, select a username for your bot, which should end with “bot” (as instructed in the Telegram interface).
Once you’ve configured your bot, BotFather will confirm the creation and provide you with an API TOKEN. Copy this token for future use.
In the Telegram app, search for your newly created bot by entering its username. Open the bot’s chat to access its details.
Right-click on the chat with your bot in the Telegram app. Copy the chat’s ID as CHAT_ID for future reference.
Set both the CHAT_ID and API_TOKEN as environment variables on your computer. These variables are essential for your bot to interact with Telegram.
Open your terminal and navigate to the project’s root folder. Run the command: python src/TeleBot.py
in the terminal. A successful run will generate a message in your terminal, indicating that “TeleBot: Started polling.”
After a successful run, go to your bot on Telegram. Enter the “/start” or “/menu” command to initialize your bot, and you’re all set to track your expenses!
Start by downloading and installing the Discord desktop application for your system from the following official website: Discord Download.
Visit the Discord Developer Portal and create a new application. Follow the steps in this guide to create your Discord bot: Creating Your First Bot.
Give your bot a unique name and customize its avatar. Important: Ensure that your bot’s name does not include “Discord.” Applications with “Discord” in their name may not function correctly.
Once you’ve created your bot, it will be provided with a DISCORD_TOKEN. Make sure to copy this token as you’ll need it later.
From the Discord Developer Portal, configure your bot with the necessary permissions and rights. This ensures it can interact with servers and channels.
Create a server on Discord where your bot will operate. Inside this server, create a dedicated channel for your bot. Copy the CHANNEL_ID of this channel for future reference.
Set the DISCORD_TOKEN and CHANNEL_ID as environment variables on your computer. These variables will be used by your bot to connect to the correct server and channel.
Open your terminal and navigate to the project’s root folder. Run the command: python src/DiscordBot.py
in the terminal. A successful run will generate a message in your terminal, indicating that “Shard ID None has connected to Gateway.”
After a successful connection, go to your bot on Discord and enter the “#menu” command. Your bot is now ready to track your expenses!
Ensure that all necessary environment variables are correctly set on your computer. These variables are crucial for the functioning of your bot and test environment:
Navigate to the FinBot/test/unit folder in your project directory. In your terminal, run the following command:
python -m pytest
After running the tests, you should see a summary indicating the number of test failures and passes.
View all the commands Finbot offers to manage your expenses
#menu
command.Managing your monthly budget - increase/ decrease
#budget
commandView the entire history of the spendings till date
#history
commandRecord the money spent on any of the categories as a transaction
#add
commandDelete a transaction that has been recorded
#delete
commandAll
Edit or correct a record that has been miss-entered
#edit
commandDisplay the expenditure for the day or for the current month to keep track of your expenses and hence the monthly budget
#display
commandVisualize or track your expenses in the form of bar charts and pie charts
#chart
command.I want to increase/decrease my monthly budget.
/budget
commandI just spent money and want to mark it as a transaction!
/add
commandOh no! I entered a transaction but want to delete it!
/delete
commandOh no! I entered a transaction but entered the wrong category!
/edit
commandI want to see my spendings in the form of graphs
/chart
command.Thorough documentation of all methods and classes can be found at github pages
Our implementation has been tracked in a project board which can be viewed here - FinBot Developer board
Some possible future enhancements are as follows:
We would like to thank Dr. Timothy Menzies for helping us understand the process of building a good Software Engineering project. We would also like to thank the teaching assistants San Gilson, Andre Lustosa, Xueqi (Sherry) Yang, Yasitha Rajapaksha, and Rahul Yedida for their support throughout the project.
This project is licensed under the terms of the MIT license. Please check LICENSE for more details.
Harshavardhan Bandaru</a> |
Vyshnavi Adusumeli</a> |
Tejaswini Panati</a> |
For any support, email us at vadusum@ncsu.edu