Convert Kik messages into Activity Streams 2 with Broid Integration
npm install @broid/kik[npm]: https://img.shields.io/badge/npm-broid-green.svg?style=flat
[npm-url]: https://www.npmjs.com/org/broid
[node]: https://img.shields.io/node/v/@broid/kik.svg
[node-url]: https://nodejs.org
[deps]: https://img.shields.io/badge/dependencies-checked-green.svg?style=flat
[deps-url]: #integrations
[tests]: https://img.shields.io/travis/broidHQ/integrations/master.svg
[tests-url]: https://travis-ci.org/broidHQ/integrations
[bithound]: https://img.shields.io/bithound/code/github/broidHQ/integrations.svg
[bithound-url]: https://www.bithound.io/github/broidHQ/integrations
[bithoundscore]: https://www.bithound.io/github/broidHQ/integrations/badges/score.svg
[bithoundscore-url]: https://www.bithound.io/github/broidHQ/integrations
[nsp-checked]: https://img.shields.io/badge/nsp-checked-green.svg?style=flat
[nsp-checked-url]: https://nodesecurity.io
[![npm][npm]][npm-url]
[![node][node]][node-url]
[![deps][deps]][deps-url]
[![tests][tests]][tests-url]
[![bithound][bithound]][bithound-url]
[![bithoundscore][bithoundscore]][bithoundscore-url]
[![nsp-checked][nsp-checked]][nsp-checked-url]
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._
``bash`
npm install --save @broid/kik
`javascript
const BroidKik = require('@broid/kik');
const kik = new broidKik({
username: "
token: "
webhookURL: "http://example.com/"
http: {
host: "0.0.0.0",
port: 8080
}
});
kik.connect()
.subscribe({
next: data => console.log(data),
error: err => console.error(Something went wrong: ${err.message}),`
complete: () => console.log('complete'),
});
Kik can also be used with your existing express setup.
`javascript
const BroidKik = require('@broid/kik');
const express = require("express");
const kik = new broidKik({
username: "
token: "
webhookURL: "http://example.com/"
});
kik.connect()
.subscribe({
next: data => console.log(data),
error: err => console.error(Something went wrong: ${err.message}),
complete: () => console.log('complete'),
});
const app = express();
app.use("/kik", kik.getRouter());
app.listen(8080);
`
When using the kik integration in an express application, ensure that you do not mount any kind of body-parser middleware before the router. The official kik library expects to handle a raw body itself.
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 |{ "port": 8080, "http": "0.0.0.0", "webhookURL": "127.0.0.1" }
| token | string | | Your API Key |
| username | string | | Your bot name |
| http | object | | WebServer options (host, port, webhookURL) |
Note: webhookURL need to contain a path because Kik incomingPath not support empty value.
Kik support simple quick reply button
`javascriptReceived message: ${data}
kik.listen()
.subscribe({
next: data => console.log(),Something went wrong: ${err.message}
error: err => console.error(),`
complete: () => console.log('complete'),
});
To send a message, the format should use the broid-schemas.
`javascript
const formatted_message = {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Create",
"generator": {
"id": "f6e92eb6-f69e-4eae-8158-06613461cf3a",
"type": "Service",
"name": "kik"
},
"object": {
"type": "Note",
"content": "hello world"
},
"to": {
"type": "Person",
"id": "sally2"
}
};
kik.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
Copyright (c) 2016-2017 Broid.ai
This project is licensed under the AGPL 3, which can be
found here.