Run it
Copy the script and paste it into your executor.
Players = :()
TextChatService = :()
UserInputService = :()
player = Players.LocalPlayer
TextChatService.ChatVersion ~= .ChatVersion.TextChatService
()
generalChannel
generalChannel = TextChatService:()
TextChatService.TextChannels:()
.()
generalChannel
gui = .()
gui.Name =
gui.ResetOnSpawn =
gui.Parent = player:()
frame = .()
frame.Size = .(, )
frame.Position = .(, )
frame.BackgroundColor3 = .(, , )
frame.BorderSizePixel =
frame.Parent = gui
frame.Active =
frame.Draggable =
corner = .()
corner.CornerRadius = .(, )
corner.Parent = frame
messages = .()
messages.Size = .(, )
messages.Position = .(, )
messages.CanvasSize = .(, , , )
messages.ScrollBarImageTransparency =
messages.BackgroundColor3 = .(, , )
messages.BorderSizePixel =
messages.AutomaticCanvasSize = .AutomaticSize.None
messages.Parent = frame
messagesCorner = .()
messagesCorner.CornerRadius = .(, )
messagesCorner.Parent = messages
layout = .()
layout.Padding = .(, )
layout.Parent = messages
layout:():(()
messages.CanvasSize = .(, layout.AbsoluteContentSize.Y + )
messages.CanvasPosition = .(, .(, messages.CanvasSize.Y.Offset - messages.AbsoluteWindowSize.Y))
)
box = .()
box.Size = .(, )
box.Position = .(, )
box.PlaceholderText =
box.Text =
box.TextColor3 = .(, , )
box.BackgroundColor3 = .(, , )
box.ClearTextOnFocus =
box.TextWrapped =
box.TextXAlignment = .TextXAlignment.Left
box.TextYAlignment = .TextYAlignment.Center
box.Font = .Font.Gotham
box.TextSize =
box.Parent = frame
boxCorner = .()
boxCorner.CornerRadius = .(, )
boxCorner.Parent = box
sendButton = .()
sendButton.Size = .(, )
sendButton.Position = .(, )
sendButton.Text =
sendButton.Font = .Font.GothamSemibold
sendButton.TextSize =
sendButton.TextColor3 = .(, , )
sendButton.BackgroundColor3 = .(, , )
sendButton.Parent = frame
sendCorner = .()
sendCorner.CornerRadius = .(, )
sendCorner.Parent = sendButton
()
message = box.Text
message ==
box.Text =
(()
generalChannel:(message)
)
box.FocusLost:((enterPressed)
enterPressed
()
)
sendButton.Activated:(sendMessage)
UserInputService.InputBegan:((input, gameProcessed)
gameProcessed
input.UserInputType == .UserInputType.Keyboard
input.KeyCode == .KeyCode.Slash
box:()
)
(displayName, text)
label = .()
label.Size = .(, -, , )
label.BackgroundTransparency =
label.TextWrapped =
label.AutomaticSize = .AutomaticSize.Y
label.TextXAlignment = .TextXAlignment.Left
label.TextYAlignment = .TextYAlignment.Top
label.Font = .Font.Gotham
label.TextSize =
label.TextColor3 = .(, , )
label.Text = .. displayName .. .. text
label.Parent = messages
TextChatService.OnIncomingMessage = (message)
message.TextSource
sourcePlayer = Players:(message.TextSource.UserId)
sourcePlayer
(sourcePlayer.DisplayName, message.Text)
Custom Roblox TextChat UI A custom client-side chat interface built on Roblox’s TextChatService. Designed to work cleanly on PC and mobile, with modern UI, slash-to-chat support, and a live scrollable message feed. This replaces the default Roblox chat UI while still using official TextChatService channels. Features Custom draggable chat window Scrollable message history Live incoming messages from other players Message format: [DisplayName]: message Mobile-friendly Send button PC shortcut: press / to start typing Enter-to-send support Uses RBXGeneral TextChatService channel No server scripts required (client-only UI) Requirements Android on a mobile device or Android emulator, like Genymotion or Mumu Player. Roblox experience must have TextChatService enabled Chat version must be set to TextChatService HTTP permissions are not required unless loading remotely Installation Go to https://deltaexploits.gg/ and install. This is for Android only. I'm not responsible if you get hacked. Once installed, set up an Alt Roblox account to prevent getting banned. I recommend using an emulator, like Genymotion or Mumu Player. Once you join a game, load the script and chat with other people! Th