https://www.youtube.com/watch?v=HFh_ms9q0As
SlashBot, your friendly Telegram companion, is the effortlessly witty sidekick for recording your daily expenses on a local system. This clever bot brings a touch of humor to mundane tasks, allowing you to:
- Add/Record new spending: Because your expenses deserve a grand entrance!
- Show daily/monthly expenditure: Your financial status is delivered with a side of charm.
- Display spending history: A stroll down memory lane, expense-style.
- Clear/Erase records: Giving you a clean slate, with a dash of drama.
- Edit/Change spending details: Like a magician tweaking the details to keep things interesting.
- Download expenditure history in CSV format: Because spreadsheets are more fun when they come with a little flair.
- Visualize spending with graphs/pie charts: Turning your expenses into a visual masterpiece, one chart at a time.
- Email history CSV file: Sending your financial history with a touch of sophistication.
- See total daily/monthly expenditure in different currencies: Because money speaks many languages.
- Add/Delete members: Managing your squad with a sprinkle of organizational magic.
- Display members: A roll call of your financial confidantes.
- Split bills across different members: Dividing the financial pie, no math degree required.
- Email split bills: Sharing expenses with a touch of class.
- Display split bills: Showing off the art of financial collaboration.
- Delete split bills: Erasing the evidence, just like magic.
Sample demos are shown below. They are run on a local machine.
Divvy up expenses with flair using SlashBot's /splitBill command! Here's how you can make your financial life a breeze:
-
Split a Bill (/split bill):
- Effortlessly divide expenses among different members using this nifty command.
-
Email the Split Bill (/emailBill):
- Send out the divvied-up bill directly to the involved members using the /emailBill command.
-
Display Bill History (/viewSplitBill):
- Curious about your past financial collaborations? Simply use /viewSplitBill to see the history.
-
Delete a Bill (/deleteBill):
- Choose the bill you wish to erase by using /deleteBill, keeping your financial records as tidy as can be.
-
Email Bill Details (/emailBill):
- Choose the bill you wish to view or save, just hit the email command.
-
AI Feature 🌟:
- Just put in any message and the AI will have a solution for your problems.
-
Testing Requirements in README.md:
- Find all the details you need for testing in the README.md file. Testing made as easy as using the /splitBill command!
-
Additional Test Cases:
- To ensure robust functionality, we've added more test cases to cover various scenarios. Because comprehensive testing is the key to a flawless financial experience!
With these commands and testing enhancements, SlashBot transforms bill splitting into a seamless and delightful experience. Financial harmony, one command at a time! 💸🤖✉️
- Add members using /addMember
- Delete the member by choosing the name of the member by using /memberDelete
- Display the member's list by using the /memberList
- Add more documents for the functions
Setting up your environment for MyDollarBot is a breeze! Just follow these steps:
-
Install Python:
- Ensure you have at least Python3 installed on your system.
-
Clone Repository:
- Clone this repository to a directory of your choice on your local system.
-
Navigate and Install Dependencies:
- Open a terminal session, navigate to the cloned repository, and run:
pip install -r requirements.txt
- Open a terminal session, navigate to the cloned repository, and run:
-
Download Telegram Desktop App:
- Install the Telegram desktop application from desktop.telegram.org.
-
Create a Telegram Bot:
- Search for "BotFather" in Telegram and follow the instructions to create a new bot.
-
Set API_TOKEN Environment Variable:
- Create a new System Variable named "API_TOKEN" in your computer's environment variables and paste the token obtained from BotFather.
-
Run the Bot:
- In the terminal, export the PYTHONPATH variable to the main project folder:
A successful run will display "TeleBot: Started polling."
python src/bot.py
- In the terminal, export the PYTHONPATH variable to the main project folder:
-
Test Your Bot:
- Search for your bot on Telegram and enter "/start" or "/menu" to begin tracking your expenses.
For details on deploying on Heroku and more developer tips, check out the documentation here. Happy tracking! 📊💸🤖
- Some modules in testing require the CHAT_ID environment variable to be set.
- This is the specific ID that is maintained for your chat with the Bot.
- While running the bot.py, get this ID from line 72 and set it in your system environment variables.
- This should ensure the effective running of all tests.
- Enter the
/addMember
command - Enter the new new member name
- Enter the member email address
- Enter the
/memberDelete
command - Chose the name of the member
- Enter the
/memberList
command
- Enter the
/splitBill
command - Enter name of the bill
- Enter amount of the bill
- Chose Creditor
- Chose Debtors
- Enter the
/viewSplitBill
command
- Enter the
/emailBill
command
- Enter the
/deleteBill
command - Chose the name of the bill to delete
I want to send myself an email for the monthly expenditure
- Enter the
/clearBill›
command
- Enter the
/emailBill
command - Enter your email-id
- Message 'Hi', 'Hello' or literrally anything else.
- Sit-back and let AI worry about your problem.
- View the solution that AI provides you.
This project is licensed under the terms of the MIT license. Please check License for more details.
Factor | Score | Notes |
---|---|---|
Video | 3 | Link Updated (https://www.youtube.com/watch?v=HFh_ms9q0As) |
Workload | 3 | Distributed |
Number of commits | 3 | 20+ |
Number of commits: by different people | 3 | https://github.com/NidhayPancholi/slashbot/graphs/contributors |
Issues report: There are many | 2 | https://github.com/NidhayPancholi/slashbot/pulse |
Issues are being closed | 2 | https://github.com/NidhayPancholi/slashbot/pulse |
DOI badge | 3 | |
Docs: format | 3 | |
Docs: description | 3 | |
Docs: short animated video | 2 | |
Docs: strong punchlines | 3 | |
Docs: mini tutorials | 3 | |
Use of version control tools | 2 | |
Use of style checkers | 3 | |
Use of code formatters. | 3 | |
Use of syntax checkers. | 3 | |
Use of code coverage | 3 | |
Other automated analysis tools | 2 | |
Test cases exist | 3 | |
Test cases are routinely executed | 2 | |
The files http:https://contributing.md/ lists coding standards and lots of tips | 3 | |
Issues are discussed before they are closed | 3 | |
Chat channel: exists | 3 | |
Test cases: a large proportion of the issues related to handling failing cases. | 2 | |
Evidence that the whole team is using the same tools | 3 | |
Evidence that the members of the team are working across multiple places in the code base | 2 | |
Short release cycles | 3 | |
Does your website and documentation provide a clear, high-level overview of your software? | 3 | |
Does your website and documentation clearly describe the type of user who should use your software? | 3 | |
Do you publish case studies to show how your software has been used by yourself and others? | 3 | |
Is the name of your project/software unique? | 3 | |
Is your project/software name free from trademark violations? | 2 | |
Is your software available as a package that can be deployed without building it? | 3 | |
Is your software available for free? | 3 | |
Is your source code publicly available to download, either as a downloadable bundle or via access to a source code repository? | 3 | |
Is your software hosted in an established, third-party repository like GitHub? | 3 | |
Is your documentation clearly available on your website or within your software? | 3 | |
Does your documentation include a "quick start" guide, that provides a short overview of how to use your software with some basic examples of use? | 2 | |
If you provide more extensive documentation, does this provide clear, step-by-step instructions on how to deploy and use your software? | 3 | |
Do you provide a comprehensive guide to all your software’s commands, functions and options? | 3 | |
Do you provide troubleshooting information that describes the symptoms and step-by-step solutions for problems and error messages? | 3 | |
If your software can be used as a library, package or service by other software, do you provide comprehensive API documentation? | 3 | |
Do you store your documentation under revision control with your source code? | 2 | |
Do you publish your release history e.g. release data, version numbers, key features of each release etc. on your web site or in your documentation? | 3 | |
Does your software describe how a user can get help with using your software? | 3 | |
Does your website and documentation describe what support, if any, you provide to users and developers? | 3 | |
Does your project have an e-mail address or forum that is solely for supporting users? | 3 | |
Are e-mails to your support e-mail address received by more than one person? | 3 | |
Does your project have a ticketing system to manage bug reports and feature requests? | 2 | |
Is your project's ticketing system publicly visible to your users, so they can view bug reports and feature requests? | 3 |
Weizhi Gao |
Fucheng Guo |
Zikang Wang |
Dongming Wu |
|
Modified Phase | Nidhay Pancholi |
Aryan Gupta |
Lagani Patel |
Aditi Verma |
For any support, email us at [email protected]