---
title: Personnaliser l'envoi et la réception des messages de chat
slug: world-sdk-guide-fr/personnaliser-lenvoi-et-la-reception-des-messages-de-chat
docTags: 
createdAt: 2024-09-02T08:34:13.134Z
---

Vous pouvez personnaliser les messages de chat que vous envoyez et recevez en important le package ZEPETO.Chat.

:::hint{type="danger"}
❗️ **Avertissement**

- Cette fonctionnalité est disponible dans un monde où des éléments multijoueurs sont implémentés.
:::

:::hint{type="success"}
👍 **Points de référence**

- Vous pouvez envoyer/recevoir des chats même dans un environnement d'édition.
- Seuls les messages de chat créés par les utilisateurs via des gestionnaires peuvent être envoyés/reçus (les chats rapides, les messages système ne peuvent pas être reçus)
:::



## Définition de fonction

```typescript
class ZepetoChat extends System.Object {
    public static get Instance(): ZepetoChatImplementation;
    public static get OnReceivedMessage(): UnityEngine_Events.UnityEvent$1<IMessage>;
    public constructor();
    public static Send($message: string): void;
}
```

- ZepetoChat. Vous pouvez utiliser Send() pour envoyer des messages spécifiques à la fenêtre de chat.
- Vous pouvez utiliser ZepetoChat.OnReceivedMessage.AddListener() pour déterminer quel événement recevoir le message.



## Exemple d'utilisation

Appuyez sur les boutons 1 et 2 pour envoyer un message spécifié.
Créez un message personnalisé dans inputField pour envoyer le message.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-0ZtFY_KPKvddClWvNPaxM-20240904-102417.png "Exemple de paramétrage")



```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { Button, InputField, Text } from 'UnityEngine.UI';
import { ZepetoChat, MessageType, UserMessage } from 'ZEPETO.Chat';
import { Color } from 'UnityEngine';


export default class CustomChat extends ZepetoScriptBehaviour {

    public custom1ChatBtn: Button;
    public custom2ChatBtn: Button;
    public sendChatBtn: Button;
    public resultText: Text;
    public inputChatbox: InputField;

    Start() {
        // Lorsque le bouton est cliqué
        this.custom1ChatBtn.onClick.AddListener(() => {
            // Changer la couleur du texte 
            this.resultText.color = Color.magenta;
            // Envoyer le message
            ZepetoChat.Send("1");
        });
        this.custom2ChatBtn.onClick.AddListener(() => {
            this.resultText.color = Color.blue;
            ZepetoChat.Send("2");
        });
        this.sendChatBtn.onClick.AddListener(() => {
            this.resultText.color = Color.black;
            const inputMsg = this.inputChatbox.text;
            ZepetoChat.Send(inputMsg);
        });

        // Recevoir le message
        ZepetoChat.OnReceivedMessage.AddListener(msg => {
            const userMsg = msg as UserMessage;
            this.resultText.text = `[USER - ${userMsg.userName}] - ${userMsg.message}`;
        });
    }
}
```

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-P9uASIWH_f8NmXPsY2JHx-20240904-102417.gif "Exemple de résultats d'exécution")



## Activation/désactivation du bouton de chat

:::hint{type="danger"}
- Fonction disponible dans un monde où des éléments multijoueurs sont implémentés.
- Vous pouvez vérifier sur le test mobile.
:::

- Déclarations

```typescript
public static SetActiveChatUI($value: boolean): void;
```

- Exemple de code
  - Appuyez sur un bouton spécifique pour activer/désactiver le bouton de chat

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { Button } from 'UnityEngine.UI';
import { ZepetoChat, MessageType, UserMessage } from 'ZEPETO.Chat';
 
export default class ChatController extends ZepetoScriptBehaviour {
 
    public chatUIBtn: Button;
    private isChatUIActive : boolean = true;
     
    Start() {
        // Lorsque le bouton est cliqué
        this.chatUIBtn.onClick.AddListener(() => {
            // Envoyer un message
            if (this.isChatUIActive) {
                ZepetoChat.SetActiveChatUI(false);
                this.isChatUIActive = false;
                console.log("Chat UI désactivé");
            }
            else {
                ZepetoChat.SetActiveChatUI(true);
                this.isChatUIActive = true;
                console.log("Chat UI activé");
            }
        });
    }
}
```

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-yvlZBfrHSJ2YVoiuG6Cpy-20240904-102417.gif)



## Détermination des messages filtrés

:::hint{type="danger"}
- Fonction disponible dans un monde où des éléments multijoueurs sont implémentés.
- Vous pouvez vérifier sur le test mobile.
:::

- Déclarations

```typescript
public isFiltered: boolean;
```

- Exemple de code
  - Déterminez si le message de chat reçu est un message filtré et affichez-le à l'écran.

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { Text } from 'UnityEngine.UI';
import { ZepetoChat, MessageType, UserMessage } from 'ZEPETO.Chat';
 
export default class ChatController extends ZepetoScriptBehaviour {
 
    public filterResultText: Text;
     
    Start() {
        // Recevoir le message
        ZepetoChat.OnReceivedMessage.AddListener(msg => {
            const userMsg = msg as UserMessage;
            if (userMsg.isFiltered) {
                this.filterResultText.text = `Ce message a été filtré : ${userMsg.message}`;
            } else {
                this.filterResultText.text = `Ce message n'est pas filtré : ${userMsg.message}`;
            }
        });
    }
}
```

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-METB3-RQoyAdaEyj8GGir-20240904-102417.png)

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-WV21ilO4sqGdszyn7lnuR-20240904-102417.png)

