こんな構造体を作った。
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 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。