diff options
author | Brian Cully <bjc@kublai.com> | 2015-07-09 17:17:46 +0000 |
---|---|---|
committer | Brian Cully <bjc@kublai.com> | 2015-07-09 17:18:30 +0000 |
commit | 3f841f3c0de0e2f7dda1b376ca13c34da0b77267 (patch) | |
tree | 09fda8bea895959259a3a406fe733f9854dbd764 | |
parent | 55e4519bf06b3092666dc06fe0ddf2b50b8ba8f0 (diff) | |
download | xmppbot-3f841f3c0de0e2f7dda1b376ca13c34da0b77267.tar.gz xmppbot-3f841f3c0de0e2f7dda1b376ca13c34da0b77267.zip |
Specify connection type in dial command.
-rw-r--r-- | xmppbot.go | 25 |
1 files changed, 12 insertions, 13 deletions
@@ -7,8 +7,9 @@ import ( "gopkg.in/inconshreveable/log15.v2" + _ "github.com/ThomsonReutersEikon/nitro/src/sipbot" // "sip" scheme "github.com/ThomsonReutersEikon/open-nitro/src/bots" - "github.com/ThomsonReutersEikon/open-nitro/src/bots/xmppclient" // Register "xmpp" and "xmpp-bosh" bot schemes + _ "github.com/ThomsonReutersEikon/open-nitro/src/bots/xmppclient" // Register "xmpp" and "xmpp-bosh" bot schemes "github.com/bjc/goctl" ) @@ -17,7 +18,7 @@ const timeout = 1 * time.Second var ( gc goctl.Goctl - xb *xmppclient.Bot + xb bots.Bot stopChan chan bool ) @@ -31,23 +32,18 @@ func dialHandler(args []string) string { return "ERROR: bot is already connected." } - if len(args) != 3 { - return "ERROR: dial requires JID, password, and host[:port]" + if len(args) != 4 { + return "ERROR: dial requires scheme, JID, password, and host[:port]" } - url := fmt.Sprintf("xmpp-bosh://%s,%s:%s@%s", args[0], emailFromJID(args[0]), args[1], args[2]) + url := fmt.Sprintf("%s://%s,%s:%s@%s", args[0], args[1], emailFromJID(args[1]), args[2], args[3]) var err error b, err := bots.Dial(url, timeout) if err != nil { return fmt.Sprintf("ERROR: %s.", err) } - - var ok bool - xb, ok = b.(*xmppclient.Bot) - if !ok { - return "ERROR: bot wasn't xmpp client." - } + xb = b return "ok" } @@ -88,7 +84,10 @@ func presenceHandler(args []string) string { if xb == nil { return "ERROR: bot is not connected." } - xb.Sendf(`<presence/>`) + + if err := xb.Online(); err != nil { + return fmt.Sprintf("ERROR: sending available presence: %s", err) + } return "ok" } @@ -97,7 +96,7 @@ func pingHandler(args []string) string { return "ERROR: bot is not connected." } - xb.Sendf(`<iq type='get' to='%s' id='ping'><ping xmlns='urn:xmpp:ping'/></iq>`, xb.JID().Domain()) + // xb.Sendf(`<iq type='get' to='%s' id='ping'><ping xmlns='urn:xmpp:ping'/></iq>`, xb.JID().Domain()) return "ok" } |