2016-05-20 11:46:53 +02:00
# converse.js
2018-02-21 10:41:57 +01:00
[![XMPP Chat ](https://inverse.chat/badge.svg?room=discuss@conference.conversejs.org )](https://inverse.chat/#converse/room?jid=discuss@conference.conversejs.org)
2018-03-17 00:40:03 +01:00
[![Travis ](https://api.travis-ci.org/conversejs/converse.js.png?branch=master )](https://travis-ci.org/conversejs/converse.js)
2017-03-15 12:04:10 +01:00
[![Bountysource bounties ](https://img.shields.io/bountysource/team/converse.js/activity.svg?maxAge=2592000 )](https://www.bountysource.com/teams/converse.js/issues?tracker_ids=194169)
[![Translation status ](https://hosted.weblate.org/widgets/conversejs/-/svg-badge.svg )](https://hosted.weblate.org/engage/conversejs/?utm_source=widget)
2016-05-20 11:46:53 +02:00
2018-07-21 08:20:40 +02:00
[Converse.js ](https://conversejs.org ) is a web based [XMPP/Jabber ](https://xmpp.org ) instant messaging client.
2016-05-20 11:46:53 +02:00
It enables you to add chat functionality to your website, independent of
any specific backend. You will however need an XMPP server to connect
to, either your own, or a public one.
2017-12-06 11:40:04 +01:00
Please support this project via [Patreon ](https://www.patreon.com/jcbrand ) or [Liberapay ](https://liberapay.com/jcbrand )
2017-12-05 14:11:48 +01:00
2016-06-21 09:07:22 +02:00
## Demo
2016-05-20 11:46:53 +02:00
2017-06-14 15:42:25 +02:00
Converse.js is hosted and can be used at [https://conversejs.org ](https://conversejs.org ).
A demo showing anonymous login is available at [https://conversejs.org/demo/anonymous.html ](https://conversejs.org/demo/anonymous.html )
and a demo which shows how you can embed a single chat room into a page is
avialable at [https://conversejs.org/demo/embedded.html ](https://conversejs.org/demo/embedded.html ).
### Converse.js: As seen on the conversejs.org website
2018-07-16 01:11:53 +02:00
![Screenshot of Converse ](https://opkode.com/img/converse-screenshot.png )
2017-06-14 15:42:25 +02:00
2017-07-05 13:02:36 +02:00
### inVerse: a fullscreen version of converse.js
2018-07-16 01:11:53 +02:00
Converse.js is also available in a fullscreen version, hosted at [inverse.chat ](https://inverse.chat )
2017-06-14 15:42:25 +02:00
2018-07-16 01:11:53 +02:00
![Screenshot of Converse in fullscreen mode ](https://opkode.com/img/inverse-screenshot.png )
2016-06-21 09:07:22 +02:00
## Documentation
The developer/integrator documentation can be found at [https://conversejs.org/docs/html ](https://conversejs.org/docs/html ).
You'll probably want to begin with the [quickstart guide ](https://conversejs.org/docs/html/quickstart.html ),
which shows you how to use the CDN (content delivery network) to quickly get a demo up and running.
## Features
2016-05-20 11:46:53 +02:00
2018-03-17 00:40:03 +01:00
- A [plugin architecture ](https://conversejs.org/docs/html/plugin_development.html ) based on [pluggable.js ](https://conversejs.github.io/pluggable.js/ )
2018-02-07 15:32:32 +01:00
- Single-user and group chats
2016-10-06 13:28:09 +02:00
- Contacts and groups
2018-07-21 08:20:40 +02:00
- Multi-user chat rooms [XEP 45 ](https://xmpp.org/extensions/xep-0045.html )
- Direct invitations to chat rooms [XEP 249 ](https://xmpp.org/extensions/xep-0249.html )
- vCard support [XEP 54 ](https://xmpp.org/extensions/xep-0054.html )
- Service discovery [XEP 30 ](https://xmpp.org/extensions/xep-0030.html )
- In-band registration [XEP 77 ](https://xmpp.org/extensions/xep-0077.html )
- Chat room bookmarks [XEP 48 ](https://xmpp.org/extensions/xep-0048.html )
- Roster item exchange [XEP 144 ](https://xmpp.org/extensions/tmp/xep-0144-1.1.html )
2016-05-20 11:46:53 +02:00
- Chat statuses (online, busy, away, offline)
- Custom status messages
2016-06-21 09:07:22 +02:00
- Desktop notifications
2018-07-21 08:20:40 +02:00
- Typing and state notifications [XEP 85 ](https://xmpp.org/extensions/xep-0085.html )
- Messages appear in all connnected chat clients [XEP 280 ](https://xmpp.org/extensions/xep-0280.html )
- Third person "/me" messages [XEP 245 ](https://xmpp.org/extensions/xep-0245.html )
- XMPP Ping [XEP 199 ](https://xmpp.org/extensions/xep-0199.html )
- Server-side archiving of messages [XEP 313 ](https://xmpp.org/extensions/xep-0313.html )
- Hidden Messages (aka Spoilers) [XEP 382 ](https://xmpp.org/extensions/xep-0382.html )
- Client state indication [XEP 352 ](https://xmpp.org/extensions/xep-0352.html )
- Last Message Correction [XEP 308 ](https://xmpp.org/extensions/xep-0308.html )
2016-05-20 11:46:53 +02:00
- Off-the-record encryption
- Translated into 16 languages
2016-06-21 09:07:22 +02:00
## Integration into other frameworks
2016-05-20 11:46:53 +02:00
2018-07-21 08:20:40 +02:00
- ** [Ruby on Rails ](https://rubyonrails.org )**: [conversejs-rails ](https://github.com/mikemarsian/conversejs-rails )
- ** [Django ](https://www.djangoproject.com )**: [django-conversejs ](https://pypi.python.org/pypi/django-conversejs ) or [django-xmpp ](https://github.com/fpytloun/django-xmpp )
- ** [Plone ](https://plone.com )**: [collective.converse ](https://github.com/collective/collective.converse )
- ** [Roundcube ](https://roundcube.net )**: [roundcube-converse.js-xmpp-plugin ](https://github.com/devurandom/roundcube-converse.js-xmpp-plugin )
- ** [Wordpress ](https://wordpress.org )**: [ConverseJS ](https://wordpress.org/plugins/conversejs/ )
2016-05-20 11:48:26 +02:00
- ** [Patternslib ](http://patternslib.com )**: [patterns.converse ](https://github.com/jcbrand/patterns.converse )
2018-07-21 08:20:40 +02:00
- ** [Alfresco ](https://www.alfresco.com )**: [alfresco-js-chat-share ](https://github.com/keensoft/alfresco-js-chat-share )
- ** [Friendica ](https://friendi.ca )**: [converse ](https://github.com/friendica/friendica-addons/tree/master/xmpp/converse )
- ** [Tiki Wiki CMS Groupware ](https://tiki.org )**: [built-in optional feature ](https://doc.tiki.org/XMPP )
2016-05-20 11:46:53 +02:00
2016-06-21 09:07:22 +02:00
## Screencasts
2016-05-20 11:46:53 +02:00
2016-06-21 09:07:22 +02:00
*Note: These screencasts are already quite old! Converse.js has grown and evolved further since then.*
2018-07-21 08:20:40 +02:00
- [In a static HTML page ](https://opkode.com/media/blog/2013/04/02/converse.js-xmpp-instant-messaging-with-javascript ).
2016-06-21 09:07:22 +02:00
Here we chat to external XMPP accounts on Jabber.org and Gmail.
2018-07-21 08:20:40 +02:00
- [Integrated into a Plone site ](https://opkode.com/media/blog/instant-messaging-for-plone-with-javascript-and-xmpp )
2016-06-21 09:07:22 +02:00
via collective.xmpp.chat.
- [Off-the-record encryption ](https://opkode.com/media/blog/2013/11/11/conversejs-otr-support )
in Converse 0.7.
2016-05-20 11:46:53 +02:00
2016-06-21 09:07:22 +02:00
## Tests
2016-05-20 11:46:53 +02:00
2016-10-07 10:35:57 +02:00
We use behavior-driven tests written with [jasmine.js ](https://jasmine.github.io/ ).
2016-05-20 11:46:53 +02:00
2018-03-17 00:40:03 +01:00
Open [tests.html ](https://github.com/conversejs/converse.js/blob/master/tests.html ) in your browser, and the tests will run automatically.
2016-05-20 11:46:53 +02:00
2016-06-21 09:07:22 +02:00
## Licence
2016-05-20 11:46:53 +02:00
`Converse.js` is released under the [Mozilla Public License (MPL) ](https://www.mozilla.org/MPL/2.0/index.txt ).
2018-09-03 14:06:18 +02:00
## Attribution
Emoji images are courtesy of [Twemoji ](https://emojitwo.github.io/ ).
2016-06-21 09:07:22 +02:00
## Support
2016-05-20 11:46:53 +02:00
For support queries and discussions, please join the mailing list: < conversejs @ librelist . com >
Also take a look at the [mailing list archives ](http://librelist.com/browser/conversejs ).
2018-03-17 00:40:03 +01:00
Issues can be logged on the [Github issue tracker ](https://github.com/conversejs/converse.js/issues ).
2018-01-29 16:06:07 +01:00
## Donations
A heartfelt thanks for everyone who has supported this project over the years.
Many people have contributed testing, bugfixes, features and corrections.
Recently we have started accepting donations via [Patreon ](https://www.patreon.com/jcbrand ) and [Liberapay ](https://liberapay.com/jcbrand ).
The following people are making recurring donations:
2018-04-30 10:04:50 +02:00
* An anonymous backer on Liberapay
* [Guus der Kinderen ](https://www.patreon.com/user/creators?u=8302585 )
2018-01-29 16:06:07 +01:00
* [Rafael ](https://www.patreon.com/user/creators?u=4340078 )
2018-04-30 10:04:50 +02:00
* [Tilman Beitter ](https://www.patreon.com/spicewiesel/creators )
2018-01-29 16:06:07 +01:00
* [mt7479 ](https://www.patreon.com/user/creators?u=3892290 )
* [roelra ](https://www.patreon.com/user/creators?u=5958918 )
Additionally this project is supported by
* [![KeyCDN ](https://conversejs.org/logo/keycdn.png )](https://www.keycdn.com/)
2018-07-21 08:20:40 +02:00
* [![Wikisuite ](https://conversejs.org/logo/wikisuite.png )](https://wikisuite.org)