React questions autours de chatd

bonjour,

Je teste la messagerie en utilisant le sdk js.
J’ai bien la création de room, l’envoi de message, c’est ok.

Quand j’envoie un message, j’utilise l’interface ChatMessage:

{
      alias: null,
      content: 'text'
    }

Je ne vois pas à quoi peut correspondre ‘alias’ ?

Et lorsque j’envoie un message, le receveur du message n’est pas au courant, car je ne trouve pas de d’abonnement à l’event.

comment savoir que j’ai reçu un message ?

merci !

Ha,
J’ai trouvé ça dans Wazo.websocket:

CHATD_PRESENCE_UPDATED: "chatd_presence_updated"
​​
CHATD_USER_ROOM_CREATED: "chatd_user_room_created"
​​
CHATD_USER_ROOM_MESSAGE_CREATED: "chatd_user_room_message_created"
​​
CHAT_MESSAGE_RECEIVED: "chat_message_received"
​​
CHAT_MESSAGE_SENT: "chat_message_sent"

et aussi pas mal d’event dans Wazo.eventlist, mais je ne sais pas comment m’abonner ces évènements.

merci

pour répondre à ma question:

const messageReceived = () => {console.log('reçu !!!!!!!')}
  Wazo.Websocket.on('chatd_user_room_message_created', messageReceived)

quand un message est envoyé, je le reçois bien en temps réel avec les listeners.

reste plus qu’à mettre ma logique !

Bonjour,

Le chat alias correspond au nom de la personne qui a envoyé le message. Il peut être null et on peut se servir de son uuid pour aller chercher le nom de la personne dans dird.

Emmanuel

Salut,

const messageReceived = (data) => {console.log(data)}

Pour être plus complet :wink:

D’ailleurs, j’ai un cas chelou avec ce bout de code, parfois React me donne mal au crâne.

j’ai:

const [room, setRoom] = useState({});
Wazo.Websocket.on('chatd_user_room_message_created', messageReceived)
const messageReceived = (data) => { 
    console.log('room :', room, 'data :', data)
  }

impossible d’accéder à ma constante room !
j’ai tenté pas mal de chose, mais je tourne en rond.

une idée ?

et dans les messages d’une room, dans users[], on dispose uniquement de son uuid.
j’aimerais retrouver son firstName, lastName et state.
Mais je ne trouve pas de fonction offerte pour retrouver un utilisateur avec son uuid, à part Wazo.confd.getUser(uuid)
qui nécessite d’avoir une acl supplémentaire ou l’acl "api-client-policy’

de plus, je remarque que:
Wazo.confd.getUser(uuid) me retourne state = ''
Wazo.chatd.getState(uuid) me retourne state=available

merci !