こんな構造体を作った。
01: type MsgEvent struct { 02: Event struct { 03: Blocks []struct { 04: Elements []struct { 05: Elements []struct { 06: Type string `json:"type"` 07: UserId string `json:"user_id"` 08: Text string `json:"text"` 09: } `json:"elements"` 10: } `json:"elements"` 11: } `json:"blocks"` 12: } `json:"event"` 13: }
そして、slack-go/slackのeventサンプルでbodyがあるので、こんな感じでデコードした。
01: var msgEvent MsgEvent 02: if err := json.Unmarshal([]byte(body), &msgEvent); err != nil { 03: log.Fatalf("json: %v\n", err) 04: } 05: for _, item := range msgEvent.Event.Blocks { 06: for _, item2 := range item.Elements { 07: for _, item3 := range item2.Elements { 08: if item3.Type == "text" { 09: log.Printf("text=%s\n", item3.Text) 10: } 11: } 12: } 13: }
気力が尽きたので、今日はここまで。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。