Need help with node-imessage?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

nicola
428 Stars 18 Forks 30 Commits 3 Opened issues

Description

:mailbox_with_mail: Query iMessage from terminal and NodeJS

Services available

!
?

Need anything else?

Contributors list

# 52,679
HTML
spec
specifi...
TeX
29 commits

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.