anshuu rechat.  (updated)
Key RequiredUniversal

anshuu rechat. (updated)

Universal Scriptanshuuji08anshuuji08 972 views 679 executesUpdated Sep 23, 2026
Unrated
00
Lua Script•474 lines (16799 chars)
--========================================================--
-- 🚀 ANSHUU CHAT -- Gemini AI & Cross-Server Hub
-- STRICT OWNER: anshuuxdivine ONLY
-- SINGLE GLOBAL ROOM ENGINE
--========================================================--
local Players = game:GetService("Players")
local HttpService = game:GetService("HttpService")
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer

--========================================================--
-- CONFIGURATION
--========================================================--
local FIREBASE_URL = "https://YOUR-DATABASE-NAME.firebaseio.com" 
local CHAT_ROOM_PATH = "/global_main_room.json" -- Single Global Server Room Path
local OWNER_USERNAME = "anshuuxdivine"

local CLIENT_ID = HttpService:GenerateGUID(false)

--========================================================--
-- CROSS-EXECUTOR HTTP WRAPPER
--========================================================--
local function HttpRequest(options)
    local req = (syn and syn.request) or (http and http.request) or http_request or request
    if not req then return nil end

    local success, res = pcall(req, options)
    if success then return res end

    return nil
end

--========================================================--
-- STRICT OWNER CHECK
--========================================================--
local function IsOwner(username)
    if not username then return false end
    return tostring(username):lower():gsub("%s+", "") == OWNER_USERNAME:lower()
end

--========================================================--
-- RP NAME DETECTION
--========================================================--
local function GetRPName(player)
    if not player then return "Unknown" end

    local character = player.Character
    if character then
        for _, object in ipairs(character:GetDescendants()) do
            if object:IsA("TextLabel") and object.Visible then
                local objName = object.Name:lower()
                if (objName:find("rp") or objName:find("roleplay") or objName:find("nametag") or objName == "name") then
                    local text = object.Text
                    if text and text ~= "" and not text:find("ANSHUU CHAT") then 
                        return text 
                    end
                end
            end
        end
    end

    return (player.DisplayName and player.DisplayName ~= "") and player.DisplayName or player.Name
end

--========================================================--
-- SCREEN GUI SETUP
--========================================================--
local oldGui = LocalPlayer.PlayerGui:FindFirstChild("AnshuuChatUI")
if oldGui then oldGui:Destroy() end

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "AnshuuChatUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.IgnoreGuiInset = true
ScreenGui.Parent = LocalPlayer.PlayerGui

--========================================================--
-- MAIN CONTAINER
--========================================================--
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainContainer"
MainFrame.Size = UDim2.new(0, 330, 0, 310)
MainFrame.Position = UDim2.new(0.02, 0, 0.35, 0)
MainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 22)
MainFrame.BackgroundTransparency = 0.08
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui

local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 12)
MainCorner.Parent = MainFrame

--========================================================--
-- TITLE HEADER
--========================================================--
local Title = Instance.new("TextLabel")
Title.Name = "ChatTitle"
Title.Size = UDim2.new(1, -45, 0, 30)
Title.Position = UDim2.new(0, 10, 0, 2)
Title.BackgroundTransparency = 1
Title.Text = "🚀 ANSHUU CHAT [GLOBAL] 🚀"
Title.TextSize = 14
Title.Font = Enum.Font.GothamBold
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = MainFrame

local RGBObjects = {}
RGBObjects[Title] = true

--========================================================--
-- MINIMIZE BUTTON
--========================================================--
local MinimizeBtn = Instance.new("TextButton")
MinimizeBtn.Size = UDim2.new(0, 24, 0, 24)
MinimizeBtn.Position = UDim2.new(1, -30, 0, 5)
MinimizeBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
MinimizeBtn.Text = "-"
MinimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
MinimizeBtn.TextSize = 16
MinimizeBtn.Font = Enum.Font.GothamBold
MinimizeBtn.Parent = MainFrame

local MinCorner = Instance.new("UICorner")
MinCorner.CornerRadius = UDim.new(0, 6)
MinCorner.Parent = MinimizeBtn

