TextChatService
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
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 .
Resumen
Propiedades
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.
Llamadas
Propiedades
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.
Devuelve
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
Devuelve
Muestras de código
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()