Commit Graph

38 Commits

Author SHA1 Message Date
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
cab2008838 feat: Add standard .gitignore and .dockerignore files for project exclusion rules. 2025-12-18 00:27:20 -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
Marco Gallegos
ade8a5f98d Merge pull request #15 from marcogll/feat/create-tag-command-4960906393557654142
Feat/create tag command 4960906393557654142
2025-12-18 00:06: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
Marco Gallegos
5327a078f9 Merge pull request #14 from marcogll/feat/create-tag-command-4960906393557654142
Add `/create_tag` command for generating NFC data
2025-12-17 22:42:24 -06: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
Marco Gallegos
a598ef6916 Merge pull request #13 from marcogll/feature/implement-final-features-13803593538780194893
Implement LLM and Scheduler Modules
2025-12-15 18:34:59 -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
Marco Gallegos
9654ba7dd5 Merge pull request #12 from marcogll/feat/add-print-command-8512170790091266484
feat: Add /print command for authorized users
2025-12-15 17:46:13 -06: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
e4f058766c Merge pull request #11 from marcogll/feat/add-print-command-8512170790091266484
Add /print command for authorized users
2025-12-15 17:32:33 -06: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
Marco Gallegos
93530967b1 Merge pull request #10 from marcogll/feature/google-calendar-integration-14767443416126099530
feat: Implement LLM and scheduler functionalities
2025-12-15 17:27:25 -06: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
Marco Gallegos
0e8cfef055 Merge pull request #9 from marcogll/feature/google-calendar-integration-14767443416126099530
feat: Implement Google Calendar Integration
2025-12-15 17:17:34 -06: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
Marco Gallegos
6bdae0869c Merge pull request #8 from marcogll/feat/initial-project-structure-5769203822268670178
feat: Complete Phase 3 and refactor dispatcher
2025-12-15 15:47:24 -06: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
Marco Gallegos
33c36a2b83 Merge pull request #7 from marcogll/feat/initial-project-structure-5769203822268670178
Feat/initial project structure 5769203822268670178
2025-12-15 14:42:16 -06:00
Marco Gallegos
5eb48263e5 Merge pull request #6 from marcogll/main
Merge pull request #5 from marcogll/feat/initial-project-structure-57…
2025-12-15 14:41:50 -06: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
Marco Gallegos
a419b838d5 Merge pull request #5 from marcogll/feat/initial-project-structure-5769203822268670178
phase3
2025-12-15 14:31:45 -06: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
Marco Gallegos
6470ca6d28 Merge pull request #4 from marcogll/main
Merge pull request #3 from marcogll/feat/initial-project-structure-57…
2025-12-15 14:08:41 -06:00
Marco Gallegos
cb5500ad9b Merge pull request #3 from marcogll/feat/initial-project-structure-5769203822268670178
Feat/initial project structure 5769203822268670178
2025-12-15 13:38:31 -06:00
Marco Gallegos
ed76323aab Merge pull request #2 from marcogll/main
Merge pull request #1 from marcogll/feat/initial-project-structure-57…
2025-12-15 13:37:56 -06: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
Marco Gallegos
0bf70e8e93 Merge pull request #1 from marcogll/feat/initial-project-structure-5769203822268670178
Initial Project Structure
2025-12-15 13:16:33 -06: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
Marco Gallegos
be51ea1c92 Refine language and structure in README.md
Updated wording for clarity and consistency throughout the README. Adjusted sections on purpose, personality, roles, architecture, and deployment instructions.
2025-12-15 12:21:06 -06:00
Marco Gallegos
c828a77d66 Revise README for Talía assistant details
Updated README to reflect new branding and detailed functionality of the Talía assistant.
2025-12-15 12:04:24 -06:00
Marco Gallegos
8109507f92 Initial commit 2025-12-15 11:54:19 -06:00