working
This commit is contained in:
		
							
								
								
									
										58
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								main.go
									
									
									
									
									
								
							| @@ -39,8 +39,8 @@ func main() { | ||||
| 					Chat struct { | ||||
| 						ID int `json:"id"` | ||||
| 					} | ||||
| 					Data string | ||||
| 				} | ||||
| 				Data string | ||||
| 			} `json:"callback_query"` | ||||
| 		}{} | ||||
| 		err = json.Unmarshal(body, &update) | ||||
| @@ -52,22 +52,61 @@ func main() { | ||||
| 		if update.Message != nil { | ||||
| 			go sendButtonAndDelete(update.Message.Chat.ID, update.Message.ID, update.Message.Text) | ||||
| 		} else if update.CallbackQuery != nil { | ||||
| 			answerUrl := fmt.Sprintf("https://api.telegram.org/bot%s/answerCallbackQuery?callback_query_id=%stext=ok", apiToken, update.CallbackQuery.ID) | ||||
| 			resp, err := http.Get(answerUrl) | ||||
| 			go markButtonChecked(update.CallbackQuery.Message.Chat.ID, update.CallbackQuery.Message.ID, update.CallbackQuery.Data) | ||||
| 			go answerCallbackQuery(update.CallbackQuery.ID) | ||||
| 		} | ||||
| 	}) | ||||
| 	port := 28923 | ||||
| 	log.Panic(http.ListenAndServe(fmt.Sprintf(":%v", port), nil)) | ||||
| } | ||||
|  | ||||
| func markButtonChecked(chatID int, messageID int, text string) { | ||||
| 	url := fmt.Sprintf("https://api.telegram.org/bot%s/editMessageText", apiToken) | ||||
| 	text = fmt.Sprintf("✓ %s", text) | ||||
| 	sendMsgFmt := ` | ||||
| 				{ | ||||
| 				  "chat_id": "%d", | ||||
| 				  "message_id": "%d", | ||||
| 				  "text": "ok", | ||||
| 				  "reply_markup": { | ||||
| 					"inline_keyboard": [ | ||||
| 					  [ | ||||
| 						{ | ||||
| 						  "text": "%s", | ||||
| 						  "callback_data": "%s" | ||||
| 						} | ||||
| 					  ] | ||||
| 					] | ||||
| 				  } | ||||
| 				} | ||||
| 			` | ||||
| 	sendMsgReq := fmt.Sprintf(sendMsgFmt, chatID, messageID, text, text) | ||||
| 	resp, err := http.Post(url, "application/json", strings.NewReader(sendMsgReq)) | ||||
| 	if err != nil { | ||||
| 		log.Println(err) | ||||
| 		return | ||||
| 	} | ||||
| 			body, err = io.ReadAll(resp.Body) | ||||
| 	body, err := io.ReadAll(resp.Body) | ||||
| 	if err != nil { | ||||
| 		log.Println(err) | ||||
| 		return | ||||
| 	} | ||||
| 	log.Println(string(body)) | ||||
| } | ||||
| 	}) | ||||
| 	port := 28923 | ||||
| 	log.Panic(http.ListenAndServe(fmt.Sprintf(":%v", port), nil)) | ||||
|  | ||||
| func answerCallbackQuery(callbackQueryID string) { | ||||
| 	answerUrl := fmt.Sprintf("https://api.telegram.org/bot%s/answerCallbackQuery?callback_query_id=%stext=ok", apiToken, callbackQueryID) | ||||
| 	resp, err := http.Get(answerUrl) | ||||
| 	if err != nil { | ||||
| 		log.Println(err) | ||||
| 		return | ||||
| 	} | ||||
| 	body, err := io.ReadAll(resp.Body) | ||||
| 	if err != nil { | ||||
| 		log.Println(err) | ||||
| 		return | ||||
| 	} | ||||
| 	log.Println(string(body)) | ||||
| } | ||||
|  | ||||
| func sendButtonAndDelete(chatID int, messageID int, text string) { | ||||
| @@ -80,18 +119,17 @@ func sendButtonAndDelete(chatID int, messageID int, text string) { | ||||
| 			      "inline_keyboard": [[ | ||||
| 			        { | ||||
| 			     	 "text": "%s", | ||||
| 					 "callback_data": "42" | ||||
| 					 "callback_data": "%s" | ||||
| 			        } | ||||
| 			      ]] | ||||
| 			} | ||||
| 			` | ||||
| 	sendMsgReq := fmt.Sprintf(sendMsgFmt, chatID, text) | ||||
| 	sendMsgReq := fmt.Sprintf(sendMsgFmt, chatID, text, text) | ||||
| 	resp, err := http.Post(url, "application/json", strings.NewReader(sendMsgReq)) | ||||
| 	if err != nil { | ||||
| 		log.Println(err) | ||||
| 		return | ||||
| 	} | ||||
| 	log.Println(resp) | ||||
| 	body, err := io.ReadAll(resp.Body) | ||||
| 	if err != nil { | ||||
| 		log.Println(err) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user