Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/photon-hq/advanced-imessage-kit/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Message events are emitted when messages are received, updated, or encounter errors during sending. All message events provide a MessageResponse object containing the complete message data.

Events

new-message

Emitted when a new message is received.
data
MessageResponse
The complete message object
import { SDK } from 'advanced-imessage';

const client = SDK();

client.on('new-message', (message) => {
  console.log(`New message from ${message.handle?.id}: ${message.text}`);
});

await client.connect();

updated-message

Emitted when an existing message is updated (e.g., edited, read status changed, delivered).
data
MessageResponse
The updated message object with the same structure as new-message
import { SDK } from 'advanced-imessage';

const client = SDK();

client.on('updated-message', (message) => {
  if (message.dateRead && message.isFromMe) {
    console.log(`Your message was read: ${message.text}`);
  }
});

await client.connect();

message-send-error

Emitted when a message fails to send.
data
MessageResponse
The message object that failed to send
import { SDK } from 'advanced-imessage';

const client = SDK();

client.on('message-send-error', (message) => {
  console.error(`Failed to send message: ${message.text}`);
  console.error(`Error code: ${message.error}`);
  console.error(`Message GUID: ${message.guid}`);
});

await client.connect();

Event Methods

on()

Register a listener that will be called every time the event is emitted.
client.on('new-message', (message) => {
  console.log(message);
});

once()

Register a listener that will be called only once, then automatically removed.
client.once('new-message', (message) => {
  console.log('First message received:', message);
});

off()

Remove a specific listener from an event.
const handler = (message) => {
  console.log(message);
};

client.on('new-message', handler);

// Later, remove the listener
client.off('new-message', handler);
You must pass the exact same function reference to off() that was passed to on(). Anonymous functions cannot be removed.

Build docs developers (and LLMs) love