Skip to content

Instantly share code, notes, and snippets.

@smahi
Forked from makoto/gist:272956
Created July 29, 2016 00:15
Show Gist options
  • Save smahi/9fdd3b88e3564777bc43c62fc56a9c71 to your computer and use it in GitHub Desktop.
Save smahi/9fdd3b88e3564777bc43c62fc56a9c71 to your computer and use it in GitHub Desktop.
# How to echobot with XMPP, BOSH, and Strophe
1. Setup ejabberd(http://www.ejabberd.im/) server and setup account [email protected]
NOTE: localhost should be enough. If you setup something else, make sure you add it at /etc/hosts like this
#/etc/hosts
127.0.0.1 localhost.local
NOTE: Also download Psi(http://psi-im.org/), and make sure you can connect to your ejabberd server.
2. Download strophe(http://code.stanziq.com/strophe/) and place it (eg: /Users/makoto/work/sample/strophejs-1.0)
3. Setup the nginx and proxy following http://anders.conbere.org/blog/2009/09/29/get_xmpp_-_bosh_working_with_ejabberd_firefox_and_strophe/
#nginx.conf
server {
listen 80;
server_name localhost;
# This regexp did not work for me.
# location ~ ^/http-bind/ {
location /http-bind {
proxy_pass http://localhost:5280;
}
location / {
# This is where you place your strophejs sample.
root /Users/makoto/work/sample/strophejs-1.0;
}
}
# the above will serve 2 uri
http://localhost.local/examples/echobot.html
http://localhost.local/http-bind
4. Modify echobot.js line 1
var BOSH_SERVICE = 'http://localhost.local/http-bind';
5. Open http://localhost.local/examples/echobot.html and type jid([email protected]) and password(whatever you setup at #1)
# It will show message like this.
Strophe is connecting.
Strophe is connected.
ECHOBOT: Send a message to [email protected]/4199388567126350847984920 to talk to me.
NOTE: If you have Psi opened, it will pop up notification that now you are connected.
6. Send a message(Chat)
From your Psi, right click , select "Open Chat To" , then pick the resource (eg: 4199388567126350847984920)
When you send the message, it will echo what you sent to the browser like this
http://ow.ly/i/iEb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment