Nukem's Possible Manifestation

    imessage

    0.1.6 • Public • Published

    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>
    
    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

    Keywords

    none

    Install

    npm i imessage

    DownloadsWeekly Downloads

    1

    Version

    0.1.6

    License

    ISC

    Last publish

    Collaborators

    • nicola