Penyaringan Teks

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Diterapkan pada berbagai sumber dan input, penyaringan teks mencegah pengguna dari melihat bahasa yang tidak pantas dan informasi yang dapat diidentifikasi secara pribadi seperti nomor telepon. Roblox secara otomatis menyaring keluaran teks umum seperti pesan yang telah melewati obrolan teks dalam pengalaman, tetapi anda bertanggung jawab untuk menyaring teks yang ditampilkan yang tidak Anda kontrol secara eksplisit.

Skenario Penyaringan

Teks dapat dikumpulkan dan/atau ditampilkan kepada pengguna dalam berbagai skenario, termasuk:

  • Sebuah pengalaman yang mengumpulkan input teks pengguna melalui entri TextBox, GUI kustom dengan tombol seperti antarmuka keyboard, atau model keyboard interaktif di ruang 3D.

  • Sebuah pengalaman yang menghasilkan kata-kata dari karakter acak dan menampilkannya kepada pengguna, karena ada kemungkinan akan menciptakan kata-kata yang tidak pantas.

  • Sebuah pengalaman yang terhubung ke server web eksternal untuk mengambil konten yang ditampilkan dalam pengalaman. Seringkali Anda tidak akan memiliki kontrol atas konten situs eksternal dan pihak ketiga dapat mengedit informasi tersebut.

  • Sebuah pengalaman yang menyimpan teks seperti nama hewan peliharaan pengguna menggunakan data stores, di mana teks yang disimpan mungkin termasuk kata-kata yang tidak pantas yang harus disaring saat diambil.

Proses Penyaringan

TextService:FilterStringAsync() menyaring teks dalam pengalaman dengan mengambil string teks dan UserId dari pengguna yang membuat teks sebagai input. Ini mengembalikan objek TextFilterResult yang memiliki dua metode tambahan yang dapat Anda panggil dalam skenario yang berbeda:

Dalam konteks input TextBox, contoh berikut mengumpulkan input pada kejadian FocusLost dan mengirimnya ke server melalui RemoteEvent. Di server, ini terlebih dahulu disaring melalui FilterStringAsync() dan kemudian GetNonChatStringForBroadcastAsync() dengan tujuan bahwa teks tersebut akan ditampilkan kepada semua pengguna pada objek sisi server seperti SurfaceGui di dunia 3D.

Menyaring Input Teks - Skrip Klien

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local textBox = script.Parent
textBox.ClearTextOnFocus = false
textBox.PlaceholderText = "..."
textBox.TextXAlignment = Enum.TextXAlignment.Left
textBox.TextScaled = true
-- RemoteEvent untuk mengirim input teks ke server untuk penyaringan
local inputRemoteEvent = ReplicatedStorage:FindFirstChild("InputRemoteEvent")
-- Penangan acara untuk fokus hilang dan enter ditekan
local function onFocusLost(enterPressed, inputObject)
if enterPressed then
print("DIAJUKAN:", textBox.Text)
if inputRemoteEvent then
inputRemoteEvent:FireServer(textBox.Text)
end
end
end
textBox.FocusLost:Connect(onFocusLost)
Menyaring Input Teks - Skrip Server

local TextService = game:GetService("TextService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- RemoteEvent untuk menerima input teks dari klien untuk penyaringan
local inputRemoteEvent = ReplicatedStorage:FindFirstChild("InputRemoteEvent")
local function getFilterResult(text, fromUserId)
local filterResult
local success, errorMessage = pcall(function()
filterResult = TextService:FilterStringAsync(text, fromUserId)
end)
if success then
return filterResult
else
warn("Error generating TextFilterResult:", errorMessage)
end
end
-- Dipicu ketika klien mengirim input dari TextBox
local function onInputReceived(player, text)
if text ~= "" then
local filterResult = getFilterResult(text, player.UserId)
if filterResult then
local success, filteredText = pcall(function()
return filterResult:GetNonChatStringForBroadcastAsync()
end)
if success then
print("TERFILTER:", filteredText)
else
warn("Error filtering text!")
end
end
end
end
inputRemoteEvent.OnServerEvent:Connect(onInputReceived)
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.