Save MessageID from send response
This commit is contained in:
parent
a30aae9bf4
commit
e726a4fe01
35
main.go
35
main.go
@ -143,11 +143,29 @@ func handleTextAdded(gl *glist.GList, text string) {
|
|||||||
gl.Mutex.Lock()
|
gl.Mutex.Lock()
|
||||||
defer gl.Mutex.Unlock()
|
defer gl.Mutex.Unlock()
|
||||||
if count == gl.AllMsgCounter {
|
if count == gl.AllMsgCounter {
|
||||||
sendList(gl, "sendMessage")
|
resp := sendList(gl, "sendMessage")
|
||||||
|
if resp == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
response := struct {
|
||||||
|
Ok bool `json:"ok"`
|
||||||
|
Result struct {
|
||||||
|
MessageID int `json:"message_id"`
|
||||||
|
} `json:"result"`
|
||||||
|
}{}
|
||||||
|
if err := json.Unmarshal(resp, &response); err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !response.Ok {
|
||||||
|
log.Println("not ok")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if gl.MessageID != nil {
|
if gl.MessageID != nil {
|
||||||
deleteMessage(gl.ChatID, *gl.MessageID)
|
deleteMessage(gl.ChatID, *gl.MessageID)
|
||||||
gl.MessageID = nil
|
|
||||||
}
|
}
|
||||||
|
gl.MessageID = &response.Result.MessageID
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -171,19 +189,19 @@ func handleButtonClick(gl *glist.GList, messageID int, text string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func sendList(gl *glist.GList, method string) {
|
func sendList(gl *glist.GList, method string) []byte {
|
||||||
url := fmt.Sprintf("https://api.telegram.org/bot%s/%s", apiToken, method)
|
url := fmt.Sprintf("https://api.telegram.org/bot%s/%s", apiToken, method)
|
||||||
sendMsgReq, err := gl.GenSendListReq()
|
sendMsgReq, err := gl.GenSendListReq()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
return
|
return nil
|
||||||
}
|
}
|
||||||
resp, err := http.Post(url, "application/json", bytes.NewReader(sendMsgReq))
|
resp, err := http.Post(url, "application/json", bytes.NewReader(sendMsgReq))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
return
|
return nil
|
||||||
}
|
}
|
||||||
logBody(resp.Body)
|
return logBody(resp.Body)
|
||||||
}
|
}
|
||||||
|
|
||||||
func answerCallbackQuery(callbackQueryID string) {
|
func answerCallbackQuery(callbackQueryID string) {
|
||||||
@ -206,7 +224,7 @@ func deleteMessage(chatID int, messageID int) {
|
|||||||
logBody(resp.Body)
|
logBody(resp.Body)
|
||||||
}
|
}
|
||||||
|
|
||||||
func logBody(respBody io.ReadCloser) {
|
func logBody(respBody io.ReadCloser) []byte {
|
||||||
defer func() {
|
defer func() {
|
||||||
err := respBody.Close()
|
err := respBody.Close()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -216,9 +234,10 @@ func logBody(respBody io.ReadCloser) {
|
|||||||
body, err := io.ReadAll(respBody)
|
body, err := io.ReadAll(respBody)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
return
|
return nil
|
||||||
}
|
}
|
||||||
log.Println(string(body))
|
log.Println(string(body))
|
||||||
|
return body
|
||||||
}
|
}
|
||||||
|
|
||||||
func loadData(dataPath string, chats *sync.Map) error {
|
func loadData(dataPath string, chats *sync.Map) error {
|
||||||
|
Loading…
Reference in New Issue
Block a user