comparison socket/conn.go @ 12:aaf85ae1f942

add very simple html template
author Dennis C. M. <dennis@denniscm.com>
date Thu, 20 Mar 2025 11:12:21 +0000
parents 6d91c612310a
children
comparison
equal deleted inserted replaced
11:6d91c612310a 12:aaf85ae1f942
67 67
68 if err != nil { 68 if err != nil {
69 break 69 break
70 } 70 }
71 71
72 var resMetadata Res_Metadata 72 var metadataMsg MetadataMsg
73 73
74 if err := json.Unmarshal(msg, &resMetadata); err != nil { 74 if err := json.Unmarshal(msg, &metadataMsg); err != nil {
75 log.Fatal(err) 75 log.Fatal(err)
76 } 76 }
77 77
78 msgType := resMetadata.Metadata.MsgType 78 msgType := metadataMsg.Metadata.MsgType
79 log.Printf("socket: %s msg received", msgType) 79 log.Printf("socket: %s msg received", msgType)
80 80
81 switch msgType { 81 switch msgType {
82 case "session_welcome": 82 case "session_welcome":
83 var resWelcome Res_Welcome 83 var welcomeMsg WelcomeMsg
84 84
85 if err := json.Unmarshal(msg, &resWelcome); err != nil { 85 if err := json.Unmarshal(msg, &welcomeMsg); err != nil {
86 log.Fatal(err) 86 log.Fatal(err)
87 } 87 }
88 88
89 timeout_secs = time.Duration(resWelcome.Payload.Session.KeepaliveTimeout+3) * time.Second 89 timeout_secs = time.Duration(welcomeMsg.Payload.Session.KeepaliveTimeoutSecs+3) * time.Second
90 timeout = time.NewTicker(timeout_secs) 90 timeout = time.NewTicker(timeout_secs)
91 defer timeout.Stop() 91 defer timeout.Stop()
92 92
93 event.ChannelChatMsgSub(authToken, resWelcome.Payload.Session.Id) 93 event.SubChannelChatMsg(authToken, welcomeMsg.Payload.Session.Id)
94 94
95 case "session_keepalive": 95 case "session_keepalive":
96 timeout.Reset(timeout_secs) 96 timeout.Reset(timeout_secs)
97 log.Println("socket: timeout resetted") 97 log.Println("socket: timeout resetted")
98 98
99 case "notification": 99 case "notification":
100 var resMetadataNotif Res_Metadata_Notif 100 var metadataEvent MetadataEvent
101 101
102 if err := json.Unmarshal(msg, &resMetadataNotif); err != nil { 102 if err := json.Unmarshal(msg, &metadataEvent); err != nil {
103 log.Fatal(err) 103 log.Fatal(err)
104 } 104 }
105 105
106 subType := resMetadataNotif.Metadata.SubType 106 subType := metadataEvent.Metadata.SubType
107 log.Printf("socket: %s event received", subType) 107 log.Printf("socket: %s event received", subType)
108 108
109 switch subType { 109 switch subType {
110 case "channel.chat.message": 110 case "channel.chat.message":
111 var resNotifChannelChatMsg Res_Notif_ChannelChatMsg 111 var channelChatMsgEvent ChannelChatMsgEvent
112 112
113 if err := json.Unmarshal(msg, &resNotifChannelChatMsg); err != nil { 113 if err := json.Unmarshal(msg, &channelChatMsgEvent); err != nil {
114 log.Fatal(err) 114 log.Fatal(err)
115 } 115 }
116 116
117 chatMsg := resNotifChannelChatMsg.Payload.Event.Msg.Text 117 chatMsg := channelChatMsgEvent.Payload.Event.Msg.Text
118 118
119 if strings.HasPrefix(chatMsg, "!") { 119 if strings.HasPrefix(chatMsg, "!") {
120 if resNotifChannelChatMsg.Payload.Event.ChatterUserName == "denniscmartin" { 120 if channelChatMsgEvent.Payload.Event.ChatterUserName == "denniscmartin" {
121 go bot.HandleCmd(strings.Split(chatMsg[1:], " ")) 121 go bot.HandleCmd(strings.Split(chatMsg[1:], " "))
122 } 122 }
123 } 123 }
124 } 124 }
125
125 default: 126 default:
126 log.Fatalf("socket: %s message type not implemented", msgType) 127 log.Fatalf("socket: %s message type not implemented", msgType)
127 } 128 }
128 } 129 }
129 } 130 }
137 log.Fatal(err) 138 log.Fatal(err)
138 } 139 }
139 140
140 log.Println("socket: connection closed") 141 log.Println("socket: connection closed")
141 } 142 }
142
143 // func test() {
144 // var res Response
145
146 // // Deserializas
147 // err := json.Unmarshal([]byte(jsonData), &res)
148
149 // if err != nil {
150 // fmt.Println("Error al deserializar:", err)
151 // return
152 // }
153
154 // // Conviertes la estructura nuevamente a JSON formateado
155
156 // formattedJSON, err := json.MarshalIndent(res, "", " ")
157
158 // if err != nil {
159 // fmt.Println("Error al formatear JSON:", err)
160 // return
161 // }
162 // }