Run it
Copy the script and paste it into your executor.
PREFIX =
UNLOAD_KEY = .KeyCode.M
Players = :()
ReplicatedStorage = :()
UserInputService = :()
player = Players.LocalPlayer
.JSInterpreterLoaded
.JSUnloadFunc .()
.JSInterpreterLoaded =
codeBuffer = {}
variables = {}
functions = {}
running =
enabled =
chatConn, inputConn
console = {}
c = console
console.(msg)
(, (msg))
console.(msg)
ReplicatedStorage:()
(()
ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:((msg),)
)
player
(() player:((msg)) )
()
m = {}
m = {}
.JSRandomSeeded
seed = ( () .()) %
.(seed)
.(); .(); .()
.JSRandomSeeded =
(n, decimals)
mult = ^ (decimals )
.(n * mult + ) / mult
m.(minv, maxv, precision)
minv = (minv)
maxv = (maxv)
minv > maxv minv, maxv = maxv, minv
precision ~=
precision = (precision)
precision <=
imin = .(minv)
imax = .(maxv)
imin > imax imin
.(imin, imax)
scale = ^ precision
scaledMin = .(minv * scale)
scaledMax = .(maxv * scale)
scaledMin > scaledMax
(minv, precision)
r = .(scaledMin, scaledMax) / scale
(r, precision)
.(minv) == minv .(maxv) == maxv
.(minv, maxv)
minv + .() * (maxv - minv)
(line)
line
line = line:(, )
line = line:(, )
line = line:(, )
line = line:(, )
line = line:(, )
line:()
(line)
line = (line)
line ==
line:()
line:()
line:()
line:() line:()
line:()
line:()
line:() line:()
(expr)
expr expr
expr = expr:(,)
expr = expr:(,)
expr = expr:(,)
expr = expr:(,)
expr = expr:(,)
expr = expr:(,)
expr = expr:(,)
expr
(expr)
expr ==
expr = expr:()
quoted = expr:() expr:()
quoted ==
quoted ==
expr = (expr)
env = {}
env.math =
env.string =
env.tonumber =
env.tostring =
env.pairs =
env.ipairs =
env.print =
env.m = m
(env, {
__index = (_, k)
variables[k] ~= variables[k]
[k]
})
chunk, err = (..expr)
chunk
chunk, err = (expr)
chunk
(, err, , expr)
ok, res
(() (chunk, env) )
ok, res = (chunk)
ok
(, res, , expr)
res
(line)
name, value = line:()
name
name, value = line:()
name value
value = (value):()
quoted = value:() value:()
quoted == variables[name] = ;
quoted == variables[name] = ;
ok, res = (() (value) )
ok variables[name] = res (..name.., res)
(line)
line = (line)
line ==
(line)
line:()
fname,args,body = line:()
fname args body
functions[fname] = {args=args, body=body}
line:()
cond, ifbody, elsebody
cond, ifbody, elsebody = line:()
cond
(cond) (ifbody) (elsebody)
cond, ifbody = line:()
cond
(cond) (ifbody)
(, line)
line:()
line:() line:()
expr = line:() line:()
expr console.((expr))
line:() line:()
expr = line:() line:()
expr console.((expr))
ok, res = (() (line) )
ok (, res)
()
_,line (codeBuffer)
ok, err = (() (line) )
ok (, line, err)
(msg)
enabled
msg:(,#PREFIX):() ~= PREFIX
code = msg:(#PREFIX+):(,)
code ==
()
_,line (codeBuffer) (line)
()
code ==
setclipboard
(.(codeBuffer,))
()
()
code ==
codeBuffer = {}
variables = {}
functions = {}
()
code ==
last = .(codeBuffer)
last
varName = last:() last:()
varName variables[varName] =
funcName = last:()
funcName functions[funcName] =
(, last)
()
code ==
_,line (codeBuffer)
(line)
(, line)
running =
()
()
code ==
running =
()
(code)
(, code)
.(codeBuffer, code)
running
ok, err = (() (code) )
ok (, err)
ChatEvents = :(, )
ChatEvents ChatEvents:() ChatEvents:()
chatConn = ChatEvents.OnMessageDoneFiltering.OnClientEvent:((msgData)
msgData.Message (msgData.Message)==
(msgData.Message)
)
chatConn = player.Chatted:(handleJSCommand)
()
enabled =
codeBuffer = {}
variables = {}
functions = {}
chatConn chatConn:()
inputConn inputConn:()
.JSInterpreterLoaded =
.JSUnloadFunc =
()
.JSUnloadFunc = fullUnload
inputConn = UserInputService.InputBegan:((input,gp)
gp
input.KeyCode == UNLOAD_KEY ()
)
()
You can now code with JavaScript in chat because why not. Made with multiple AIs to the point where I forgot their specific models. EX Code: js: c.l(4) prints to console 4 ^

Universal