TextChatService
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Un servizio che gestisce la chat di testo in-experience, tra cui la gestione dei canali, la decorazione dei messaggi, il filtro del testo, la creazione di comandi e lo sviluppo di interfacce chat personalizzate.
Per saperne di più, vedi Chat di testo in-esperienza .
Sommario
Proprietà
Determina se abilitare completamente TextChatService o tornare al sistema di chat legacy.
Determina se TextChatService dovrebbe creare predefinito TextChatCommands .
Determina se TextChatService dovrebbe creare predefinito TextChannels .
Metodi
Mostra una finestra di chat sopra la parte o il personaggio fornito.
Determina se un utente ha il permesso di chattare direttamente con altri utenti in esperienze in base alle impostazioni di controllo dei genitori.
Eventi
Si attiva quando TextChatService:DisplayBubble() è chiamato.
Si attiva quando TextChannel:DisplaySystemMessage() è invocato sul client, o quando il client riceve una risposta valida TextChannel:SendAsync() dal Server.
Si attiva quando TextChannel:SendAsync() viene chiamato dal client di invio.
Richiami
Proprietà
ChatTranslationEnabled
ChatVersion
Determina se abilitare completamente TextChatService o tornare al sistema di chat di eredità. Impostando questa proprietà su Enum.ChatVersion.LegacyChatService disabilita effettivamente TextChatService .
CreateDefaultCommands
Determina se TextChatService dovrebbe creare predefinito TextChatCommands .
Se vero, le seguenti TextChatCommands vengono create e messe in un Folder chiamato TextChatCommands all'interno di 2>Class.TextChatService2> :
<tbody><tr><td><b>Comando RBXClearCommand</b></td><td>eliminare/pulire</td><td>cls</td><td>Svuota i registri di chat per l'utente locale.</td><td><code>/cls</code></td></tr><tr><td><b>RBXConsoleCommando</b></td><td>console</td><td /><td>Apre la Console del Sviluppatore.</td><td><code>/console</code></td></tr><tr><td><b>Comando RBXEmote</b></td><td>emote</td><td>e</td><td>Gioca un'Emoteavatar.</td><td><code>/e danza</code></td></tr><tr><td><b>Comando RBXHelp</b></td><td>aiuto</td><td>?</td><td>Mostra una lista di comandi di chat.</td><td><code>/aiuto</code></td></tr><tr><td><b>Comando RBXMute</b></td><td>muto</td><td>m</td><td>Muta un utente per il loro <code>Class.Player.Name|Name</code> o <code>Class.Player.DisplayName|DisplayName</code> in tutti <code>Class.TextChannel|TextChannels</code> .</td><td><code>/m Nome utente</code></td></tr><tr><td><b>Comando RBXTeam</b></td><td>team</td><td>t</td><td>Entra in modalità chat team in cui i messaggi sono visibili solo ai compagni di squadra.</td><td><code>/t</code></td></tr><tr><td><b>comando RBXUnmuteCommand</b></td><td>disattivare</td><td>um</td><td>Disattiva un utente per il loro <code>Class.Player.Name|Name</code> o <code>Class.Player.DisplayName|DisplayName</code> in tutti <code>Class.TextChannel|TextChannels</code> .</td><td><code>/um Nome utente</code></td></tr><tr><td><b>Comando RBXVersionCommand</b></td><td>versione</td><td>v</td><td>Mostra la versione della chat.</td><td><code>/versione</code></td></tr><tr><td><b>Comando RBXWhisperCommand</b></td><td>sussurro</td><td>w</td><td>Entra in modalità silenziosa con un altro <code>Class.Player</code> .</td><td><code>/w DisplayName</code> o <code>/w @Username</code></td></tr></tbody>
Nome | Alias primario | Ali secondarie | Descrizione | Esempio di utilizzo |
---|
Nota che puoi Modificare, creare e rimuovere TextChatCommands anche se CreateDefaultCommands è vero. Nota anche che i comandi mute e mute apply to all TextChannels .
CreateDefaultTextChannels
Determina se
<tbody><tr><td><b>RBXGeneral</b></td><td><code>Class.TextChannel</code> per i messaggi del giocatore. Nella finestra di chat, i messaggi vengono modificati in modo che <code>Class.TextChatMessage.PrefixText|PrefixText</code> riceva un tag di colore del testo riccohiente per dare ai giocatori il loro colore di nome distinto. Se 0> Class.Player.Team0> esiste, il colore di nome predefinito è usato invece del</td></tr><tr><td><b>RBXSystem</b></td><td><code>Class.TextChannel</code> per i messaggi del sistema. Nella finestra di chat, i messaggi sono modificati in modo che <code>Class.TextChatMessage.Text</code> abbia un tag di colore grigio chiaro per impostazione predefinita, o un tag di colore rosso se <code>Class.TextChatMessage.Metadata</code> contiene la parola 0> "Errore"0> .</td></tr><tr><td><b>RBXTeam\[BrickColor]</b></td><td> Class.TextChannel</td></tr><tr><td><b>RBXWhisper:\[userId1]\_\[userId2]</b></td><td><code>Class.TextChannel</code> per i messaggi tra due Giocatore, creati quando un giocatore usa il comando <code>/whisper</code></td></tr></tbody>
Canale | Descrizione |
---|
Nota che i richiami predefiniti TextChannel.OnIncomingMessage possono essere sovrascritti. Inoltre, nota che puoi Modificare, creare e rimuovere TextChannels anche se CreateDefaultTextChannels è vero.
I messaggi da diversi canali di testo possono essere separati in diverse schede nella finestra di chat utilizzando ChannelTabsConfiguration .
Metodi
DisplayBubble
Mostra una finestra di chat sopra la parte fornita o il personaggio del giocatore, e attiva l'evento BubbleDisplayed con i parametri specificati in questo metodo. Puoi visualizzare le bolle per i personaggi non giocatori (NPC) se specifici una parte all'interno del personaggio, come la sua testa.
Nota che questo metodo è disponibile solo per l'uso in LocalScript , o in un Script con RunContext di 1> Ennum.RunContext.Client1> .
Parametri
La parte o il personaggio che la bolle per essere mostrata sopra.
Il testo da mostrare nella chat bubble.
Restituzioni
CanUsersDirectChatAsync
Determina se un utente ha il permesso di chattare direttamente con altri utenti in esperienze in base alle impostazioni di controllo dei genitori. Viene utilizzato quando:
- La linea di comunicazione è inizializzata dall'utente (non inizializzata dal sviluppatore o dal gameplay)
- L'accesso alla comunicazione è chiuso e limitato
Parametri
Restituzioni
Campioni di codice
local TextChatService = game:GetService("TextChatService")
local directChatParticipants = TextChatService:CanUsersDirectChatAsync(userId1, { userId2 })
-- Check for eligible participants
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("Could not create TextChannel. Not enough eligible users.")
return nil
Eventi
MessageReceived
Come TextChannel.MessageReceived , si attiva quando TextChannel:DisplaySystemMessage() viene invocato sul client, o quando il client riceve una risposta valida TextChannel:SendAsync() dal Server. Questo evento si attiva solo sul client.
Se la proprietà ServerTextChannel.ShouldDeliverCallback è legata e restituisce false, il client non esegue TextChatService.MessageReceived .
Usa il parametro TextChatMessage per ottenere il TextSource e il testo del messaggio (con TextChatMessage.Text ) .
Il parametro TextChatMessage è il risultato finale di qualsiasi funzione legata a TextChatService.OnIncomingMessage o TextChannel.OnIncomingMessage .
Parametri
Il ricevuto TextChatMessage .
SendingMessage
Si attiva quando TextChannel:SendAsync() viene chiamato dal client di destinazione. Usa questo per consentire ai messaggi di luogo comune di essere mostrati all'utente mentre si aspetta la risposta del server a TextChannel:SendAsync() .
Parametri
Il TextChatMessage dal TextChannel:SendAsync() chiamata.