Awesome
<p align="center" style="font-size:50px;font-family:Courier new;"> <a href="http://www.broid.ai?utm_source=github&utm_medium=readme&utm_campaign=header_banner)"> <img align="center" width=60% alt="Broid" src="http://www.broid.ai/dist/assets/images/github/integrations/broid_integrations_logo.png"> </a> </p> <p align="center" style="font-size:100%;font-family:verdana;"> Connect your App to Multiple Messaging Channels in a Single Integration with W3C Open standard. <br> <br> <a href="http://slackin.broid.ai"> <img src="https://img.shields.io/badge/chat-on_slack-red.svg?style=flat" alt="chat on Discord"> </a> <a href="https://github.com/broidhq/integrations/stargazers"> <img src="https://img.shields.io/github/stars/broidhq/integrations.svg?style=social" alt="GitHub stars"> </a> <a href="https://github.com/broidhq/integrations/watchers"> <img src="https://img.shields.io/github/watchers/broidhq/integrations.svg?style=social" alt="GitHub watchers"> </a> <a href="https://twitter.com/intent/tweet?text=I%20just%20discovered%20%40BroidHQ%20Integrations!%20%E2%9C%A8%20%20Here%20is%20the%20Open%20Source%20Repo%20%E2%9C%A8%20https://github.com/broidhq/integrations%20%F0%9F%A4%97"> <img src="https://img.shields.io/twitter/url/https/github.com/broidhq/integrations.svg?style=social" alt="Tweet"> </a> <a href="https://twitter.com/broidhq"> <img src="https://img.shields.io/twitter/follow/broidhq.svg?style=social&label=Follow" alt="Tweet"> </a> <br><br> <a href="https://github.com/broidHQ/integrations"> <img width="60%" alt="One API to Rule Them All" src="http://www.broid.ai/dist/assets/images/github/integrations/Broid_connector.gif"> </a> <br> <br> </p> <p align="center"> <a href="https://www.npmjs.com/org/broid"> <img src="https://img.shields.io/badge/npm-broid-green.svg?style=flat" alt="NPM"> </a> <a href="https://github.com/broidHQ/integrations/blob/master/README.md#integrations"> <img src="https://img.shields.io/badge/dependencies-checked-green.svg?style=flat" alt="Dependencies"> </a> <a href="https://app.wercker.com/project/byKey/661157f9db415b5b60bc8c2b92744604"> <img src="https://app.wercker.com/status/661157f9db415b5b60bc8c2b92744604/s/master" alt="Build"> </a> <a href="https://www.bithound.io/github/broidHQ/integrations"> <img src="https://img.shields.io/bithound/code/github/broidHQ/integrations.svg" alt="NPM"> </a> <a href="https://nodesecurity.io"> <img src="https://img.shields.io/badge/nsp-checked-green.svg?style=flat" alt="NPM"> </a> </p> <br>โญ๏ธ Introduction โญ๏ธ
Broid Integrations is an open source project released by Broid that allows you to easily converse on all the major communication platforms (messaging & voice) without integrating each API.
It provides a suite of libraries to convert all messaging platforms events to Activity Streams 2 schemas.
TL;DR
- All events are Observables (RxJS)
- All functions return a Promise (Bluebird)
- Highly modular to keep your focus on high level features <br><br>
๐ช Motivation ๐ช
With billions of daily users Messaging๐ฌ is now the prefered channel of communication but there is a clear lack of open standard for the various APIs. <br><br> Each one come with a specfic schema, docs, etc. We want to empower the community to built great things with messaging so we open-sourced our Premium API so that you can avoid the tedious work of integrating new channels and focus on your core product ๐ก. <br><br>
๐ Quick Example ๐
A quick example showing off listening for new messages on Facebook Messenger and Discord with Observables.
npm i --save @broid/messenger @broid/discord rxjs ramda
const Rx = require("rxjs/Rx");
const BroidDiscord = require("@broid/discord");
const BroidMessenger = require("@broid/messenger");
const clients = {
discord: new BroidDiscord({token: 'DISCORD_TOKEN'}),
messenger: new BroidMessenger({token: 'FACEBOOK_TOKEN', tokenSecret: 'FACEBOOK_SECRET'})
};
Rx.Observable.merge(...Object.values(clients).map(client => client.connect()))
.subscribe({
next: data => console.log(JSON.stringify(data, null, 2)),
error: err => console.error(`Something went wrong: ${err.message}`),
});
Rx.Observable.merge(...Object.values(clients).map(client => client.listen()))
.subscribe({
next: message => console.log(JSON.stringify(message, null, 2)),
error: err => console.error(`Something went wrong: ${err.message}`),
});
๐ Get Started ๐
Here are 2 quick tutorials to get started with broid in under 5 minutes and 30 lines of codes :
- Integrate a Dozen Messaging Platforms in 5 Minutes <br><br>
- Integrate a Dozen Messaging Platforms in 30 lines of code
๐ฑ๐๐ฑ Integrations ๐ฅ๏ธ๐๐ฑ
Broid Integrations support simple, media and rich messages (location, carroussel) and split into multiple libraries. This make Broid flexible and useful to use in your application. <br><br>
Node packages
Broid Formats
Broid integrations supports Activity Streams 2.0 and uses broid-schemas package to validate input and output message.
Name | Status |
---|---|
broid-schemas |
โค๏ธ๏ธ Contribute โค๏ธ๏ธ
See CONTRIBUTE.md. <br><br>
๐ฎ CLA ๐ฎ
To protect the interests of the Broid contributors, Broid, customers and end users we require contributors to sign a Contributors License Agreement (CLA) before we pull the changes into the main repository. Our CLA is simple and straightforward - it requires that the contributions you make to any Broid open source project are properly licensed and that you have the legal authority to make those changes. This helps us significantly reduce future legal risk for everyone involved. It's easy---no faxing or printing required!
You can digitally sign the CLA online. Please indicate your email address in your first pull request so that we can make sure that will locate your CLA. Once you've submitted it, you no longer need to send one for subsequent submissions. <br><br>
๐ฃ Support Broid ๐ฃ
<p align="center"> <a href="http://www.broid.ai?utm_source=github&utm_medium=readme&utm_campaign=premium"> <img src="https://img.shields.io/badge/โ _-Premium_Integrations-00BFFF.svg?style=flat" alt="Contribuyentes"> </a> <a href="http://www.broid.ai?utm_source=github&utm_medium=readme&utm_campaign=premium"> <img src="https://img.shields.io/badge/๐ฐ_-$9.99_per_month-00BFFF.svg?style=flat" alt="Contribuyentes"> </a> <a href="http://www.broid.ai?utm_source=github&utm_medium=readme&utm_campaign=premium"> <img src="https://img.shields.io/badge/๐_-Secure_encryption_and_failover-00BFFF.svg?style=flat" alt="Speakers"> </a> <a href="http://www.broid.ai?utm_source=github&utm_medium=readme&utm_campaign=premium"> <img src="https://img.shields.io/badge/โ_-Unlimited_Messages-00BFFF.svg?style=flat" alt="Speakers"> </a> <a href="http://www.broid.ai?utm_source=github&utm_medium=readme&utm_campaign=premium"> <img src="https://img.shields.io/badge/๐_-Admin_Dashboard-00BFFF.svg?style=flat" alt="Speakers"> </a> <br><br> </p>In order to continue providing the community with our open source work, we offer a Public API. Paying users get additionnal features and early access to new integrations:
- Premium Integrations
- Message Bird
- Web Messenger (live chat for website and mobile apps with FB Messenger like features)
- Github
- ++ more ++
- Unlimited Messages & users
- Secure encryption & Failover system
- Access to Admin Dashboard
- Priviledged Technical Support
Only $9.99 per month per active integration
Thanks
Project cross-browser compatibility supported by BrowserStack
<img width="150px" src="https://user-images.githubusercontent.com/1795343/30826593-1d3c5c96-a205-11e7-940c-6007a744026b.png" alt="Speakers">