TextChannel
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Rappresenta un canale di chat di testo. Contiene TextSources come discendenti.
Per inviare un messaggio di chat al TextChannel , chiama TextChannel:SendAsync() da un LocalScript .Il corrispondente TextSource dell'utente con TextSource.CanSend = true deve essere in quel canale.
I messaggi di diversi canali di testo possono essere separati in diverse schede nella finestra di chat usando ChannelTabsConfiguration .
Per saperne di più, vedi Chat di testo in-esperienza.
Sommario
Proprietà
Il TextChannel consegnerà solo messaggi agli utenti che possono inviare messaggi diretti al DirectChatRequester .
Metodi
Mostra un messaggio di sistema all'utente.
Imposta il DirectChatRequester per il TextChannel. Il TextChannel consegnerà solo messaggi agli utenti che possono inviare messaggi diretti al DirectChatRequester.
Aggiunge un TextSource al ID utente TextChannel dato di un Player .
Invia un TextChatMessage al Server.
Eventi
Si attiva quando TextChannel:DisplaySystemMessage() viene invocato sul client, o quando il client riceve una risposta valida TextChannel:SendAsync() dal Server.
Richiami
Chiamato quando TextChannel sta ricevendo un Messaggioin arrivo.
Chiamato per ogni client quando TextChannel riceve un messaggio in arrivo per determinare se deve essere consegnato a quel client o meno.
Proprietà
DirectChatRequester
Il TextChannel consegnerà solo messaggi agli utenti che possono inviare messaggi diretti al DirectChatRequester. Questa proprietà può essere impostata solo utilizzando SetDirectChatRequester().
Metodi
DisplaySystemMessage
Mostra un messaggio di sistema all'utente.Può essere utilizzato solo in un LocalScript , o in un Script con RunContext di Enum.RunContext.Client .I messaggi sono visibili solo a quell'utente e non vengono filtrati o localizzati automaticamente.
Parametri
Il messaggio di sistema inviato al TextChannel .
Utilizzare per identificare i tipi di messaggio del sistema, come i messaggi di sistema predefiniti.
Restituzioni
Un TextChatMessage con proprietà TextChatMessage.Status che indica la condizione del Messaggio.
SetDirectChatRequester
Imposta il DirectChatRequester per il TextChannel. Questo metodo è disponibile solo per l'uso negli script del server.
Usa questa API se stai lavorando con TextChatService e hai una implementazione personalizzata di chat diretta al di fuori dei canali di testo predefiniti.
Quando viene chiamato su un TextChannel che è parented a TextChatService e non ha alcun TextSources esistente, SetDirectChatRequester aggiunge gli utenti richiesti come TextSource e imposta la proprietà DirectChatRequester per il canale.
Quando DirectChatRequester è Impostare, vengono inviati solo messaggi tra gli utenti che possono dirigere la chat con il DirectChatRequester .
local function createWhisperChannel(fromPlayer, toPlayer)
local whisperChannel = Instance.new("TextChannel")
whisperChannel:SetDirectChatRequester(fromPlayer)
whisperChannel:AddUserAsync(toPlayer.UserId)
-- L'istanza TextChannel ha ora due istanze di TextSource.
return whisperChannel
end
Parametri
Restituzioni
AddUserAsync
Aggiunge un TextSource al ID utente TextChannel dato (con Player.UserId ). Può essere utilizzato solo in un Script .
Se un TextSource che rappresenta l'utente non esiste, questo aggiunge un TextSource .
Se un TextSource che rappresenta l'utente esiste, questo restituisce il TextSource .
Se l'utente ha disattivato la chat o non è nel Server, questo restituisce un tuple nil, false.
Parametri
Restituzioni
Restituisce TextSource e true se viene creato un nuovo TextSource per l'utente, TextSource e false se esiste un TextSource esistente, o nil e false se l'utente ha chat disattivata o non è su questo Server.
SendAsync
Invia un TextChatMessage al Server. Può essere utilizzato solo in un LocalScript , o in un Script con RunContext di Enum.RunContext.Client .
L'argomento metadata ha un limite di 200 caratteri.Se questo viene chiamato con un argomento metadata che ha più di 200 caratteri, il messaggio non verrà inviato ad altri utenti.Invece, il mittente riceverà un TextChatMessage con le proprietà TextChatMessage.Metadata e TextChatMessage.Text impostate a stringhe vuote.
Parametri
Il messaggio da inviare al TextChannel .
Metadati personalizzati da allegare al Messaggio.
Restituzioni
Un TextChatMessage con proprietà TextChatMessage.Status che indica la condizione del Messaggio.
Eventi
MessageReceived
Come TextChatService.MessageReceived , si attiva quando TextChannel:DisplaySystemMessage() viene invocato sul client, o quando il client riceve una risposta valida TextChannel:SendAsync() dal Server.Questo evento viene attivato solo sul client.
Se la proprietà del ServerTextChannel.ShouldDeliverCallback è legata e restituisce false, il client non spara TextChannel.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 .
Richiami
OnIncomingMessage
Chiamato quando TextChannel sta ricevendo un Messaggioin arrivo. Può essere implementato solo sul client.
Usa questo per decorare TextChatMessages .Se questo callback restituisce un TextChatMessageProperties , queste proprietà vengono unite al parametro TextChatMessage per creare una nuova TextChatMessage .
Quando è legato al client che invia un Messaggio, questo callback viene eseguito due volte; prima quando il messaggio viene inizialmente inviato e ricevuto localmente, e di nuovo quando il client riceve il risultato del messaggio filtrato dal Server.
TextChannel.OnIncomingMessage i richiami sempre eseguono dopo il richiamaTextChatService.OnIncomingMessage.
Questo dovrebbe essere definito solo una volta per TextChannel nel codice sorgente.Numerose bindings al medesimo canale sostituiranno l'un l'altra in modo non deterministico.
Quando TextChatService:CreateDefaultTextChannels() è vero, questi default TextChannels hanno i loro TextChannel.OnIncomingMessage callback assegnati internamente per esporre un comportamento predefinito speciale.
Parametri
L'incoming TextChatMessage .
Restituzioni
Se viene restituito un TextChatMessageProperties quelle proprietà vengono unite al parametro TextChatMessage per creare una nuova TextChatMessage con quelle proprietà.
ShouldDeliverCallback
Chiamato per ogni client quando TextChannel riceve un messaggio in arrivo per determinare se deve essere consegnato a quel client o meno.Può essere definito solo sul Server.
Una volta definito, questo callback deve restituire un valore veritiero come true , 1 o "hello" per consegnare il messaggio al client dichiarato.Se il richiamo restituisce qualcos'altro (incluso nil ), il messaggio non verrà consegnato a quel client, anche se il mittente vedrà il messaggio indipendentemente.
Il mittente può essere fatto riferimento da TextChatMessage.TextSource , mentre il ricevitore è l'argomento textSource.Nota che mittente e destinatario possono essere gli stessi, poiché il callback si itera attraverso tutti i ricevitori disponibili.In Roblox Studio, sarai l'unico mittente e destinatario di un messaggio mentre sei in modalità solista Gioca .
Parametri
Il messaggio in arrivo, che contiene anche il mittente del Messaggio.
Il TextSource dell'utente che riceverà il Messaggio.