node-imessage

by nicola

:mailbox_with_mail: Query iMessage from terminal and NodeJS

427 Stars 16 Forks Last release: Not found 30 Commits 1 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

node-imessage

Build Status

Binds iMessage to NodeJS (read-only)

ATTENTION: only available to brave coders, heavy development going on.

Discuss on HN or star the project to be updated.

Install

npm install imessage --save

To use the command line tool

npm install -g imessage

Usage

Command line

Usage: imessagejs 

command
search Search messages with particular text recipients Search messages with particular recipient

Search

Usage: imessagejs search "text to search" [options]

Options: --count Just return the count --recipient ID of the recipient --json Print in json format --path iMessage path to the chat.db

Recipients

Usage: imessagejs recipients ["recipient name to filter"] [options]

Options: --count Just return the count --json Print in json format --path iMessage path to the chat.db

NodeJS Library

Recipients

var iMessage = require('imessage');
var im = new iMessage();

// Get all recipients im.getRecipients(cb)

// Get recipients with "nicola" im.getRecipients("nicola", cb)

// Get recipient Id im.getRecipientById(1, cb) // Get recipient and all of his messages im.getRecipientById(1, true, cb)

Messages

// Get all messages
im.getMessages(cb)

// Get messages with text im.getMessages("hello you", cb);

// Get messages from recipient Id im.getMessagesFromId(1, cb) // Get messages from recipient with specific text im.getMessagesFromId(1, "with text", cb)

Attachments

// Get all attachments
im.getAttachments(cb)

// Get attachements from recipient Id im.getAttachmentsFromId(1, cb)

Use raw SQL queries

var iMessage = require('imessage');

var im = new iMessage(); im.getDb(function(err, db) { db.get("SELECT * FROM messages"); })

Ideally

var iMessage = require('imessage');

var im = new iMessage(); im .getAll() .keyword(["love", "happy"], ["sad", "hate"]) .from(["+1231231231", "+89898989898"]) .limit(10) .exec(function(err, rows) { console.log(rows); })

Examples

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.