Fix example

This commit is contained in:
mattn 2013-05-14 19:24:46 -07:00
parent 4a4cac6dfc
commit 52f561e157

View File

@ -5,7 +5,6 @@ import (
"fmt" "fmt"
"flag" "flag"
"github.com/mattn/go-xmpp" "github.com/mattn/go-xmpp"
"github.com/mattn/go-iconv"
"log" "log"
"os" "os"
"strings" "strings"
@ -14,26 +13,7 @@ import (
var server = flag.String("server", "talk.google.com:443", "server") var server = flag.String("server", "talk.google.com:443", "server")
var username = flag.String("username", "", "username") var username = flag.String("username", "", "username")
var password = flag.String("password", "", "password") var password = flag.String("password", "", "password")
var notls = flag.Bool("notls", false, "No TLS")
func fromUTF8(s string) string {
ic, err := iconv.Open("char", "UTF-8")
if err != nil {
return s
}
defer ic.Close()
ret, _ := ic.Conv(s)
return ret
}
func toUTF8(s string) string {
ic, err := iconv.Open("UTF-8", "char")
if err != nil {
return s
}
defer ic.Close()
ret, _ := ic.Conv(s)
return ret
}
func main() { func main() {
flag.Usage = func() { flag.Usage = func() {
@ -46,7 +26,13 @@ func main() {
flag.Usage() flag.Usage()
} }
talk, err := xmpp.NewClient(*server, *username, *password) var talk *xmpp.Client
var err error
if *notls {
talk, err = xmpp.NewClientNoTLS(*server, *username, *password)
} else {
talk, err = xmpp.NewClient(*server, *username, *password)
}
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
@ -59,9 +45,9 @@ func main() {
} }
switch v := chat.(type) { switch v := chat.(type) {
case xmpp.Chat: case xmpp.Chat:
fmt.Println(v.Remote, fromUTF8(v.Text)) fmt.Println(v.Remote, v.Text)
case xmpp.Presence: case xmpp.Presence:
fmt.Println(v.From, fromUTF8(v.Show)) fmt.Println(v.From, v.Show)
} }
} }
}() }()
@ -75,7 +61,7 @@ func main() {
tokens := strings.SplitN(line, " ", 2) tokens := strings.SplitN(line, " ", 2)
if len(tokens) == 2 { if len(tokens) == 2 {
talk.Send(xmpp.Chat{Remote: tokens[0], Type: "chat", Text: toUTF8(tokens[1])}) talk.Send(xmpp.Chat{Remote: tokens[0], Type: "chat", Text: tokens[1]})
} }
} }
} }