La domanda è troppo vaga, bisognerebbe sapere cosa vuoi/puoi/sai usare, come è progettata la chat e un sacco di altre cose.
Posta così ti si dovrebbe rispondere dicendoti come progettare tutta l'applicazione, cosa troppo lunga da fare qui.

Qual è il tuo livello di preparazione? Smanetti un po' mettendo insieme pezzi trovati qua e là su internet? Stai studiando per imparare e sei agli inizi? Hai già una certa familiarità con la programmazione? Programmi da tempo e sei abbastanza bravo?
Nel primo caso ti direi che stai perdendo un sacco di tempo che potresti impiegare nello studio della programmazione, mettere insieme pezzi trovati in giro non ti fa crescere.
Nel secondo, bene, continua a studiare, probabilmente quello che vuoi fare ora va oltre le tue attuali possibilità e non è una buona idea voler saltare le tappe, si programmano cose vicine alle proprie capacità, volerne fare di troppo difficili ti affossa.
Negli altri due casi sei allora abbastanza preparato da spiegare meglio con cosa hai a che fare per darci indicazioni valide a darti un aiuto concreto.