|
4 | 4 | "bufio" |
5 | 5 | "encoding/json" |
6 | 6 | "fmt" |
| 7 | + "io/ioutil" |
7 | 8 | "math/rand" |
8 | 9 | "net/http" |
9 | 10 | "net/url" |
@@ -210,9 +211,17 @@ func sendMessage(name, text string) { |
210 | 211 | "text": {"*甲骨文通知*\n名称: " + name + "\n" + "内容: " + text}, |
211 | 212 | } |
212 | 213 | cli := http.Client{Timeout: 10 * time.Second} |
213 | | - _, err := cli.PostForm(tg_url, urlValues) |
| 214 | + resp, err := cli.PostForm(tg_url, urlValues) |
214 | 215 | if err != nil { |
215 | | - printYellow("Telegram 消息提醒发送失败" + err.Error()) |
| 216 | + printYellow("Telegram 消息提醒发送失败: " + err.Error()) |
| 217 | + return |
| 218 | + } |
| 219 | + if resp.StatusCode != 200 { |
| 220 | + body, err := ioutil.ReadAll(resp.Body) |
| 221 | + if err == nil { |
| 222 | + bodyStr := string(body) |
| 223 | + printYellow("Telegram 消息提醒发送失败: " + bodyStr) |
| 224 | + } |
216 | 225 | } |
217 | 226 | } |
218 | 227 |
|
@@ -240,31 +249,23 @@ func launchInstance(node *Node) { |
240 | 249 | printYellow("正在尝试新建实例......") |
241 | 250 | out, err := exec.Command(cmd, args...).CombinedOutput() |
242 | 251 | ret := string(out) |
243 | | - // 防止 Ctrl + C 取消误报 |
244 | | - if Cancel { |
245 | | - return |
246 | | - } |
247 | 252 | if err != nil && out == nil { |
248 | | - text = "抢购失败, " + err.Error() + "\n" + ret |
| 253 | + text = "出现异常: " + err.Error() |
249 | 254 | printRed(text) |
250 | 255 | sendMessage(node.Name, text) |
251 | 256 | return |
252 | 257 | } |
253 | | - |
254 | 258 | pos := strings.Index(ret, "{") |
255 | 259 | if pos != -1 { |
256 | 260 | ret = ret[pos:] |
257 | 261 | } |
258 | | - |
259 | 262 | var result Result |
260 | 263 | err = json.Unmarshal([]byte(ret), &result) |
261 | 264 | if err != nil { |
262 | | - text = "抢购失败, " + "\n" + ret |
| 265 | + text = "出现异常: " + ret |
263 | 266 | printRed(text) |
264 | | - sendMessage(node.Name, text) |
265 | | - return |
| 267 | + continue |
266 | 268 | } |
267 | | - |
268 | 269 | switch result.Status { |
269 | 270 | case "500", "429": |
270 | 271 | printNone(result.Message) |
@@ -295,14 +296,11 @@ func random(min, max int) int { |
295 | 296 | return rand.Intn(max-min) + min |
296 | 297 | } |
297 | 298 |
|
298 | | -var Cancel bool = false |
299 | | - |
300 | 299 | func setCloseHandler() { |
301 | 300 | c := make(chan os.Signal) |
302 | 301 | signal.Notify(c, os.Interrupt, syscall.SIGTERM) |
303 | 302 | go func() { |
304 | 303 | <-c |
305 | | - Cancel = true |
306 | 304 | fmt.Printf("\033[1;33;40m%s\033[0m\n", "已停止") |
307 | 305 | if name != "" { |
308 | 306 | sendMessage(name, "已停止") |
|
0 commit comments