Platform-geïntegreerde chat geeft elke speler consistente toegang tot veiligheidstools zoals rapporteren en dempen, en laat chatfuncties zoals Snelle Woorden betrouwbaar uitrollen over alle games. Het vervangt ook het huidige prefix-systeem, zodat rollen die aan gebruikers zijn gekoppeld consistent worden weergegeven en veilig zijn voor alle leeftijden.
Niets in je game verandert totdat je platform-geïntegreerde chat inschakelt in Studio. Nadat je het hebt ingeschakeld:
- Roblox levert en geeft chat weer in het standaardvenster of een TextChannelWindow die je in je UI plaatst. Aangepaste chat-UIs kunnen berichten niet langer zelf weergeven.
- De tekst van spelersberichten is niet toegankelijk voor je code. Je kunt het niet lezen, loggen of exporteren. API's die eerder berichttekst teruggaven, geven nu een lege string ("") terug in plaats van nil, zodat je scripts blijven draaien maar geen inhoud ontvangen.
Niet-ondersteunde API's
Wanneer platform-geïntegreerde chat is ingeschakeld, geven de volgende API's "" (lege string, niet nil) terug en loggen een waarschuwing:
| Functie | Niet-ondersteunde API's | Wat in plaats daarvan te gebruiken |
|---|---|---|
| Chatberichten en weergave | TextChatMessage.Text, TextChatMessage.Translation | Migreer je aangepaste chat-GUI naar TextChannelWindow. Stel Target in op een TextChannel. Gebruikers kunnen automatisch berichten verzenden en ontvangen. |
| Chat-prefixen | TextChatMessage.PrefixText | Niet ondersteund. Als je game prefixen vereist, schakel platform-geïntegreerde chat dan nog niet in. |
| Voorinstellingen / chatwielen | TextChannel:SendAsync() | Gebruik Snelle Woorden maker aanpassing om relevante zinnen aan de chat toe te voegen. |
| Moderatie / admin-opdrachten | OnIncomingMessage, Player.Chatted | Gebruik TextChatCommand voor chat-geactiveerde opdrachten. Gebruik alleen-lezen chat om alle chats voor moderatie tijdens live evenementen te bekijken. |
Platform-geïntegreerde chat inschakelen
Om platform-geïntegreerde chat in Studio in te schakelen:
- Open het Explorer venster.
- Selecteer TextChatService.
- Zoek in het Eigenschappen paneel naar PlatformIntegratedChat.
- Stel het in op Ingeschakeld.
Met de ingeschakelde update geven de eerder genoemde niet-ondersteunde API's lege strings terug en loggen waarschuwingen. Je kunt de eigenschap op elk moment weer instellen op Uitgeschakeld om terug te keren.
Je kunt deze eigenschap alleen in Studio wijzigen, niet vanuit een script.
Maak een TextChannelWindow
Om een TextChannelWindow te maken:
- Maak een ScreenGui in StarterGui.
- Voeg een TextChannelWindow instantie toe als kind van de ScreenGui.
- Stel de Target eigenschap in op de TextChannel die je wilt dat het venster weergeeft.
Elke TextChannelWindow bindt aan een enkele TextChannel. Om meerdere kanalen samen weer te geven, maak je een TextChannelWindow voor elk kanaal en pas je je eigen toon/verberg-logica toe. Het globale kanaal is niet beschikbaar als doel voor een aangepast venster.
Het volgende codevoorbeeld maakt een aangepast chatvenster dat het RBXGeneral kanaal weergeeft:
local TextChatService = game:GetService("TextChatService")
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "TextChannelWindowDemo"
screenGui.Parent = script.Parent
local myTextChannelWindow = Instance.new("TextChannelWindow")
myTextChannelWindow.Size = UDim2.new(0, 400, 0, 300)
myTextChannelWindow.Position = UDim2.new(0, 10, 0, 10)
myTextChannelWindow.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
myTextChannelWindow.BackgroundTransparency = 0.5
local targetChannelName = "RBXGeneral"
local targetChannel = TextChatService:WaitForChild("TextChannels"):WaitForChild(targetChannelName)
if targetChannel and targetChannel:IsA("TextChannel") then
myTextChannelWindow.Target = targetChannel
end
myTextChannelWindow.Parent = screenGuiToon een aangepast kanaal alleen in zijn eigen venster
Standaard geeft het standaard chatvenster berichten weer van elk TextChannel, zodat een kanaal dat je in een aangepast TextChannelWindow toont, ook in het standaardvenster verschijnt.
Om een aangepast kanaal alleen in zijn eigen venster weer te geven:
- Selecteer in de Explorer ChatWindowConfiguration onder TextChatService.
- Maak voor elk aangepast kanaal een TextChannelWindow en stel de Target in op dat kanaal.
Het volgende voorbeeld toont een aangepast Guild-kanaal dat alleen in zijn eigen venster verschijnt:
-- Voorwaarde: TextChannelDisplayMode is ingesteld op DefaultTextChannels in Studio.
local TextChatService = game:GetService("TextChatService")
local Players = game:GetService("Players")
local playerGui = Players.LocalPlayer:WaitForChild("PlayerGui")
-- Scripts kunnen de eigenschap tijdens runtime lezen, maar kunnen deze niet wijzigen.
local config = TextChatService.ChatWindowConfiguration
if config.TextChannelDisplayMode ~= Enum.TextChannelDisplayMode.DefaultTextChannels then
warn("Guild-berichten verschijnen ook in het standaard chatvenster.")
end
local guildChannel = TextChatService:WaitForChild("TextChannels"):WaitForChild("Guild")
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "GuildChat"
screenGui.Parent = playerGui
local guildWindow = Instance.new("TextChannelWindow")
guildWindow.Size = UDim2.new(0, 400, 0, 300)
guildWindow.Target = guildChannel
guildWindow.Parent = screenGuiHoud rekening met deze gedragingen:
- Je kunt TextChannelDisplayMode alleen in Studio of vanuit een plugin instellen. Scripts kunnen het tijdens runtime lezen, maar kunnen het niet wijzigen.
- De eigenschap bestaat alleen op ChatWindowConfiguration. TextChannelWindow heeft het niet nodig omdat het al een enkel kanaal weergeeft via Target.
- Kanalen die tijdens runtime worden gemaakt, volgen de huidige modus wanneer ze verschijnen. Standaardkanalen die tijdens runtime worden gemaakt, zoals Team en Whisper, verschijnen nog steeds in het standaardvenster.
Migreer chat-geactiveerde admin-opdrachten
Of je je admin-opdrachten moet bijwerken, hangt af van hoe ze worden geactiveerd:
- Opdrachten die vanuit de chat worden geactiveerd, moeten TextChatCommand gebruiken.
- Opdrachtverwerking die ruwe chattekst leest, werkt niet langer. Dit omvat MessageReceived, Chatted, of iets anders dat de inhoud van TextChatMessage inspecteert.
Om te migreren:
- Identificeer admin-opdrachten in je game die momenteel ruwe chatberichten parseren.
- Maak een TextChatCommand voor elke opdracht.
- Definieer het triggerwoord en de callback-logica van de opdracht.
Voor een voorbeeld, zie Aangepaste tekstchatopdrachten.
FAQ
Niets verandert in je game tenzij je PlatformIntegratedChat instelt op Ingeschakeld.
Nee. Het beleid voor die oppervlakken is onveranderd: ze kunnen niet worden gebruikt voor tweerichtingscommunicatie tussen spelers, ze hebben een snelheidslimiet van ten minste 1 minuut nodig, en ze zijn onderhevig aan moderatie.
Nee. Deze update betreft alleen TextChatService.
Nee. Wanneer PlatformIntegratedChat is Ingeschakeld, geeft geen enkele API de inhoud van spelersberichten terug op de client of server. Moderators in je game kunnen nog steeds alleen-lezen chatrechten gebruiken om chat te bekijken. Spelers kunnen ook vertrouwen op de misbruikrapportage van Roblox en op veiligheidstools zoals dempen en blokkeren.
Nee. Als je game de standaard Roblox-chat zonder aanpassingen gebruikt, hoef je geen actie te ondernemen en zou je geen verandering moeten zien.