TextChatService
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Un servicio que maneja el chat de texto en la experiencia, incluyendo la gestión de canales, decoración de mensajes, filtrado de texto, creación de comandos y desarrollo de interfaces de chat personalizadas.
Para aprender más, see Chat de texto en la experiencia .
Resumo
Propriedades
Determina si se habilita completamente TextChatService o se revertir al sistema de chat legado.
Determina si TextChatService debe crear un predeterminado TextChatCommands .
Determina si TextChatService debe crear predeterminado TextChannels .
Métodos
Muestra una burbuja de chat encima de la parte o personaje de jugador proporcionado.
Determina si un usuario tiene permiso para chatear directamente con otros usuarios en experiencias según sus configuraciones de control parental.
Eventos
Se activa cuando se llama TextChatService:DisplayBubble() .
Se activa cuando se invoca TextChannel:DisplaySystemMessage() en el cliente, o cuando el cliente recibe una respuesta válida de TextChannel:SendAsync() del servidor.
Se activa cuando se llama TextChannel:SendAsync() por el cliente de envío.
Callbacks
Se llama cuando un chat de burbujas está a punto de ser mostrado.
Se llama cuando un nuevo mensaje está a punto de ser mostrado en la ventana de chat. Esto solo se puede implementar en el cliente.
Se llama cuando TextChatService recibe un mensaje entrante.
Propriedades
ChatTranslationEnabled
ChatVersion
Determina si habilitar completamente TextChatService o revertir al sistema de chat legado. Estableciendo esta propiedad en Enum.ChatVersion.LegacyChatService desactiva efectivamente TextChatService .
CreateDefaultCommands
Determina si TextChatService debe crear un predeterminado TextChatCommands .
Si es así, se crean y se colocan los siguientes TextChatCommands dentro de un Folder llamado TextChatCommands dentro de 2>Class.TextChatService2> :
<tbody><tr><td><b>Comando RBXClearCommand</b></td><td>borrar</td><td>clase</td><td>Borrar el registro de chat para el usuario local.</td><td><code>/cls</code></td></tr><tr><td><b>Comando de consola RBX</b></td><td>consola</td><td /><td>Abre la consola del desarrollador.</td><td><code>/console</code></td></tr><tr><td><b>Comando de RBXEmote</b></td><td>emote</td><td>e</td><td>Juega un emote de avatar.</td><td><code>/e danza</code></td></tr><tr><td><b>Comando RBXHelp</b></td><td>ayuda</td><td>?</td><td>Muestra una lista de comandos de chat.</td><td><code>/ayuda</code></td></tr><tr><td><b>Comando RBXMute</b></td><td>silenciar</td><td>metro</td><td>Silencia a un usuario por su <code>Nombre de Clase.Player.Name|Nombre de Clase.Player.DisplayName|Nombre de Clase.Player.DisplayName</code> o <code>Nombre de Clase.Player.DisplayName</code> en todos los <code>Canales de Clase.Text|TextChannels</code> .</td><td><code>/m Nombre de usuario</code></td></tr><tr><td><b>Comando RBXTeam</b></td><td>equipo</td><td>t</td><td>Entra en el modo de chat del equipo donde los mensajes solo son visibles para los compañeros de equipo.</td><td><code>/t</code></td></tr><tr><td><b>Comando RBXDeshabilitarBuenoite</b></td><td>deshabilitar</td><td>um</td><td>Desilencia a un usuario por su <code>Class.Player.Name|Name</code> o <code>Class.Player.DisplayName|DisplayName</code> en todos los <code>Class.TextChannel|TextChannels</code> .</td><td><code>/um Nombre de usuario</code></td></tr><tr><td><b>Comando de versión de RBX</b></td><td>versión</td><td>v</td><td>Muestra la versión del chat.</td><td><code>/versión</code></td></tr><tr><td><b>Comando RBXWhisper</b></td><td>susurrar</td><td>w</td><td>Entra en el modo de susurro con otro <code>Class.Player</code> .</td><td><code>/w DisplayName</code> o <code>/w @Username</code></td></tr></tbody>
Nombre | Alias Primarias | Alias secundarias | Descripción | Ejemplo de uso |
---|
Tenga en cuenta que puede editar, crear y eliminar TextChatCommands incluso si CreateDefaultCommands es cierto. También tenga en cuenta que los comandos de silencio y mute aplican a todos los comandos TextChannels .
CreateDefaultTextChannels
Determina si <
<tbody><tr><td><b>RBXGeneral</b></td><td><code>Class.TextChannel</code> para mensajes del jugador. En la ventana de chat, los mensajes se modifican para que <code>Class.TextChatMessage.PrefixText|PrefixText</code> reciba una etiqueta de color de texto rico para darle a los jugadores su color de nombre distintivo. Si <a href="../../../ui/rich-text.md">Class.Player.Team</a> existe, se usa que 0> Class.Team.TeamColor0> en lugar del nombre por defect</td></tr><tr><td><b>Sistema RBX</b></td><td><code>Class.TextChannel</code> para mensajes del sistema. En la ventana de chat, los mensajes se modifican para que <code>Class.TextChatMessage.Text</code> tenga una etiqueta de color gris claro por defecto, o un etiqueta de color rojo si <code>Class.TextChatMessage.Metadata</code> contiene la palabra 0>«Error»0> .</td></tr><tr><td><b>RBXTeam \[Color de ladrillo]</b></td><td> Cl</td></tr><tr><td><b>RBXWhisper:\[userId1]\_\[userId2]</b></td><td><code>Class.TextChannel</code> para mensajes de apodo entre dos jugadores, creados cuando un jugador usa el comando /</td></tr></tbody>
Canal | Descripción |
---|
Nota que los controles de llamada predeterminados TextChannel.OnIncomingMessage pueden ser sobrescritos. También nota que puede editar, crear y eliminar TextChannels incluso si CreateDefaultTextChannels es cierto.
Mensajes de diferentes canales de texto se pueden separar en diferentes pestañas en la ventana de chat utilizando ChannelTabsConfiguration .
Métodos
DisplayBubble
Muestra una burbuja de chat encima de la parte proporcionada o personaje de jugador, y dispara el evento BubbleDisplayed con los parámetros especificados en este método. Puede mostrar burbujas para los personajes no jugadores (NPC) si especifica una parte dentro del personaje, como su cabeza.
Nota que este método solo está disponible para su uso en LocalScript , o en un Script con RunContext de 1> Enumerate.RunContext.Client1> .
Parâmetros
La parte o personaje de la burbuja que se mostrará encima.
El texto para mostrar en la burbuja de chat.
Devolução
CanUsersDirectChatAsync
Determina si un usuario tiene permiso para chatear directamente con otros usuarios en experiencias según sus configuraciones de control parental. Se usará cuando:
- La línea de comunicación es iniciada por el usuario (no iniciada por el desarrollador o el juego)
- El acceso a la comunicación está cerrado y limitado
Parâmetros
Devolução
Amostras de código
This example checks if two users can chat, creates a new TextChannel, and adds them to it.
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
Eventos
MessageReceived
Al igual que TextChannel.MessageReceived, se activa cuando se invoca TextChannel:DisplaySystemMessage() o cuando el cliente recibe una respuesta válida de TextChannel:SendAsync() del servidor. Este evento solo se activa en el cliente.
Si la propiedad del servidor TextChannel.ShouldDeliverCallback está vinculada y返回false, el cliente no dispararáTextChatService.MessageReceived .
Usa el parámetro TextChatMessage para obtener el TextSource y el texto del mensaje (con TextChatMessage.Text).
El parámetro TextChatMessage es el resultado final de cualquier función vinculada a TextChatService.OnIncomingMessage o TextChannel.OnIncomingMessage .
Parâmetros
El recibido TextChatMessage .
SendingMessage
Se activa cuando se llama TextChannel:SendAsync() por el cliente de envío. Usa esto para permitir que se muestren los mensajes de marcador al usuario mientras espera la respuesta del servidor a TextChannel:SendAsync() .
Parâmetros
El TextChatMessage del llamado TextChannel:SendAsync()
Callbacks
OnBubbleAdded
Se llama cuando un chat de burbuja está a punto de ser mostrado. Esto solo se puede implementar en el cliente.
Usa esto para personalizar mensajes de chat individuales. Si este retorno de llamada devuelve un BubbleChatMessageProperties, estas propiedades se aplicarán al balón asociado, anulando las propiedades <
Si el mensaje de chat es enviado por un jugador, message.TextSource correspondió a ese jugador, y adornee será nil .
Si el mensaje de chat se envía a través de TextChatService:DisplayBubble() , adornee será el partOrCharacter proporcionado, y 1> message.TextSource1> será el 4> nil4> .
Parâmetros
El mensaje de texto entrante TextChatMessage .
La parte o personaje al que se le adjunta el mensaje de chat de burbuja.
Devolução
Si se devuelve un TextChatMessage, esas propiedades se aplicarán a la burbuja asociada, anulando las propiedades de BubbleChatConfiguration
OnChatWindowAdded
Se llama cuando un nuevo mensaje está a punto de ser mostrado en la ventana de chat. Esto solo se puede implementar en el cliente.
Usa esto para personalizar mensajes individuales que aparecen en la ventana de chat. Si este llamado regresa un ChatWindowMessageProperties , estas propiedades se aplicarán al mensaje asociado, anulando las propiedades Class.ChatWindow
Parâmetros
El mensaje de texto entrante TextChatMessage .
Devolução
Si se devuelve un TextChatMessage, esas propiedades se aplicarán a la mensaje asociada, anulando las propiedades de ChatWindowConfiguration.
OnIncomingMessage
Se llama cuando TextChatService está recibiendo un mensaje entrante. Solo se puede implementar en el cliente.
Usa esto para decorar TextChatMessages . Si este llamado de regreso una propiedad TextChatMessageProperties , estas propiedades se fusionan con el parámetro TextChatMessage para crear una nueva 1> Class.TextChatMessage1> .
Cuando está vinculado al cliente para enviar un mensaje, este llamado de regreso se ejecuta dos veces; primero cuando el mensaje se envía inicialmente y se recibe localmente, y de nuevo cuando el cliente recibe el resultado del mensaje filtrado del servidor.
Nota que este TextChatService.OnIncomingMessage llamada de retorno se ejecuta antes de cualquier llamada de retorno de TextChannel.OnIncomingMessage.
Esto debería definirse solo una vez en el código de fuente. Múltiples vinculaciones se anularán entre sí de manera no determinista.
Parâmetros
El mensaje de texto entrante TextChatMessage .
Devolução
Si se devuelve un TextChatMessageProperties, esas propiedades se fusionan con el parámetro TextChatMessage para crear un nuevo TextChatMessage con esas propiedades, de lo contrario, si se devuelve nil , no se cambia.