@broid/skype
Version:
Convert Skype messages into Activity Streams 2 with Broid Integration
177 lines (131 loc) • 5.19 kB
Markdown
[]: https://img.shields.io/badge/npm-broid-green.svg?style=flat
[]: https://www.npmjs.com/org/broid
[]: https://img.shields.io/node/v/@broid/skype.svg
[]: https://nodejs.org
[]: https://img.shields.io/badge/dependencies-checked-green.svg?style=flat
[]:
[]: https://img.shields.io/travis/broidHQ/integrations/master.svg
[]: https://travis-ci.org/broidHQ/integrations
[]: https://img.shields.io/bithound/code/github/broidHQ/integrations.svg
[]: https://www.bithound.io/github/broidHQ/integrations
[]: https://www.bithound.io/github/broidHQ/integrations/badges/score.svg
[]: https://www.bithound.io/github/broidHQ/integrations
[]: https://img.shields.io/badge/nsp-checked-green.svg?style=flat
[]: 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.
[](https://t.broid.ai/c/Blwjlw?utm_source=github&utm_medium=readme&utm_campaign=top&link=gitter)
| Simple | Image | Video | Buttons | Location | Phone number |
|:------:|:-----:|:-----:|:-------:|:--------:|:------------:|
| ✅ | ✅ | ✅ | ✅ | | |
_Location, Phone number are platform limitations._
```bash
npm install --save @broid/skype
```
```javascript
const BroidSkype = require('@broid/skype');
const skype = new BroidSkype({
token: 'xxxxx',
tokenSecret: 'xxxxxx',
http: {
host: '127.0.0.1',
port: 8080
}
});
skype.connect()
.subscribe({
next: data => console.log(data),
error: err => console.error(`Something went wrong: ${err.message}`),
complete: () => console.log('complete'),
});
```
Skype can also be used with your existing express setup.
```javascript
const BroidSkype = require('broid-skype');
const express = require("express");
const skype = new BroidSkype({
token: 'xxxxx',
tokenSecret: 'xxxxxx',
});
const app = express();
app.use("/skype", skype.getRouter());
skype.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 |
| ---------------- |:--------:| :--------: | --------------------------|
| token | string | | |
| token_secret | string | | |
| service_id | string | random | Arbitrary identifier of the running instance |
| log_level | string | `debug` | Can be : `fatal`, `error`, `warn`, `info`, `debug`, `trace` |
| http | object | | HTTP options (`host`, `port`) |
### Receive a message
```javascript
skype.listen()
.subscribe({
next: data => console.log(`Received message: ${data}`),
error: err => console.error(`Something went wrong: ${err.message}`),
complete: () => console.log('complete'),
});
```
| mediaType | Action types | Content of value property |
| ---------------- |:-------------:| --------------------------|
| text/html | open-url | URL to be opened in the built-in browser. |
| audio/telephone-event | call | Destination for a call in following format: "tel:123123123123". |
| | imBack | Text of message which client will sent back as ordinary chat message. |
To send a message, the format should use the [broid-schemas](https://github.com/broidHQ/integrations/tree/master/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": "skype"
},
"object": {
"type": "Note",
"content": "hello world",
"context": {
"type": "Object",
"name": "address_id",
"content": "xxxxxxx#29:xxxxxxxxxxxx#skype#28:xxxxxxxxxxxx"
}
},
"to": {
"type": "Person",
"id": "2932680234"
}
};
skype.send(formatted_message)
.then(() => console.log("ok"))
.catch(err => console.error(err));
```
You can find examples of sent and received messages at [Broid-Schemas](https://github.com/broidHQ/integrations/tree/master/broid-schemas).
See [CONTRIBUTE.md](../CONTRIBUTE.md)
Copyright (c) 2016-2017 Broid.ai
This project is licensed under the AGPL 3, which can be
[](https://www.gnu.org/licenses/agpl-3.0.en.html).