Commit Graph

18 Commits

Author SHA1 Message Date
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