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
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
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.