@hailer-oy/hailer-cli
v1.1.6
Published
Hailer API CLI tool
Downloads
277
Readme
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
[email protected] CORE=https://api.hailer.biz hailer-cli
Run on Windows
set [email protected]
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))