--========================================================--
-- CONTENT & SCROLL AREA
--========================================================--
local ContentHolder = Instance.new("Frame")
ContentHolder.Size = UDim2.new(1, 0, 1, -35)
ContentHolder.Position = UDim2.new(0, 0, 0, 35)
ContentHolder.BackgroundTransparency = 1
ContentHolder.Parent = MainFrame

local ScrollContainer = Instance.new("ScrollingFrame")
ScrollContainer.Size = UDim2.new(1, -16, 1, -45)
ScrollContainer.Position = UDim2.new(0, 8, 0, 0)
ScrollContainer.BackgroundTransparency = 1
ScrollContainer.BorderSizePixel = 0
ScrollContainer.ScrollBarThickness = 4
ScrollContainer.CanvasSize = UDim2.new(0, 0, 0, 0)
ScrollContainer.Parent = ContentHolder

local UIListLayout = Instance.new("UIListLayout")
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 6)
UIListLayout.Parent = ScrollContainer

UIListLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
    ScrollContainer.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y + 10)
    ScrollContainer.CanvasPosition = Vector2.new(0, math.max(0, UIListLayout.AbsoluteContentSize.Y))
end)

--========================================================--
-- INPUT BOX
--========================================================--
local InputBox = Instance.new("TextBox")
InputBox.Size = UDim2.new(1, -16, 0, 32)
InputBox.Position = UDim2.new(0, 8, 1, -38)
InputBox.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
InputBox.PlaceholderText = "Type '@gemini <prompt>' to ask AI..."
InputBox.PlaceholderColor3 = Color3.fromRGB(140, 140, 150)
InputBox.Text = ""
InputBox.TextColor3 = Color3.fromRGB(255, 255, 255)
InputBox.TextSize = 13
InputBox.Font = Enum.Font.Gotham
InputBox.ClearTextOnFocus = false
InputBox.Parent = ContentHolder

local InputCorner = Instance.new("UICorner")
InputCorner.CornerRadius = UDim.new(0, 8)
InputCorner.Parent = InputBox

--========================================================--
-- MINIMIZE LOGIC
--========================================================--
local minimized = false
MinimizeBtn.MouseButton1Click:Connect(function()
    minimized = not minimized
    if minimized then
        ContentHolder.Visible = false
        MainFrame:TweenSize(UDim2.new(0, 330, 0, 35), Enum.EasingDirection.Out, Enum.EasingStyle.Quart, 0.2, true)
        MinimizeBtn.Text = "+"
    else
        MainFrame:TweenSize(UDim2.new(0, 330, 0, 310), Enum.EasingDirection.Out, Enum.EasingStyle.Quart, 0.2, true)
        task.delay(0.2, function()
            if not minimized then ContentHolder.Visible = true end
        end)
        MinimizeBtn.Text = "-"
    end
end)

--========================================================--
-- REALTIME RGB ENGINE
--========================================================--
RunService.RenderStepped:Connect(function()
    local hue = (os.clock() * 0.35) % 1
    local rgbColor = Color3.fromHSV(hue, 0.9, 1)
    for object, _ in pairs(RGBObjects) do
        if object and object.Parent then
            object.TextColor3 = rgbColor
        else
            RGBObjects[object] = nil
        end
    end
end)

