- Removed the `analyze_data_file` function from tool definitions to streamline functionality.
- Enhanced the `execute_python_code` function description to clarify auto-installation of packages and file handling.
- Deleted the `python_executor.py` module to simplify the codebase and improve maintainability.
- Introduced a new `token_counter.py` module for efficient token counting for OpenAI API requests, including support for Discord image links and cost estimation.
- Added `data_utils.py` for analyzing and visualizing data from CSV/Excel files.
- Introduced asynchronous processing to handle file uploads without blocking.
- Enhanced error handling for file reading and data conversion.
- Implemented various chart types (pie, bar, scatter, histogram, line) based on user queries.
- Added metadata management for generated charts, including cleanup of old charts.
feat: Create reminder management system for Discord
- Added `reminder_utils.py` to manage user reminders in Discord.
- Implemented functionality to add, retrieve, delete, and process reminders.
- Integrated timezone handling for accurate reminder scheduling.
- Developed a loop to check for due reminders and send notifications.
- Included parsing for various time formats to set reminders.
* Handle cases where user model is not found, default to `gpt-4o-mini`
* Handle cases where user history is not found or blank, count tokens as 0
* Add unit tests for `/user_stat` command
* Test default model `gpt-4o-mini` if user model not found
* Test token count as 0 if user history is not found or blank
* Add tests for remaining functions in `bot.py`
Add a new slash command `/user_stat` to fetch and display user statistics.
* **bot.py**
- Add a new slash command `/user_stat` to fetch and display the current input token, output token, and model for the user.
- Retrieve the user's history to calculate the input and output tokens.
- Fetch the model from the database.
- Update the `help_command` to include the new `/user_stat` command.
* **README.md**
- Add documentation for the new `/user_stat` command.
---
For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/Coder-Vippro/ChatGPT-Discord-Bot?shareId=XXXX-XXXX-XXXX-XXXX).
Add functionality to track and reset chat turns for each user and model, and implement a new slash command to check remaining chat turns.
- Add a new MongoDB collection `chat_turns` to track chat turns for each user and model.
- Implement functions to get, update, and reset remaining chat turns.
- Add a daily reset task to reset chat turns for all users and models.
- Add a new slash command `/remaining_turns` to check the remaining chat turns for each model.
- Update the help command to include the new `/remaining_turns` command.
- Add unit tests for the new MongoDB collection `chat_turns`.
- Add unit tests for the daily reset of chat turns.
- Add unit tests for the new slash command `/remaining_turns`.
- Add unit tests for the rate limits for each model.
---
For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/Coder-Vippro/ChatGPT-Discord-Bot?shareId=XXXX-XXXX-XXXX-XXXX).