Pelajari
Kelas Engine
TextChatService
Tidak Dapat Dibuat
Layanan

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



Referensi API
Properti
ChatTranslationEnabled
Tidak Direplikasi
Keamanan Skrip Roblox
Baca Paralel
Kemampuan: Chat
TextChatService.ChatTranslationEnabled:boolean

ChatVersion
Tidak digunakan lagi

CreateDefaultCommands
Keamanan Plugin
Baca Paralel
Kemampuan: Chat
TextChatService.CreateDefaultCommands:boolean

CreateDefaultTextChannels
Keamanan Plugin
Baca Paralel
Kemampuan: Chat
TextChatService.CreateDefaultTextChannels:boolean

PlatformIntegratedChat
Keamanan Skrip Roblox
Baca Paralel
Kemampuan: Chat
TextChatService.PlatformIntegratedChat:Enum.RolloutState

Metode
CanUserChatAsync
Hasil
Kemampuan: Chat
TextChatService:CanUserChatAsync(userId:User):boolean
Parameter
userId:User
Memberikan nilai

CanUsersChatAsync
Hasil
Kemampuan: Chat
TextChatService:CanUsersChatAsync(
userIdFrom:User, userIdTo:User
Parameter
userIdFrom:User
userIdTo:User
Memberikan nilai

CanUsersDirectChatAsync
Hasil
Kemampuan: Chat
TextChatService:CanUsersDirectChatAsync(
requesterUserId:User, userIds:{any}
Parameter
requesterUserId:User
userIds:{any}
Memberikan nilai
Contoh Kode
CanUsersDirectChatAsync
local TextChatService = game:GetService("TextChatService")
local directChatParticipants = TextChatService:CanUsersDirectChatAsync(userId1, { userId2 })
-- Periksa peserta yang memenuhi syarat
if #directChatParticipants > 0 then
local directChannel = Instance.new("TextChannel")
directChannel.Parent = TextChatService
for _, participant in directChatParticipants do
directChannel:AddUserAsync(participant)
end
return directChannel
end
warn("Tidak dapat membuat TextChannel. Pengguna yang memenuhi syarat tidak cukup.")
return nil

DisplayBubble
Kemampuan: Chat
TextChatService:DisplayBubble(
partOrCharacter:Instance, message:string
):()
Parameter
partOrCharacter:Instance
message:string
Memberikan nilai
()

GetChatGroupsAsync
Hasil
Kemampuan: Chat
TextChatService:GetChatGroupsAsync(players:Instances):{any}
Parameter
players:Instances
Memberikan nilai
Contoh Kode
TeleportPlayerToBestChatServer
-- Skrip Server
local TextChatService = game:GetService("TextChatService")
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local TARGET_PLACE_ID = 1234567890 -- ID tempat tujuan
--[[
Status server di seluruh semesta yang di-stub.
Dalam praktiknya, data ini dapat disimpan dan diperbarui menggunakan MemoryStore
atau sistem backend lainnya.
Contoh bentuk:
ActiveServers = {
{
serverId = "abc",
accessCode = "reserved-server-code",
groupUserCounts = {
groupA = 12,
groupB = 5
}
},
{
serverId = "def",
accessCode = "reserved-server-code",
groupUserCounts = {
groupB = 8
}
}
}
]]
local ActiveServers = {}
local function teleportPlayerToBestServer(player)
local success, chatGroups = pcall(function()
return TextChatService:GetChatGroupsAsync({ player })
end)
if not success or not chatGroups then
warn("Gagal mengambil grup obrolan untuk pemain:", player.UserId)
return
end
-- Kumpulkan semua ID grup obrolan yang dapat diakses pemain
local playerGroupIds = {}
for _, group in ipairs(chatGroups) do
for _, groupId in ipairs(group) do
playerGroupIds[groupId] = true
end
end
local bestServer = nil
local bestUserCount = 0
-- Pilih server dengan jumlah pengguna yang kompatibel tertinggi
for _, server in ipairs(ActiveServers) do
local compatibleUserCount = 0
for groupId, userCount in pairs(server.groupUserCounts) do
if playerGroupIds[groupId] then
compatibleUserCount += userCount
end
end
if compatibleUserCount > bestUserCount then
bestUserCount = compatibleUserCount
bestServer = server
end
end
if not bestServer then
warn("Tidak ada server yang sesuai ditemukan untuk pemain:", player.UserId)
return
end
local ok, err = pcall(function()
TeleportService:TeleportToPrivateServer(
TARGET_PLACE_ID,
bestServer.accessCode,
{ player }
)
end)
if not ok then
warn("Teleport gagal:", err)
end
end
Players.PlayerAdded:Connect(teleportPlayerToBestServer)
Dapatkan Grup Obrolan Secara Asinkron
local TextChatService = game:GetService("TextChatService")
local Players = game:GetService("Players")
local players = Players:GetPlayers()
local success, chatGroups = pcall(function()
return TextChatService:GetChatGroupsAsync(players)
end)
if not success then
warn("Gagal mengambil grup obrolan")
return
end
for _, group in ipairs(chatGroups) do
-- Setiap grup berisi string ID grup obrolan.
-- Pemain yang memiliki ID grup yang cocok dapat saling mengobrol.
for _, groupId in ipairs(group) do
print("ID grup obrolan:", groupId)
end
end

Acara
BubbleDisplayed
Kemampuan: Chat
TextChatService.BubbleDisplayed(
partOrCharacter:Instance, textChatMessage:TextChatMessage
Parameter
partOrCharacter:Instance
textChatMessage:TextChatMessage

MessageReceived
Kemampuan: Chat
TextChatService.MessageReceived(textChatMessage:TextChatMessage):RBXScriptSignal
Parameter
textChatMessage:TextChatMessage

SendingMessage
Kemampuan: Chat
TextChatService.SendingMessage(textChatMessage:TextChatMessage):RBXScriptSignal
Parameter
textChatMessage:TextChatMessage

Callback
OnBubbleAdded
Kemampuan: Chat
TextChatService.OnBubbleAdded(
message:TextChatMessage, adornee:Instance
Parameter
adornee:Instance
Memberikan nilai

OnChatWindowAdded
Kemampuan: Chat
TextChatService.OnChatWindowAdded(message:TextChatMessage):Tuple
Parameter
Memberikan nilai

OnIncomingMessage
Kemampuan: Chat
TextChatService.OnIncomingMessage(message:TextChatMessage):Tuple
Parameter
Memberikan nilai

©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.