Commit Graph

20 Commits

Author SHA1 Message Date
google-labs-jules[bot]
c9ef9ab5b5 feat: Restructure admin menu and enhance Vikunja integration
Restructures the admin menu into a primary and secondary menu for better user experience.
The primary menu now shows the most common actions.
The secondary menu contains less frequent admin commands.

Refactors the Vikunja module to be triggered by a menu button instead of a command.
Adds "edit task" functionality to the Vikunja module.
Fixes a bug where the button dispatcher was calling a non-existent function.
2025-12-18 15:05:54 +00:00
google-labs-jules[bot]
d0879cc3d6 feat: Implement interactive Vikunja task management
This commit introduces a `ConversationHandler` for the `/vik` command, replacing the previous simple command.

The new implementation provides an interactive menu for users with admin permissions to:
- View their tasks from a hardcoded project (ID 1).
- Add new tasks to the same project.

The changes include:
- A new `ConversationHandler` in `app/modules/vikunja.py` to manage the interactive flow.
- Integration of the new handler in `app/main.py`.
- Removal of the old `/vik` command handler.
- A fix in `test_vikunja.py` to correctly load environment variables.
2025-12-18 14:47:41 +00:00
Marco Gallegos
556fd8a3bd feat: Add Vikunja task management, refactor Google Calendar integration, and implement N8N webhook fallback. 2025-12-18 08:27:40 -06:00
Marco Gallegos
96542bcd61 feat: Implement dynamic Google Calendar agenda, and configure OpenAI model, Calendly link, and daily summary schedule. 2025-12-18 00:23:11 -06:00
Marco Gallegos
e960538943 docs: Translate comments and logging messages to Spanish across various modules and the scheduler. 2025-12-18 00:17:14 -06:00
google-labs-jules[bot]
7079348d00 docs: Add comprehensive comments and update README
This commit adds detailed inline comments and docstrings to all modules within the `app/modules/` directory to improve code clarity, readability, and maintainability.

It also updates the `README.md` file to include `create_tag.py` and `print.py` in the "Módulos Funcionales" section, ensuring the documentation is synchronized with the codebase.
2025-12-18 05:37:21 +00:00
google-labs-jules[bot]
02dba09599 docs: Add comments and document /create_tag command
This commit adds detailed inline comments to the `app/modules/create_tag.py` module to improve code clarity and maintainability.

It also updates the `README.md` file to include a new section documenting the functionality and usage of the `/create_tag` command.
2025-12-18 05:24:40 +00:00
google-labs-jules[bot]
9e7e093409 feat: Add /create_tag command for generating NFC data
This commit introduces a new `/create_tag` command that initiates a conversational flow to collect user data and generate a Base64-encoded JSON string for NFC tag creation.

- Adds a new module `app/modules/create_tag.py` with a `ConversationHandler` to manage the multi-step data collection.
- Prompts the user for `name`, `num_emp`, `sucursal`, and `telegram_id`.
- Generates a Base64-encoded JSON string from the collected data.
- Integrates the new command into `app/main.py`.
2025-12-18 04:02:26 +00:00
Marco Gallegos
ce30e5591e ajsutes codex 2025-12-15 18:47:48 -06:00
google-labs-jules[bot]
eb680edc54 feat: Implement LLM and scheduler modules
- Implement `llm.py` with OpenAI API integration for smart responses.
- Implement `scheduler.py` to send a daily summary to the bot owner using `python-telegram-bot`'s `JobQueue`.
- Integrate the scheduler into the main application.
- Add `pytz` as a new dependency.
- Update `tasks.md` to mark all tasks as complete.
2025-12-16 00:24:06 +00:00
google-labs-jules[bot]
48f932c134 feat: Add /print command for authorized users
This commit introduces a new `/print` command that is restricted to authorized users. The command displays non-sensitive configuration details to administrators.

The main changes are:
- Created `app/modules/print.py` to house the handler for the new command.
- The handler uses the existing `is_admin` function from `app/permissions.py` to check for authorization.
- The command displays the Timezone, Calendar ID, and n8n Webhook URL.
- Integrated the new command into `app/main.py`.
- Updated `tasks.md` to document the new feature.
2025-12-15 23:44:15 +00:00
Marco Gallegos
889f60997c Merge branch 'main' into feat/add-print-command-8512170790091266484 2025-12-15 17:32:20 -06:00
google-labs-jules[bot]
490f55bfcf feat: Add /print command for authorized users
This commit introduces a new `/print` command that is restricted to authorized users.

