From fad641185052a6afd44ad2d97cbb515cc70b508c Mon Sep 17 00:00:00 2001
From: Linventif <linventif@gmail.com>
Date: Tue, 26 Sep 2023 16:23:54 +0200
Subject: [PATCH] getTriggerInfo

---
 lua/gmod_integration/server/sv_main.lua | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/lua/gmod_integration/server/sv_main.lua b/lua/gmod_integration/server/sv_main.lua
index 1d3c136..39f9dcb 100644
--- a/lua/gmod_integration/server/sv_main.lua
+++ b/lua/gmod_integration/server/sv_main.lua
@@ -50,12 +50,19 @@ function gmInte.playerConnect(data)
     gmInte.post("/server/user/connect", data)
 end
 
-local function triggerChat(text)
+local function getTriggerInfo(text)
     for k, v in pairs(gmInte.config.chatTrigger) do
         if (string.StartWith(text, k)) then
-            if (tostring(v) == "false") then return false end
-            if (tostring(v) == "true") then v = "" end
-            return v .. string.sub(text, string.len(k) + 1)
+            local defaultConfig = {
+                    ["prefix"] = "",
+                    ["show_rank"] = false,
+                    ["anonymous"] = false,
+                    ["channel"] = "admin_sync_chat"
+            }
+            for k2, v2 in pairs(v) do
+                defaultConfig[k2] = v2
+            end
+            return defaultConfig.prefix .. string.sub(text, string.len(k) + 1)
         end
     end
 
@@ -64,13 +71,14 @@ end
 
 function gmInte.playerSay(ply, text, team)
     if (!gmInte.config.syncChat) then return end
-    local triggerText = triggerChat(text)
-    if (!triggerText && !gmInte.config.chatTriggerAll) then return end
+    local triggerInfo = getTriggerInfo(text)
+    if (!triggerInfo && !gmInte.config.chatTriggerAll) then return end
 
     gmInte.post("/server/user/say",
         {
             ["steamID64"] = ply:SteamID64(),
-            ["message"] = triggerText,
+            ["usergroup"] = ply:GetUserGroup();
+            ["msgInfo"] = triggerInfo,
             ["name"] = ply:Nick(),
             ["team"] = team,
         }