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);
}
}