The main changes are:
- Created `app/modules/print.py` to house the handler for the new command.
- The handler uses the existing `is_admin` function from `app/permissions.py` to check for authorization.
- Integrated the new command into `app/main.py`.
- Updated `tasks.md` to document the new feature.
2025-12-15 23:31:39 +00:00
google-labs-jules[bot]
99faa1eecb feat: Implement LLM and scheduler functionalities
This commit finalizes Phase 4 of the project by implementing the
LLM and scheduler integrations.

- Implements `get_smart_response` in `app/llm.py` to generate
  AI-powered responses using the OpenAI API.
- Implements a daily summary scheduler in `app/scheduler.py` using
  the `JobQueue` from `python-telegram-bot` for better integration
  with the application's event loop.
- Adds `get_events_for_day` to `app/calendar.py` to fetch daily
  events for the summary.
- Integrates the scheduler into the main application loop in
  `app/main.py`.
- Improves the date formatting in the daily summary for better
  readability.
- Updates `tasks.md` to reflect the completion of Phase 4.
2025-12-15 23:25:52 +00:00
google-labs-jules[bot]
2a8f8dd537 feat: Implement Google Calendar integration
- Implements `get_available_slots` to find open time slots.
- Implements `create_event` to schedule new events.
- Uses a service account for server-to-server authentication.
- Adds `GOOGLE_SERVICE_ACCOUNT_FILE` and `CALENDAR_ID` to the configuration.
- Updates `tasks.md` to reflect the completion of the integration.
- Includes error handling for Google Calendar API calls.
2025-12-15 21:57:08 +00:00
google-labs-jules[bot]
dd7ce72f8b feat: Complete Phase 3 and refactor dispatcher
- Implements the `admin` module with a system status placeholder.
- Enhances the `onboarding` module to provide a dedicated menu for the `admin` role.
- Refactors the `button` handler in `main.py` to use a scalable, dictionary-based dispatcher for all module integrations.
- Updates `tasks.md` to mark the completion of all Phase 3 modules.
2025-12-15 20:51:42 +00:00
google-labs-jules[bot]
c603f5003e feat: Implement conversational flow for proposals
- Implements a multi-step conversational flow for team members to propose activities using `ConversationHandler`.
- Enhances the `aprobaciones` module to allow the owner to approve or reject proposals with inline keyboard buttons.
- Integrates the new conversational and approval workflows into the main application in `app/main.py`.
- Updates `tasks.md` to reflect the completion of the `equipo` and `aprobaciones` modules.
2025-12-15 20:41:07 +00:00
google-labs-jules[bot]
82b0e90faa feat: Implement Phase 3 modules
- Implements placeholder logic for the `agenda`, `citas`, `equipo`, `aprobaciones`, and `servicios` modules.
- Integrates all new module functions into the `button` handler in `app/main.py` to make the bot's menus functional.
- Fixes a newline formatting bug in the text responses to ensure they render correctly in Telegram.
- Updates `tasks.md` to reflect the progress on Phase 3.
2025-12-15 20:27:43 +00:00
google-labs-jules[bot]
f1fcc0ee93 feat: Implement core bot logic
- Implements the central orchestrator in `app/main.py` using `python-telegram-bot`.
- Integrates the `permissions` module to determine user roles based on chat IDs.
- Implements the `onboarding` module to provide role-based menus with inline keyboards.
- Adds a `CallbackQueryHandler` to handle button presses from the inline keyboards.
- Updates `tasks.md` to reflect the completion of Phase 2.
2025-12-15 19:26:16 +00:00
google-labs-jules[bot]
95f51d42a2 feat: Initial project structure
- Creates the initial project structure for the Talía bot, including the `app` and `app/modules` directories.
- Adds placeholder files for the core application logic, modules, and configuration.
- Includes a `Dockerfile` and `docker-compose.yml` for containerization.
- Adds a `requirements.txt` file with the necessary dependencies.
- Creates a `tasks.md` file to track development progress.
2025-12-15 18:45:37 +00:00