--========================================================--
-- CHAT MESSAGE RENDERER
--========================================================--
local function RenderChatMessage(data)
    if type(data) ~= "table" then return end

    local Frame = Instance.new("Frame")
    Frame.Size = UDim2.new(1, 0, 0, 42)
    Frame.BackgroundTransparency = 1
    Frame.Parent = ScrollContainer

    -- Avatar Display
    local Avatar = Instance.new("ImageLabel")
    Avatar.Size = UDim2.new(0, 30, 0, 30)
    Avatar.Position = UDim2.new(0, 0, 0, 2)
    Avatar.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
    Avatar.BorderSizePixel = 0
    Avatar.Parent = Frame

    local AvatarCorner = Instance.new("UICorner")
    AvatarCorner.CornerRadius = UDim.new(1, 0)
    AvatarCorner.Parent = Avatar

    if data.isGemini then
        Avatar.Image = "rbxassetid://10888331510"
    elseif tonumber(data.userId) then
        task.spawn(function()
            pcall(function()
                Avatar.Image = Players:GetUserThumbnailAsync(
                    tonumber(data.userId),
                    Enum.ThumbnailType.HeadShot,
                    Enum.ThumbnailSize.Size100x100
                )
            end)
        end)
    end

    -- Name Layout Frame
    local NameContainer = Instance.new("Frame")
    NameContainer.Size = UDim2.new(1, -38, 0, 17)
    NameContainer.Position = UDim2.new(0, 36, 0, 0)
    NameContainer.BackgroundTransparency = 1
    NameContainer.Parent = Frame

    local NameLayout = Instance.new("UIListLayout")
    NameLayout.FillDirection = Enum.FillDirection.Horizontal
    NameLayout.Padding = UDim.new(0, 4)
    NameLayout.Parent = NameContainer

    -- TAGS
    local msgUsername = tostring(data.username or "")
    if IsOwner(msgUsername) then
        local OwnerTag = Instance.new("TextLabel")
        OwnerTag.AutomaticSize = Enum.AutomaticSize.X
        OwnerTag.Size = UDim2.new(0, 0, 1, 0)
        OwnerTag.BackgroundTransparency = 1
        OwnerTag.Text = "[👑 OWNER]"
        OwnerTag.TextSize = 12
        OwnerTag.Font = Enum.Font.GothamBold
        OwnerTag.Parent = NameContainer
        RGBObjects[OwnerTag] = true
    elseif data.isGemini then
        local AITag = Instance.new("TextLabel")
        AITag.AutomaticSize = Enum.AutomaticSize.X
        AITag.Size = UDim2.new(0, 0, 1, 0)
        AITag.BackgroundTransparency = 1
        AITag.Text = "[🤖 AI]"
        AITag.TextColor3 = Color3.fromRGB(0, 180, 255)
        AITag.TextSize = 12
        AITag.Font = Enum.Font.GothamBold
        AITag.Parent = NameContainer
    end

    -- RP / DISPLAY NAME
    local RPName = Instance.new("TextLabel")
    RPName.AutomaticSize = Enum.AutomaticSize.X
    RPName.Size = UDim2.new(0, 0, 1, 0)
    RPName.BackgroundTransparency = 1
    
    local rawName = tostring(data.rpName or data.displayName or data.username or "Unknown")
    RPName.Text = (rawName ~= "" and rawName) or "Unknown"
    RPName.TextSize = 12
    RPName.Font = Enum.Font.GothamBold
    RPName.Parent = NameContainer
    
    if IsOwner(msgUsername) then
        RGBObjects[RPName] = true
    elseif data.isGemini then
        RPName.TextColor3 = Color3.fromRGB(100, 200, 255)
    else
        RPName.TextColor3 = Color3.fromRGB(220, 220, 230)
    end

    -- Message Body
    local Message = Instance.new("TextLabel")
    Message.Size = UDim2.new(1, -38, 0, 20)
    Message.Position = UDim2.new(0, 36, 0, 17)
    Message.BackgroundTransparency = 1
    Message.Text = tostring(data.message or "")
    Message.TextColor3 = Color3.fromRGB(255, 255, 255)
    Message.TextSize = 12
    Message.Font = Enum.Font.Gotham
    Message.TextXAlignment = Enum.TextXAlignment.Left
    Message.TextWrapped = true
    Message.Parent = Frame
end

--========================================================--
-- GEMINI AI API HANDLER
--========================================================--
local function FetchGeminiResponse(userPrompt)
    local query = HttpService:UrlEncode(userPrompt)
    local apiUrl = "https://api.popcat.xyz/chatbot?msg=" .. query

    local response = HttpRequest({
        Url = apiUrl,
        Method = "GET"
    })

    if response and response.StatusCode == 200 then
        local success, result = pcall(function() return HttpService:JSONDecode(response.Body) end)
        if success and result and result.response then
            return result.response
        end
    end

    return "Mujhe aapke sawaal ka jawaab process karne me problem hui. Kripya firse try karein!"
end

