TextChannel

Visualizza obsoleti

*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à

  • Sola Lettura
    Non Replicato
    Lettura Parallela

    Il TextChannel consegnerà solo messaggi agli utenti che possono inviare messaggi diretti al DirectChatRequester .

Metodi

Richiami

Proprietà

DirectChatRequester

Sola Lettura
Non Replicato
Lettura Parallela

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

systemMessage: string

Il messaggio di sistema inviato al TextChannel .

Valore predefinito: ""
metadata: string

Utilizzare per identificare i tipi di messaggio del sistema, come i messaggi di sistema predefiniti.

Valore predefinito: ""

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

requester: Player
Valore predefinito: ""

Restituzioni

()

AddUserAsync

Resa

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

userId: number

L'ID dell'utente del Player .

Valore predefinito: ""

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.

Resa

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

message: string

Il messaggio da inviare al TextChannel .

Valore predefinito: ""
metadata: string

Metadati personalizzati da allegare al Messaggio.

Valore predefinito: ""

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

incomingMessage: TextChatMessage

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.

textSource: TextSource

Il TextSource dell'utente che riceverà il Messaggio.


Restituzioni