Simple hipchat bot in go

This is some very simple hipchat bot code in golang. It will tell you the time in a few locations when you mention it.

package main

import "github.com/daneharrigan/hipchat"
import "fmt"
import "time"
import "strings"
import "log"

func main() {
user := "NNNNN_NNNNNN"
pass := "password"
resource := "bot" //should be bot
roomJid := "[email protected]"
fullName := "mr bot" //seems to need to be lowercase
mentionName := "mrbot"

client, err := hipchat.NewClient(user, pass, resource)
if err != nil {
  fmt.Printf("client error: %s\n", err)
  return
}
fmt.Printf("Connected\n")

rooms := client.Rooms()
for _, element := range rooms {
  fmt.Printf("Room: %s\n", element.Id)
  client.Join(element.Id, fullName)
}

client.Status("chat")
// for _,element := range rooms {
// client.Say(element.Id, fullName, "Hello")
// }

for message := range client.Messages() {
  if strings.HasPrefix(message.Body, "@"+mentionName) {
    t := time.Now()
    gmt, er1 := time.LoadLocation("Europe/London")
    sf, er2 := time.LoadLocation("America/Los_Angeles")
    if er1 != nil {
      log.Panic(err)
    }
    if er2 != nil {
      log.Panic(err)
    }

    timestr := t.Format("Jan 2, 2006 at 3:04pm (MST)")
    client.Say(roomJid, fullName, "The time in Japan is:"+timestr)

    t = t.In(gmt)
    timestr = t.Format("Jan 2, 2006 at 3:04pm (MST)")
    client.Say(roomJid, fullName, "The time in London (and Dublin) is:"+timestr)

    t = t.In(sf)
    timestr = t.Format("Jan 2, 2006 at 3:04pm (MST)")
    client.Say(roomJid, fullName, "The time in San Francisco is:"+timestr)
  }
}

select {}
}