From 00708e4f8bf5ea6857e5f6e21b593a849fef9b44 Mon Sep 17 00:00:00 2001
From: Entwicklung <entwicklung@h2-invent.com>
Date: Mon, 4 Dec 2023 14:14:08 +0100
Subject: [PATCH] [MAJOR] * Add greeting funcionaltity * Add start meeting for
 @all

---
 confernceUtils.mjs | 15 +++++++++++++++
 index.mjs          | 10 +++++++++-
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/confernceUtils.mjs b/confernceUtils.mjs
index 300717a..daeb87c 100644
--- a/confernceUtils.mjs
+++ b/confernceUtils.mjs
@@ -32,6 +32,12 @@ export class conferenceUtils {
         await this.client.sendHtmlText(roomId, '<div role="button" tabindex="0" class="mx_AccessibleButton mx_MemberList_invite"><a href ="' + url + '">Hier der Konferenz beitreten</a></div> ');
     }
 
+    async inviteAll(roomId) {
+        var url = await this.createConference(roomId);
+        var text = '@room <h1>Diese Konferenz startet gerade</h1><br><a href="'+url+'">Jetzt dieser Konfernz beitreten</a>'
+        await this.client.sendHtmlText(roomId, text);
+    }
+
     async changeRoomName(roomId) {
         var roomDescription = await this.getRoomTopic(roomId)
 
@@ -51,6 +57,7 @@ export class conferenceUtils {
             roomId,
             'Neue Konferenz erstellen: !jitsi\n\r' +
             'Direkt der Konferenz beitreten: !join\n\r' +
+            'Konferenz für alle starten: !starten\n\r'+
             'Diese Hilfeseite anzeigen: !hilfe\n\r'
         );
     }
@@ -69,6 +76,14 @@ export class conferenceUtils {
 
         this.client.sendText(roomId, 'Version: '+BOT_VERSION);
     }
+    async sendWelcome(roomId) {
+        const text = 'Vielen Dank für die Einladung in diesen Raum.\n\r' +
+        ' Sie können mit mir chatten wie mit einem normalen Teilnehmenden.\n\r' +
+        ' Um auf alle meine Funktionen zugreifen zu können machen Sie mich bitte zu einem MODERATOR.\n\r' +
+        ' Alle weiteren Informationen erhalten sie durch tippen von "!hilfe"';
+        this.client.sendText(roomId, text);
 
+
+    }
 }
 
diff --git a/index.mjs b/index.mjs
index 59d3c30..8d3ceaa 100644
--- a/index.mjs
+++ b/index.mjs
@@ -28,10 +28,11 @@ AutojoinRoomsMixin.setupOnClient(client);
 
 // Before we start the bot, register our command handler
 client.on("room.message", handleCommand);
-
+client.on("room.join", handlemembership);
 // Now that everything is set up, start the bot. This will start the sync loop and run until killed.
 client.start().then(() => console.log("Bot started!"));
 client.setDisplayName(MATRIX_DISPLAYNAME)
+
 const conferenceUtil = new conferenceUtils(client);
 // This is the command handler we registered a few lines up
 async function handleCommand(roomId, event) {
@@ -54,7 +55,14 @@ async function handleCommand(roomId, event) {
     if (body?.startsWith("!hilfe")){
         conferenceUtil.sendHelp(roomId)
     }
+    if (body?.startsWith("!starten")){
+        conferenceUtil.inviteAll(roomId)
+    }
     if (body?.startsWith("!version")){
         conferenceUtil.getVersion(roomId)
     }
 }
+
+async function handlemembership(roomId, event) {
+    conferenceUtil.sendWelcome(roomId)
+}
\ No newline at end of file