Chat
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Le service de chat héberge le code Luau responsable de l'exécution du système de chat hérité.Semblable à StarterPlayerScripts , les objets par défaut comme Scripts et ModuleScripts sont insérés dans le service.
Résumé
Propriétés
Détermine si les messages de chat du joueur apparaîtront au-dessus de son avatar dans le jeu.
Active si le framework de chat par défaut doit être chargé automatiquement lorsque le jeu s'exécute.
Méthodes
Lance l'événement Chat.Chatted avec les paramètres spécifiés dans cette méthode.
Invocation d'une fonction de rappel de chat enregistrée par RegisterChatCallback. Utilisée par le système de chat Luau.
Enregistrez une fonction à appeler lors de l'invocation d'un événement de système de chat (InvokeChatCallback).
Personnalise divers paramètres du chat bulle en jeu.
Renvoiera false si le joueur avec le Player.UserId spécifié n'est pas autorisé à discuter en raison de ses paramètres de compte.
Renvoiera false si les deux utilisateurs ne peuvent pas communiquer car leurs paramètres de compte ne le permettent pas.
Filtre une chaîne envoyée d'un joueur à un autre joueur en utilisant un filtrage approprié aux paramètres du compte des joueurs.
Filtre une chaîne envoyée par un joueur destinée à une cible spécifique. Plus restrictif que Chat:FilterStringAsync() .
Évènements
S'enflamme lorsque Chat:Chat() est appelé.
Propriétés
BubbleChatEnabled
Si c'est vrai, l'entrée d'un message dans le chat entraînera l'apparition d'une bulle de chat au-dessus de la Player.Character du joueur.Ce comportement peut être activé en cochant directement cette case à cocher dans Studio, ou en utilisant un LocalScript :
local ChatService = game:GetService("Chat")ChatService.BubbleChatEnabled = true
Cela doit être fait sur le client, en activant cette valeur dans un côté serveur Script n'aura aucun effet.
LoadDefaultChat
Active si le framework de chat par défaut doit être chargé automatiquement lorsque le jeu s'exécute.
Méthodes
Chat
La fonction de chat déclenche l'événement Chat.Chatted avec les paramètres spécifiés dans cette méthode.
Par défaut, il y a un à l'intérieur de l'objet de chaque joueur nommé BubbleChat , ce qui provoque l'apparition d'un panneau dialog-like au-dessus de la partie ou du personnage lorsque l'événement de chat est déclenché.
Remarque : Puisque les dialogues sont contrôlés par un script local, vous ne pourrez pas voir de dialogues créés à partir de cette méthode à moins que vous ne soyez en mode lecture en solo.
Paramètres
Une instance qui est la partie ou le personnage auquel le dialogue BubbleChat devrait apparaître au-dessus.
La chaîne de message qui est discutée.
Un Enum.ChatColor spécifiant la couleur du message chat.
Retours
Échantillons de code
The below example would create a part in Workspace and cause it to exclaim "Blame John!"
local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")
InvokeChatCallback
InvokeChatCallback appellera une fonction enregistrée par RegisterChatCallback , étant donné l'ensemble de type d'appel de chat et les arguments à envoyer la fonction.Il retournera le résultat de la fonction enregistrée ou lèvera une erreur si aucune fonction n'a été enregistrée.
Cette fonction est appelée par le système de chat Luau afin que les appels de chat puissent être enregistrés pour modifier le comportement de certaines fonctionnalités.À moins de remplacer le système de chat Luau par défaut par votre possédersystème, vous ne devriez pas avoir besoin d'appeler cette fonction.Vous pouvez en savoir plus sur les différentes fonctions de rappel à Chat:RegisterChatCallback().
Paramètres
Le type de rappel à invoquer.
Les arguments qui seront envoyés à la fonction de rappel enregistrée.
Retours
Les valeurs renvoyées par la fonction enregistrée au type de rappel de chat donné.
RegisterChatCallback
RegisterChatCallback lie une fonction à un événement du système de chat pour affecter le comportement du système de chat Luau.Le premier argument détermine l'événement (en utilisant l'enum Enum.ChatCallbackType ) auquel le deuxième argument, la fonction, sera lié.Le système de chat Luau par défaut utilise InvokeChatCallback pour invoquer les fonctions enregistrées.Tenter d'enregistrer un rappel serveur ou client uniquement sur un pair qui n'est pas un serveur ou un client soulevera une erreur.Les sections suivantes décrivent de quelle manière les fonctions enregistrées seront utilisées.
Lors de la création de la fenêtre de chat
Client seulement.Invocé avant que le client construise la fenêtre de chat.Doit retourner une table de paramètres à fusionner dans l'information retournée par le module ChatSettings.
Sur le message de formatage du client
Client seulement.Invocé avant que le client affiche un message (qu'il s'agisse d'un message de chat de joueur, d'un message du système ou de la commande /me).Cette fonction est invoquée avec l'objet de message et peut (ou ne peut pas) retourner une table à fusionner dans message.ExtraData .
SurClientEnvoyer le message
Non invoqué à ce moment-ci.
Sur le serveur recevant le message
Serveur uniquement.Invocé lorsque le serveur reçoit un message d'un orateur (notez que les orateurs peuvent ne pas nécessairement être un Player chat).Ce rappel est appelé avec l'objet Message.La fonction peut apporter des modifications à l'objet Message pour modifier la manière dont le message est traité. L'objet Message doit être retourné pour que ce rappel puisse faire quoi que ce soit.: Le paramètre de rappel peut permettre au serveur de, par exemple :
- Définir message.ShouldDeliver à false afin d'annuler la livraison du message aux joueurs (utile pour implémenter une liste d'exclusion de chat)
- Obtenir/définir la couleur du nom du enceinte( message.ExtraData.NameColor , une couleur 3) sur une base message par message
Paramètres
Le rappel auquel la fonction sera enregistrée (ce qui détermine la manière dont la fonction est appelée).
La fonction à appeler lorsque le rappel est invoqué en utilisant chat:InvokeChatCallback.
Retours
SetBubbleChatSettings
Cette fonctionnalité personnalise divers paramètres du chat bulle en jeu.
Avant d'utiliser ceci, assurez-vous que le chat à bulles est activé en définissant Chat.BubbleChatEnabled à vrai.
L'argument des paramètres est une table où les clés sont les noms des paramètres que vous voulez modifier et les valeurs sont ce que vous voulez changer ces paramètres.Notez que vous n'avez pas à inclure toutes dans l'argument des paramètres, en omettant certaines d'entre elles, elles conserveront leur valeur par défaut.
Cette fonction est côté client uniquement, essayer de l'appeler sur le serveur déclenchera une erreur.
Paramètres
Une table de paramètres.
Retours
Échantillons de code
When run from a LocalScript, this snippet will make all the chat bubbles appear with bigger text under a different font and a light blue background. Note that all the other settings will keep their default value.
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})
If you want to reset the bubble chat to its default look, you can call this function with an empty table, because any setting you omit from the argument will result in it returning to its default value:
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})
CanUserChatAsync
Renvoiera false si le joueur avec le Player.UserId spécifié n'est pas autorisé à discuter en raison de ses paramètres de compte.
Paramètres
Retours
CanUsersChatAsync
Renvoiera false si les deux utilisateurs ne peuvent pas communiquer car leurs paramètres de compte ne le permettent pas.
Paramètres
Retours
FilterStringAsync
Avertissement de déprécation partielle : Appeler cette fonction depuis le client en utilisant un LocalScript est marquer comme obsolèteet sera désactivé à l'avenir.Le filtrage du texte doit être effectué à partir d'un Script sur le serveur en utilisant le filtre de nom similaire TextService:FilterStringAsync(), qui utilise un ensemble différent de paramètres et de taperde retour.
Les jeux qui ne filtrent pas correctement le texte généré par le joueur peuvent faire l'objet d'une action de modération.Veuillez vous assurer qu'un jeu filtre correctement le texte avant de le publier.
FilterStringAsync filtre une chaîne en utilisant un filtrage approprié pour le joueur d'envoi et de réception.Si la chaîne filtrée doit être utilisée pour un message persistant, comme le nom d'une boutique, l'écriture sur une plaque, etc, alors la fonction doit être appelée avec l'auteur en tant qu'expéditeur et récepteur.
Cette fonction doit être utilisée à chaque fois qu'un joueur peut entrer du texte personnalisé dans n'importe quel contexte , le plus souvent en utilisant un TextBox.Quelques exemples de texte à filtrer :
- Messages de chat personnalisés
- Noms de personnage personnalisés
- Noms pour une boutique dans un jeu de style tycoon
Paramètres
La chaîne brute à filtrer, exactement comme entrée par le joueur.
L'auteur du texte.
Le destinataire prévu du texte fourni ; utilisez l'auteur si le texte est persistant (voir la description).
Retours
FilterStringForBroadcast
Filtre une chaîne envoyée par joueurFrom à une cible spécifique. Le message filtré a plus de restrictions que Chat:FilterStringAsync() .
Quelques exemples d'endroits où cette méthode pourrait être utilisée :
- Murs de messages
- Crystaux interserveurs
- Panneaux créés par l'utilisateur
L'appel de FilterString à partir de LocalScripts est obsolète et sera désactivé à l'avenir.Le filtrage du texte doit être effectué du côté du serveur Scripts en utilisant FilterStringAsync.
Remarque : Un jeu ne utilisant pas cette fonction de filtre pour le chat personnalisé ou d'autres textes générés par l'utilisateur peut être soumis à une action de modération.
Paramètres
Chaîne de message filtrée.
Instance du joueur envoyant le message.
Retours
chaînede message filtrée.
Échantillons de code
The following example shows a simple way to use the FilterStringForBroadcast function. The example uses the message variable as the stringToFilter argument and the local player as the playerFrom argument.
The example then prints the result of the filtering function, FilteredString.
local Players = game:GetService("Players")
local Chat = game:GetService("Chat")
local playerFrom = Players.LocalPlayer
local message = "Hello world!"
-- Filter the string and store the result in the 'FilteredString' variable
local filteredString = Chat:FilterStringForBroadcast(message, playerFrom)
print(filteredString)