--========================================================--
-- SEND MESSAGE FUNCTION
--========================================================--
local function SendMessage(message)
    message = tostring(message or "")
    if message:match("^%s*$") then return end
    if #message > 300 then message = message:sub(1, 300) end

    local payload = {
        rpName = GetRPName(LocalPlayer),
        username = LocalPlayer.Name,
        displayName = LocalPlayer.DisplayName,
        userId = LocalPlayer.UserId,
        message = message,
        isOwner = IsOwner(LocalPlayer.Name),
        timestamp = os.time(),
        clientId = CLIENT_ID
    }

    -- Instant Local Render
    RenderChatMessage(payload)

    -- Global Firebase Dispatch (Single Server Room)
    if not FIREBASE_URL:find("YOUR-DATABASE-NAME") then
        task.spawn(function()
            HttpRequest({
                Url = FIREBASE_URL .. CHAT_ROOM_PATH,
                Method = "POST",
                Headers = { ["Content-Type"] = "application/json" },
                Body = HttpService:JSONEncode(payload)
            })
        end)
    end

    -- GEMINI AI COMMAND CHECK (@gemini prompt)
    if message:lower():sub(1, 7) == "@gemini" then
        local prompt = message:sub(8):match("^%s*(.-)%s*$")
        if prompt and prompt ~= "" then
            RenderChatMessage({
                rpName = "Gemini AI",
                username = "GEMINI_BOT",
                isGemini = true,
                message = "Thinking...",
                timestamp = os.time()
            })

            task.spawn(function()
                local aiResponse = FetchGeminiResponse(prompt)
                local aiPayload = {
                    rpName = "Gemini AI",
                    username = "GEMINI_BOT",
                    isGemini = true,
                    message = aiResponse,
                    timestamp = os.time(),
                    clientId = CLIENT_ID
                }

                RenderChatMessage(aiPayload)

                if not FIREBASE_URL:find("YOUR-DATABASE-NAME") then
                    HttpRequest({
                        Url = FIREBASE_URL .. CHAT_ROOM_PATH,
                        Method = "POST",
                        Headers = { ["Content-Type"] = "application/json" },
                        Body = HttpService:JSONEncode(aiPayload)
                    })
                end
            end)
        end
    end
end

--========================================================--
-- SINGLE GLOBAL ROOM POLLING ENGINE
--========================================================--
local renderedKeys = {}

local function FetchGlobalRoomMessages()
    if FIREBASE_URL:find("YOUR-DATABASE-NAME") then return end

    local res = HttpRequest({ Url = FIREBASE_URL .. CHAT_ROOM_PATH, Method = "GET" })
    if not res then return end

    if res.StatusCode == 200 and res.Body ~= "null" then
        local success, data = pcall(function() return HttpService:JSONDecode(res.Body) end)
        if success and type(data) == "table" then
            local list = {}
            for key, msg in pairs(data) do
                if type(msg) == "table" then
                    msg.key = key
                    table.insert(list, msg)
                end
            end
            table.sort(list, function(a, b) return (a.timestamp or 0) < (b.timestamp or 0) end)

            for _, msg in ipairs(list) do
                if not renderedKeys[msg.key] then
                    renderedKeys[msg.key] = true
                    if msg.clientId ~= CLIENT_ID then
                        RenderChatMessage(msg)
                    end
                end
            end
        end
    end
end

--========================================================--
-- INPUT LISTENERS & INITIALIZATION
--========================================================--
InputBox.FocusLost:Connect(function(enterPressed)
    if enterPressed then
        local msg = InputBox.Text
        InputBox.Text = ""
        SendMessage(msg)
    end
end)

-- Initial System Online Message
RenderChatMessage({
    rpName = "SYSTEM",
    username = "SYSTEM",
    userId = LocalPlayer.UserId,
    message = "⚡ ANSHUU CHAT ONLINE • JOINED SINGLE GLOBAL ROOM (@gemini)",
    isOwner = false
})

-- Continuous Global Room Synchronization Loop
task.spawn(function()
    while true do
        pcall(FetchGlobalRoomMessages)
        task.wait(1.5)
    end
end)

Features & Information

anshuu rechat new script support anshuu chat ANSHUU divine members only

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts