Auto Spell
Key Required

Auto Spell

🐝 Spelling Bee [🐰 SPRING]opensrcdopensrcd 531 views 8.9K executesUpdated Aug 22, 2026
Unrated
00
Lua Script•117 lines (4468 chars)
if game.PlaceId == 74779072921656 then
    local settings = {
        AutoGuess = true,
        AutoSayInChat = true,
        delay = 0.4
    }

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local Players = game:GetService("Players")

    local data = ReplicatedStorage:FindFirstChild("Modules") and ReplicatedStorage.Modules:FindFirstChild("Data")

    local worddata = {}

    if data then
        for _, v in ipairs(data:GetChildren()) do
            if v.Name:find("WordData") then
                table.insert(worddata, v)
            end
        end
    end

    local player = Players.LocalPlayer
    local playerGui = player and player:FindFirstChild("PlayerGui")
    local mainGui = playerGui and playerGui:FindFirstChild("MainGui")
    local answerFrame = mainGui and mainGui:FindFirstChild("AnswerFrame")
    local scriptables = workspace:FindFirstChild("Scriptables")
    local mainBoard = scriptables and scriptables:FindFirstChild("MainBoard")
    local surfaceGui = mainBoard and mainBoard:FindFirstChild("SurfaceGui")
    local hintLabel = surfaceGui and surfaceGui:FindFirstChild("HintLabel")
    local nameLabel = surfaceGui and surfaceGui:FindFirstChild("NameLabel")
    local submissionLabelClient = surfaceGui and surfaceGui:FindFirstChild("SubmissionLabelClient")
    local function getWord()
        local sndid = game:GetService("Players").LocalPlayer.PlayerGui:WaitForChild("Sound") and game:GetService("Players").LocalPlayer.PlayerGui:WaitForChild("Sound").SoundId or ""

        for _, v in ipairs(worddata) do
            if not v or not v.Parent then
                continue
            end

            local wordModule = require(v)

            if wordModule then
                for dificulty, difidata in pairs(wordModule) do
                    for _, wrddata in ipairs(difidata) do
                        if wrddata.id == sndid then
                            return wrddata.word
                        end
                    end
                end
            end
        end
    end
    local function chatWord()
        local TextChatService = game:GetService("TextChatService")

        local textChannels = TextChatService:WaitForChild("TextChannels")
        local general = textChannels:WaitForChild("RBXGeneral")

        general:SendAsync(getWord())
    end

    if answerFrame then
        answerFrame:GetPropertyChangedSignal("Visible"):Connect(function()
            if not answerFrame or not answerFrame.Parent  and not settings.AutoGuess then
                return
            end

            if answerFrame.Visible then
                local cur = ""
                local last = ""
                local word = getWord()
                task.wait(settings.delay)
                for _, l in ipairs(string.split(word, "")) do
                    cur = cur .. l
                    task.wait(last == l and 0.05 or math.random(5,30)/100)
                    last = l
                    local remotes = ReplicatedStorage:FindFirstChild("Remotes")
                    local submitAnswer = remotes and remotes:FindFirstChild("SubmitAnswer")

                    if not submitAnswer then
                        return
                    end

                    submitAnswer:FireServer("Type", cur)
                    submissionLabelClient.Text = cur
                end

                local remotes = ReplicatedStorage:FindFirstChild("Remotes")
                local submitAnswer = remotes and remotes:FindFirstChild("SubmitAnswer")

                if submitAnswer then
                    submitAnswer:FireServer("Submit", word)
                end
            end
        end)
    end
    if hintLabel and nameLabel then
        hintLabel:GetPropertyChangedSignal("Text"):Connect(function()
            if hintLabel.Text:gsub("%s+", "") ~= "" and settings.AutoSayInChat and (player.Name ~= nameLabel.Text:match("^(.-) 's Turn")) then
                local word = getWord()
                local cur = ""
                local last = ""
                task.wait(settings.delay)
                for _, l in ipairs(string.split(word, "")) do
                    cur = cur .. l
                    task.wait(last == l and 0.05 or math.random(5,30)/100)
                    last = l
                end
                chatWord()
            end
        end)
    end
    print("started")
else
    game:GetService("Players").LocalPlayer:Kick("Game is not supported by this script.")
end

Features & Information

no gui controll, but works.

Community Comments (0)

No comments yet for this script.

More Scripts for 🐝 Spelling Bee [🐰 SPRING]