Broid Integrations is an open source project providing a suite of Activity Streams 2 libraries for unified communications among a vast number of communication platforms.
Connect your App to Multiple Messaging Channels with One OpenSource Language.
Simple | Image | Video | Buttons | Location | Phone number |
---|---|---|---|---|---|
✅ | ✅ | ✅ |
Buttons, Location, Phone number are platform limitations.
npm install --save @broid/callr
const BroidCallr = require('@broid/callr');
const callr = new broidCallr({
username: '<sender_name>',
token: "<access_token>",
tokenSecret: "<access_secret>",
webhookURL: "http://127.0.0.1",
http: {
host: "127.0.0.1",
port: 8080
}
});
callr.connect()
.subscribe({
next: data => console.log(data),
error: err => console.error(`Something went wrong: ${err.message}`),
complete: () => console.log('complete'),
});
Callr can also be used with your existing express setup.
const BroidCallr = require('broid-callr');
const express = require("express");
const callr = new broidCallr({
username: '<sender_name>',
token: "<access_token>",
tokenSecret: "<access_secret>",
webhookURL: "http://example.com/callr"
});
const app = express();
app.use("/callr", callr.getRouter());
callr.connect()
.subscribe({
next: data => console.log(data),
error: err => console.error(`Something went wrong: ${err.message}`),
complete: () => console.log('complete'),
});
app.listen(8080);
Options available
name | Type | default | Description |
---|---|---|---|
serviceID | string | random | Arbitrary identifier of the running instance |
logLevel | string | info |
Can be : fatal , error , warn , info , debug , trace |
token | string | Your login | |
tokenSecret | string | Your password | |
username | string | Your sender name | |
webhookURL | string | Full webhook URL to be passed to Callr web services | |
http | object | WebServer options (host , port ) |
callr.listen()
.subscribe({
next: data => console.log(`Received message: ${data}`),
error: err => console.error(`Something went wrong: ${err.message}`),
complete: () => console.log('complete'),
})
To send a message, the format should use the broid-schemas.
const formatted_message = {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Create",
"generator": {
"id": "f6e92eb6-f69e-4eae-8158-06613461cf3a",
"type": "Service",
"name": "callr"
},
"object": {
"type": "Note",
"content": "hello world"
},
"to": {
"type": "Person",
"id": "+15437783737"
}
};
callr.send(formatted_message)
.then(() => console.log("ok"))
.catch(err => console.error(err))
You can find examples of sent and received messages at Broid-Schemas.
See CONTRIBUTE.md
Make sure that you're read and understand the Code of Conduct.
Copyright (c) 2016-2017 Broid.ai
This project is licensed under the AGPL 3, which can be found here.