This is an open-source Telegram bot that helps you track your personal finances using natural language. You can record expenses and income, track debts, and view financial summaries, all through simple voice messages or text.
- Natural Language Processing: Add transactions by sending messages like "spent 50k on groceries" or "received 100 dollars from John."
- Voice-to-Text: Record your transactions by sending a voice message.
- Multi-Currency Support: Tracks finances in both UZS and USD.
- Debt Management: Keep a record of money you've lent and get reminders when it's due.
- Financial Reports: Get daily, monthly, or yearly summaries of your expenses with visual charts.
- Data Export: Download your entire transaction history as a CSV file.
- Secure and Private: This is a self-hosted bot, meaning you have full control over your data.
- Open Telegram and search for the @BotFather.
- Start a chat with the BotFather and send the
/newbotcommand. - Follow the instructions to choose a name and username for your bot.
- The BotFather will give you a unique API Token. Copy this token and keep it safe.
- Go to the OpenAI website and create an account.
- Navigate to the API section and create a new secret key.
- Copy this API key.
- Download the Code:
- Clone this repository to your server:
bash git clone https://github.com/aviabrain/AI-Finance-Tracker-Telegram-Bot.git- Install Dependencies:
- Navigate into the project directory and install the required Python libraries
cd AI-Finance-Tracker-Telegram-Bot && pip install -r requirements.txt-
Add Your API Keys:
- Open the
main.pyfile in a text editor. - Find the following lines and paste your API keys:
TELEGRAM_BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN" OPENAI_API_KEY = "YOUR_OPENAI_API_KEY"
- Open the
-
Run the Bot:
- Execute the script from your terminal:
python main.py- Find your bot in Telegram by searching for its username.
- Start a chat and follow the on-screen instructions to register.
- You're all set! Start sending messages like:
- "I spent 15,000 on a taxi"
- "Got my salary of 500 usd"
- "Lent 20k to my friend, he will return it next week"
Contributions are welcome! If you have any ideas for improvements or find any bugs, feel free to open an issue or submit a pull request.