TextChatService
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Un service qui gère le chat textuel dans l'expérience, y compris la gestion des canaux, la décoration des messages, le filtrage du texte, la création de commandes et le développement d'interfaces de chat personnalisées.
Pour en savoir plus, voir Chat textuel dans l'expérience.
Résumé
Propriétés
Détermine si activer entièrement TextChatService ou revenir au système de chat hérité.
Détermine si TextChatService doit créer par défaut TextChatCommands .
Détermine si TextChatService devrait créer par défaut TextChannels .
Méthodes
Affiche une bulle de discussion au-dessus de la partie ou du personnage fourni.
Détermine si un utilisateur a la permission de discuter directement avec d'autres utilisateurs dans des expériences en fonction de ses paramètres de contrôle parental.
Évènements
Se déclenche lorsque TextChatService:DisplayBubble() est appelé.
Se déclenche lorsque TextChannel:DisplaySystemMessage() est invoqué sur le client, ou lorsque le client reçoit une réponse valide TextChannel:SendAsync() du serveur.
Se déclenche lorsque TextChannel:SendAsync() est appelé par le client d'envoi.
Rappels
Appelé quand un chat à bulles est sur le point d'être affiché.
Appelé quand un nouveau message est sur le point d'être affiché dans la fenêtre de discussion. Cela ne peut être implémenté que sur le client.
Appelé lorsque TextChatService reçoit un message entrant.
Propriétés
ChatTranslationEnabled
ChatVersion
Détermine si activer entièrement TextChatService ou revenir au système de chat hérité. En configurant cette propriété sur Enum.ChatVersion.LegacyChatService, vous désactivez effectivement TextChatService.
CreateDefaultCommands
Détermine si TextChatService doit créer par défaut TextChatCommands .
Si oui, les éléments suivants TextChatCommands sont créés et mis dans un Folder nommé TextChatCommands à l'intérieur de 2>Class.TextChatService2> :
<tbody><tr><td><b>RBXClearCommande</b></td><td>effacer</td><td>cls</td><td>Efface le journal de discussion pour l'utilisateur local.</td><td><code>/cls</code></td></tr><tr><td><b>RBXConsoleCommande</b></td><td>console</td><td /><td>Ouvre la console de développeur.</td><td><code>/console</code></td></tr><tr><td><b>Commande RBXEmote</b></td><td>emote</td><td>e</td><td>Joue un Emoted'avatar.</td><td><code>/e danse</code></td></tr><tr><td><b>Commande RBXHelp</b></td><td>aide</td><td>?</td><td>Affiche une liste des commandes de chat.</td><td><code>/help</code></td></tr><tr><td><b>Commande RBXMute</b></td><td>mettre en sourdine</td><td>m</td><td>Mute un utilisateur par leur <code>Class.Player.Name|Name</code> ou <code>Class.Player.DisplayName|DisplayName</code> dans tous les <code>Class.TextChannel|TextChannels</code> .</td><td><code>/m Nom d'utilisateur</code></td></tr><tr><td><b>Commande d'équipe RBX</b></td><td>équipe</td><td>t</td><td>Entre en mode chat d'équipe où les messages ne sont visibles que pour les coéquipiers.</td><td><code>/t</code></td></tr><tr><td><b>Commande RBXUnmute</b></td><td>désactiver</td><td>heure</td><td>Débloque un utilisateur par leur <code>Class.Player.Name|Name</code> ou <code>Class.Player.DisplayName|DisplayName</code> dans tous les <code>Class.TextChannel|TextChannels</code>.</td><td><code>/um Nom d'utilisateur</code></td></tr><tr><td><b>Commande RBXVersion</b></td><td>version</td><td>v</td><td>Affiche la version de chat.</td><td><code>/version</code></td></tr><tr><td><b>Commande RBXWhisper</b></td><td>murmurer</td><td>w</td><td>Entre en mode disc disc avec un autre <code>Class.Player</code>.</td><td><code>/w DisplayName</code> ou <code>/w @Username</code></td></tr></tbody>
Nom | Alias primaires | Alias secondaires | Description | Exemple d'utilisation |
---|
Notez que vous pouvez modifier, créer et supprimer TextChatCommands même si CreateDefaultCommands est vrai. Notez également que les commandes de mute et d'annulation s'appliquent à tous les TextChannels.
CreateDefaultTextChannels
Détermine si
<tbody><tr><td><b>RBXGeneral</b></td><td><code>Class.TextChannel</code> pour les messages des joueurs. Dans la fenêtre de chat, les messages sont modifiés afin que <code>Class.TextChatMessage.PrefixText|PrefixText</code> reçoive une étiquette de couleur de police de caractère pour donner aux joueurs des couleurs de nom distincts. Si <a href="../../../ui/rich-text.md">Class.Player.Team</a> existe, que 0> Class.Team.TeamColor0> est utilisé à la place de la cou</td></tr><tr><td><b>Système RBX</b></td><td><code>Class.TextChannel</code> pour les messages système. Dans la fenêtre de chat, les messages sont modifiés afin que <code>Class.TextChatMessage.Text</code> soit donné une étiquette de couleur grise clair par défaut, ou une étiquette de couleur rouge si <code>Class.TextChatMessage.Metadata</code> contient le mot 0> « Erreur »0>.</td></tr><tr><td><b>RBXTeam\[BrickColor]</b></td><td><code>Class.TextChannel</code> pour les messages de joueurs spécifiques, créés lorsqu'un <code>Class.Team.TeamColor|TeamColor</code> est utilisé par n'importe quelle <code>Class.Player.Neutral|Neutral</code> . Les canaux de 0> Team sont supprimés si aucun</td></tr><tr><td><b>RBXWhisper:\[userId1]\_\[userId2]</b></td><td><code>Class.TextChannel</code> pour les messages de chat entre deux joueurs, créé lorsqu'un joueur utilise la commande <code>/whisper</code> sur un autre expérience</td></tr></tbody>
Canal | Description |
---|
Notez que les appels de retour par défaut TextChannel.OnIncomingMessage peuvent être écrasés. Notez également que vous pouvez modifier, créer et supprimer TextChannels même si CreateDefaultTextChannels est vrai.
Les messages des différents canaux de texte peuvent être séparés en différentes onglets dans la fenêtre de chat en utilisant ChannelTabsConfiguration.
Méthodes
DisplayBubble
Affiche une bulle de discussion au-dessus de la partie ou du personnage fourni, et lance l'événement BubbleDisplayed avec les paramètres spécifiés dans cette méthode. Vous pouvez afficher des bulles pour les personnages non-joueurs (NPC) si vous spécifiez une partie dans le personnage, comme sa tête.
Notez que cette méthode n'est disponible que pour l'utilisation dans LocalScript , ou dans un Script avec RunContext de 1> 枚.RunContext.Client1> .
Paramètres
La partie ou le personnage qui la bulle à afficher ci-dessus.
Le texte à afficher dans la bulle de chat.
Retours
CanUsersDirectChatAsync
Détermine si un utilisateur a la permission de discuter directement avec d'autres utilisateurs dans des expériences en fonction de ses paramètres de contrôle parental. Pour être utilisé lorsque :
- La ligne de communication est utilisateur (pas développeur ou gameplay) initié
- L'accès à la communication est fermé et limité
Paramètres
Retours
Échantillons de code
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
Évènements
MessageReceived
Comme TextChannel.MessageReceived , se déclenche lorsque TextChannel:DisplaySystemMessage() est invoqué sur le client, ou lorsque le client reçoit une réponse valide TextChannel:SendAsync() du serveur. Cet événement n'est déclenché que sur le client.
Si la propriété TextChannel.ShouldDeliverCallback du serveur est liée et renvoie false, le client ne tirera pas sur TextChatService.MessageReceived.
Utilisez le paramètre TextChatMessage pour obtenir le TextSource et le texte du message (avec TextChatMessage.Text).
Le TextChatMessage paramètre est le résultat final de toutes les fonctions liées à TextChatService.OnIncomingMessage ou TextChannel.OnIncomingMessage.
Paramètres
Le TextChatMessage reçu.
SendingMessage
Activer le feu quand TextChannel:SendAsync() est appelé par le client d'envoi. Utilisez ceci pour permettre aux messages d'espace réservés d'être affichés à l'utilisateur pendant l'attente d'une réponse du serveur à TextChannel:SendAsync() .
Paramètres
Le TextChatMessage du TextChannel:SendAsync() appel.
Rappels
OnBubbleAdded
Appelé quand un chat de bulle est sur le point d'être affiché. Cela ne peut être implémenté que sur le client.
Utilisez-le pour personnaliser les messages de chat individuels. Si ce rappel renvoie un BubbleChatMessageProperties , ces propriétés s'appliqueront à la bulle associée, en dépassant les propriét
Si le message de chat est envoyé par un joueur, message.TextSource correspondra à ce joueur, et adornee sera nil .
Si le message de chat est envoyé via TextChatService:DisplayBubble() , adornee sera le partOrCharacter fourni, et 1> message.TextSource1> sera le 4> nil4> .
Paramètres
Le TextChatMessage entrant.
La partie ou le personnage auquel le message de chat bulle est associé.
Retours
Si un TextChatMessage est renvoyé, ces propriétés seront appliquées à la bulle associée, en écrasant les propriétés BubbleChatConfiguration.
OnChatWindowAdded
Appelé quand un nouveau message est sur le point d'être affiché dans la fenêtre de discussion. Cela ne peut être implémenté que sur le client.
Utilisez-le pour personnaliser les messages individuels qui apparaissent dans la fenêtre de chat. Si ce rappel renvoie un ChatWindowMessageProperties, ces propriétés s'appliqueront à la message associée, en détruisendo Class.ChatWindow
Paramètres
Le TextChatMessage entrant.
Retours
Si un TextChatMessage est renvoyé, ces propriétés seront appliquées au message associé, en écrasant les propriétés ChatWindowConfiguration.
OnIncomingMessage
Appelé lorsque TextChatService reçoit un message entrant. Ne peut être implémenté que sur le client.
Utilisez-le pour décorer TextChatMessages. Si ce rappel renvoie un TextChatMessageProperties, ces propriétés sont fusionnées avec le TextChatMessage paramètre pour créer un nouveau 1> Class.TextChatMessage1> .
Lorsqu'il est lié au client pour envoyer un message, ce rappel est exécuté deux fois ; d'abord lorsque le message est initialement envoyé et reçu localement, et à nouveau lorsque le client reçoit le résultat du message filtré du serveur.
Notez que ce TextChatService.OnIncomingMessage rappel s'exécute avant n'importe lequel des rappels TextChannel.OnIncomingMessage.
Ceci devrait être défini une seule fois dans le code source. Plusieurs liens s'annuleront l'un l'autre de manière non déterministe.
Paramètres
Le TextChatMessage entrant.
Retours
Si un TextChatMessageProperties est renvoyé, ces propriétés sont fusionnées avec le paramètre TextChatMessage pour créer un nouveau TextChatMessage avec ces propriétés, sinon, si 1> nil1> est renvoyé, alors 4> Class.TextChatMessage4> n'est pas modifié.