Automatic Google meet schedule - #42
sachin1301-w wants to merge 13 commits into
Conversation
Added the feature of Automatic google meet generator
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR migrates the bot’s LLM integration from the OpenAI Agents SDK to an Open Router chat-completions flow, while also adding lightweight meeting scheduling and improving message handling reliability.
Changes:
- Switch config + CLI key management from
openaiApiKeytoopenRouterApiKey(with legacy config compatibility). - Add meeting scheduling from natural-language text and
/schedule ...command support. - Add outgoing-echo suppression + message deduplication and new WhatsApp client event typings.
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| src/utils/banner.ts | Removes simulated startup spinners from banner rendering. |
| src/types/whatsapp-web.js.d.ts | Adds typings for new WhatsApp client events used by the bot. |
| src/storage/configStore.ts | Renames stored API key field to Open Router while keeping legacy compatibility on disk. |
| src/services/outgoingReplyTracker.ts | Adds in-memory TTL tracking to suppress outgoing message echoes. |
| src/services/messageHandler.service.ts | Adds quota backoff, outgoing-echo ignore, meeting scheduling hook, and safer contact resolution. |
| src/services/meetingScheduler.service.ts | New meeting-intent parser + Google Calendar/Meet creation orchestration. |
| src/services/command.service.ts | Enhances commands, adds /schedule ... meeting creation flow, and tracks outgoing replies for echo suppression. |
| src/config/localAuth.ts | Improves Google OAuth error handling (redirect URI mismatch guidance). |
| src/cli/run.ts | Improves env discovery, supports Open Router key detection, and sets runtime env accordingly. |
| src/cli/init.ts | Prompts for Open Router key and stores openRouterApiKey. |
| src/cli/index.ts | Updates key rotation flows to Open Router and writes updated config field. |
| src/bot.ts | Adds message deduping and also listens to message_create; logs additional startup events. |
| src/auth/googleAuth.ts | Preserves GoogleAuthError so callers can handle it explicitly. |
| src/agents/setEvent.service.ts | Updates agent instructions and uses OWNER_TIMEZONE env var in prompts. |
| src/agents/agent.servce.ts | Replaces Agents SDK orchestration with Open Router chat-completions + local fallback behavior. |
| docs/architecture.md | Updates architecture docs to reflect Open Router usage. |
| README.md | Updates README to Open Router terminology and runner naming. |
| .github/ISSUE_TEMPLATE/feature_request.md | Removes an extra blank template line. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@sachin1301-w the checks are failling fix the issues and again push the pr |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 18 changed files in this pull request and generated 9 comments.
Comments suppressed due to low confidence (1)
src/bot.ts:1
- Using
void getBanner(...)inside try/catch won’t catch async errors from getBanner (andreadyis already async). Eitherawait getBanner(...)so failures are properly handled, or make getBanner synchronous (it currently only logs) to avoid returning a Promise entirely.
/**
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
@sachin1301-w the checks are failing try again fixing the issues and raise the pr again |


Uploading Screen Recording 2026-05-24 223445.mp4…
Currently, when a user sends a scheduling message, the bot should automatically create a meeting and generate a meeting link without requiring extra follow-up messages. The bot should understand the scheduling intent from a natural message like “schedule meeting tomorrow at 3 pm” and then create the meeting link automatically.
Current Behavior
When a user asks to schedule a meeting, the bot may ask additional follow-up questions or return a conversational reply instead of directly creating the meeting link.
Expected Behavior
When a user sends a valid meeting-scheduling request, the bot should:
detect the scheduling intent from the message
create the meeting automatically
return the meeting link in the chat
optionally include the scheduled time and date in the response
Acceptance Criteria
A natural message requesting a meeting should trigger meeting creation.
The meeting link should be generated automatically.
The bot should reply with the meeting link in a clear format.
The flow should work without requiring extra manual confirmation unless the request is ambiguous.
The response should be fast and reliable.
Example User Message
schedule meeting tomorrow at 3 pm
Example Expected Reply
Meeting created successfully. Here is your meeting link: