go-xmpp/_examples/xmpp_jukebox
remicorniere 947fcf0432 PubSub protocol support (#142)
* PubSub protocol support
Added support for :
- XEP-0050   (Command))
- XEP-0060   (PubSub)
- XEP-0004   (Forms)

Fixed the NewClient function by adding parsing of the domain from the JID if no domain is provided in transport config.
Updated xmpp_jukebox example

* Delete useless pubsub errors

* README.md update
Fixed import in echo example

* Typo

* Fixed raw send on client example

* Fixed jukebox example and added a README.md
2020-01-09 15:33:11 +01:00
..
README.md PubSub protocol support (#142) 2020-01-09 15:33:11 +01:00
xmpp_jukebox.go PubSub protocol support (#142) 2020-01-09 15:33:11 +01:00

Jukebox example

Requirements

  • You need mpg123 installed on your computer because the example runs it as a command : Official MPG123 website
    Most linux distributions have a package for it.
  • You need a soundcloud ID to play a music from the website through mpg123. You currently cannot play music files with this example.
    Your user ID is available in your account settings on the soundcloud website
    One is provided for convenience.
  • You need a running jabber server. You can run your local instance of ejabberd for example.
  • You need a registered user on the running jabber server.

Run

You can edit the soundcloud ID in the example file with your own, or use the provided one :

const scClientID = "dde6a0075614ac4f3bea423863076b22"

To run the example, build it with (while in the example directory) :

go build xmpp_jukebox.go

then run it with (update the command arguments accordingly):

./xmpp_jukebox -jid=MY_USERE@MY_DOMAIN/jukebox -password=MY_PASSWORD -address=MY_SERVER:MY_SERVER_PORT

Make sure to have a resource, for instance "/jukebox", on your jid.

Then you can send the following stanza to "MY_USERE@MY_DOMAIN/jukebox" (with the resource) to play a song (update the soundcloud URL accordingly) :

<iq id="1" to="MY_USERE@MY_DOMAIN/jukebox" type="set">
    <set xml:lang="en" xmlns="urn:xmpp:iot:control">
        <string name="url" value="https://soundcloud.com/UPDATE/ME"/>
    </set>
</iq>