AI Agents enable intelligent, automated interactions. They process user messages, trigger tools, and respond with contextually relevant information.Key Points:
Agents only respond to text messages
Real-time events via AIAssistantListener
Persisted messages via MessageListener
Event flow: Run Start → Tool Call(s) → Text Message Stream → Run Finished
TypeScript
JavaScript
const listnerId: string = "unique_listener_id";// Adding the AIAssistantListener for real-time eventsCometChat.addAIAssistantListener(listnerId, { onAIAssistantEventReceived: (message: CometChat.AIAssistantBaseEvent) => { console.log("AIAssistant event received successfully", message); }});// Adding the MessageListener for persisted agentic messagesCometChat.addMessageListener(listnerId, { onAIAssistantMessageReceived: (message: CometChat.AIAssistantMessage) => { console.log("AI Assistant message received successfully", message); }, onAIToolResultReceived: (message: CometChat.AIToolResultMessage) => { console.log("AI Tool result message received successfully", message); }, onAIToolArgumentsReceived: (message: CometChat.AIToolArgumentMessage) => { console.log("AI Tool argument message received successfully", message); },});// Cleanup - always remove listeners when doneCometChat.removeAIAssistantListener(listnerId);CometChat.removeMessageListener(listnerId);
const listnerId = "unique_listener_id";// Adding the AIAssistantListener for real-time eventsCometChat.addAIAssistantListener(listnerId, { onAIAssistantEventReceived: (message) => { console.log("AIAssistant event received successfully", message); }});// Adding the MessageListener for persisted agentic messagesCometChat.addMessageListener(listnerId, { onAIAssistantMessageReceived: (message) => { console.log("AI Assistant message received successfully", message); }, onAIToolResultReceived: (message) => { console.log("AI Tool result message received successfully", message); }, onAIToolArgumentsReceived: (message) => { console.log("AI Tool argument message received successfully", message); },});// Cleanup - always remove listeners when doneCometChat.removeAIAssistantListener(listnerId);CometChat.removeMessageListener(listnerId);