Skip to main content
Home

Built and signed on GitHub Actions

It is unknown whether this package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
It is unknown whether this package works with Cloudflare Workers
It is unknown whether this package works with Node.js
It is unknown whether this package works with Deno
It is unknown whether this package works with Bun
It is unknown whether this package works with Browsers
JSR Score
52%
Published
2 weeks ago (0.1.1)

@lambdalisue/imessage

JSR

A Deno module and CLI for sending iMessages from the command line on macOS.

Requirements

  • macOS (uses AppleScript to interact with Messages app)
  • Deno runtime
  • Messages app configured with iMessage account

Installation

deno install --allow-run -n imessage jsr:@lambdalisue/imessage/cli

Or use directly

deno run --allow-run jsr:@lambdalisue/imessage/cli -r "+1234567890" -m "Hello!"

CLI Usage

imessage --recipient "email@example.com" --message "Test message"

# Short flags
imessage -r "+1234567890" -m "Hello!"

# Positional arguments
imessage "+1234567890" "Hello!"

Programmatic Usage

import { sendMessage } from "jsr:@lambdalisue/imessage";

const result = await sendMessage({
  recipient: "+1234567890", // Phone number or email
  message: "Hello from Deno!",
});

if (result.success) {
  console.log("Message sent!");
} else {
  console.error("Failed:", result.error);
}

API

sendMessage(options: SendMessageOptions): Promise<SendMessageResult>

Send an iMessage to a recipient.

Options

  • recipient (string): The recipient's phone number or email address
  • message (string): The message content to send
  • retries (number, optional): Number of retry attempts on failure (default: 0)

Returns

  • success (boolean): Whether the message was sent successfully
  • error (string, optional): Error message if sending failed
  • attempts (number, optional): Number of attempts made to send the message

Development

# Run tests
deno task test

# Type check
deno task check

# Run with coverage
deno task test:coverage
deno task coverage

License

MIT License - see LICENSE file for details.

Built and signed on
GitHub Actions

New Ticket: Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@lambdalisue/imessage

Import symbol

import * as imessage from "@lambdalisue/imessage";
or

Import directly with a jsr specifier

import * as imessage from "jsr:@lambdalisue/imessage";

Add Package

pnpm i jsr:@lambdalisue/imessage
or (using pnpm 10.8 or older)
pnpm dlx jsr add @lambdalisue/imessage

Import symbol

import * as imessage from "@lambdalisue/imessage";

Add Package

yarn add jsr:@lambdalisue/imessage
or (using Yarn 4.8 or older)
yarn dlx jsr add @lambdalisue/imessage

Import symbol

import * as imessage from "@lambdalisue/imessage";

Add Package

vlt install jsr:@lambdalisue/imessage

Import symbol

import * as imessage from "@lambdalisue/imessage";

Add Package

npx jsr add @lambdalisue/imessage

Import symbol

import * as imessage from "@lambdalisue/imessage";

Add Package

bunx jsr add @lambdalisue/imessage

Import symbol

import * as imessage from "@lambdalisue/imessage";