//go:build ignore package main import ("fmt";"net/http";"os";"time";"github.com/gorilla/websocket") func main(){ ziel:=os.Getenv("WSURL") c,_,err:=websocket.DefaultDialer.Dial(ziel,http.Header{}) if err!=nil{fmt.Println("dial:",err);return} fmt.Println(" verbunden:",ziel) c.WriteJSON(map[string]interface{}{"seq":1,"action":"authentication_challenge","data":map[string]string{"token":os.Getenv("TOK")}}) ende:=time.Now().Add(40*time.Second) for time.Now().Before(ende){ c.SetReadDeadline(time.Now().Add(10*time.Second)) var m map[string]interface{} if err:=c.ReadJSON(&m);err!=nil{ if ne,ok:=err.(interface{Timeout() bool});ok&&ne.Timeout(){fmt.Println(" (still)");continue} fmt.Println(" read:",err);return } if e,_:=m["event"].(string);e!=""{fmt.Println(" EVENT:",e)} } }