Mercurial > public > pacobot
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 // } |