From df0763d840b35d2c9498c8a4edb0307b63b7afaa Mon Sep 17 00:00:00 2001 From: ValueOn AG Date: Tue, 17 Feb 2026 23:44:13 +0100 Subject: [PATCH] feat: send greeting message in meeting chat after joining, skip camera toggle Co-authored-by: Cursor --- src/bot/orchestrator.ts | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/bot/orchestrator.ts b/src/bot/orchestrator.ts index 8b0f9db..3389bc0 100644 --- a/src/bot/orchestrator.ts +++ b/src/bot/orchestrator.ts @@ -167,6 +167,9 @@ export class BotOrchestrator { // Enable chat monitoring await this._enableChat(); + + // Send greeting in meeting chat + await this._sendJoinGreeting(); } /** @@ -320,6 +323,9 @@ export class BotOrchestrator { // Enable transcript capture (captions or audio based on transferMode) await this._enableTranscriptCapture(); await this._enableChat(); + + // Send greeting in meeting chat + await this._sendJoinGreeting(); } /** @@ -1045,7 +1051,33 @@ export class BotOrchestrator { this._logger.info('Chat monitoring enabled and subscribed'); } catch (error) { this._logger.warn('Could not enable chat monitoring:', error); - // Continue without chat - not a fatal error + } + } + + /** + * Send a greeting message in the meeting chat after joining. + * Uses the bot's display name and the configured language. + */ + private async _sendJoinGreeting(): Promise { + try { + const firstName = this._botName.split(' ')[0] || this._botName; + const lang = (this._options.language || 'de-DE').toLowerCase(); + + let greeting: string; + if (lang.startsWith('de')) { + greeting = `Hallo, hier ist ${firstName}. Ich bin bereit.`; + } else if (lang.startsWith('fr')) { + greeting = `Bonjour, c'est ${firstName}. Je suis prĂȘte.`; + } else if (lang.startsWith('it')) { + greeting = `Ciao, sono ${firstName}. Sono pronta.`; + } else { + greeting = `Hello, this is ${firstName}. I'm ready.`; + } + + this._logger.info(`Sending join greeting: ${greeting}`); + await this.sendChatMessageToMeeting(greeting); + } catch (error) { + this._logger.warn('Could not send join greeting:', error); } }