@hailer-oy/hailer-cli
TypeScript icon, indicating that this package has built-in type declarations

1.1.6 • Public • Published

Hailer CLI

A Command Line interface to Hailer. It can also be used to programmatically access Hailer.

Usage as Cli

All backend Socket API commands are available in the CLI.

Tab completion is available.

The result of each command is stored in the result variable.

Install

npm install -g https://bitbucket.org/hailer/hailer-cli.git

Run on Linux or OSX

USER=my@email.com CORE=https://api.hailer.biz hailer-cli

Run on Windows

set USER=my@email.com
set CORE=https://api.hailer.biz
hailer-cli

Example usage

Example usage:

wall2.new_post({ subject: 'This is a wall post.', text: 'Look, this is a cool wallpost made from the Cli.' })
wall2.remove_post(result._id)

Programmatic Usage

Login with username and password

This example creates a wall post in Hailer, and then removes it after five seconds, and exits.

Create a new nodejs project (npm init) or use an existing. Add hailer-cli as a dependency, using npm install https://bitbucket.org/hailer/hailer-cli.git

mkdir my-hailer-app
cd my-hailer-app
npm init
npm install https://bitbucket.org/hailer/hailer-cli.git

Create a new file run.js and paste the following code:

const { Cli } = require('hailer-cli');

const cli = new Cli('https://api.hailer.biz', username, password);

cli.on('ready', () => {
    cli.request('wall2.new_post', [{ subject: 'This is a wall post.', text: 'The content of my post' }], (err, data) => {
        if (err) { return console.log('Failed posting to wall', err, data); }

        console.log('wall2.new_post response:', data);

        setTimeout(() => {
            cli.request('wall2.remove_post', [data._id], (err, data) => {
                cli.disconnect();
            }); 
        }, 5000);
    })
});

cli.on('error', (err) => {
    console.log('Cli error:', err);
});

Set the username and password parameters to a valid Hailer account.

Log in to Hailer using the browser and go to the Feed to see the script in action.

Start the program:

node run.js

Have fun!

Login using existing Hailer session key

Re-using a Hailer sessionKey instead of logging in using username and password.

const { Cli } = require('hailer-cli');

const cli = new Cli('https://api.hailer.biz');

cli.once('connect', () => {
    cli.request('resume', [sessionKey], (err, data) => {
        cli.request('wall2.new_post', [{ subject: 'This is a wall post.', text: 'The content of my post' }], (err, data) => {
            if (err) { return console.log('Failed posting to wall', err, data); }

            console.log('wall2.new_post response:', data);

            setTimeout(() => {
                cli.request('wall2.remove_post', [data._id], (err, data) => {
                    cli.disconnect();
                }); 
            }, 5000);
        })
    })
});

cli.connect();

Set the sessionKey parameter which you have acquired by some other means.

Export process

Log in and run

networks()

to get a list of netowrks you have permission to. Then switch to the desired network unsing

core.switch_ecosystem('5579d000a9bbb6895dbcc74e')

Then list processes with the process convenience function (uses process.list)

processes()

Then export the process you wish by:

templateFromProcess('6779d000a9bbb6895dbcc777')

This can then be stored in a json file using:

fs.writeFileSync('./process.json', JSON.stringify(result, null, 2))

Readme

Keywords

Package Sidebar

Install

npm i @hailer-oy/hailer-cli

Weekly Downloads

113

Version

1.1.6

License

ISC

Unpacked Size

60.1 kB

Total Files

28

Last publish

Collaborators

  • hailer-support