func main() { // Connect to modem and initialize dev := &gsmmodem.Device{ CommandPort: "com6", NotifyPort: "com7", } if err := dev.Open(); err != nil { log.Println(err) return } if err := dev.Init(gsmmodem.DeviceE173()); err != nil { log.Println(err) return } defer dev.Close() fmt.Print("Enter phone number: ") phoneNumber := "" if _, err := fmt.Scanln(&phoneNumber); err != nil { fmt.Println(err) return } fmt.Println("Enter message:") message := "" if _, err := fmt.Scanln(&message); err != nil { fmt.Println(err) return } log.Printf("Send message \"%s\" to phone number %s\n", phoneNumber, message) err := dev.SendLongSMS(message, sms.PhoneNumber(phoneNumber)) if err != nil { color.Set(color.FgHiRed) log.Printf("Ошибка отправки сообщения: %s\n", err.Error()) } else { color.Set(color.FgHiGreen) log.Printf("Сообщение отправлено на номер: " + phoneNumber) } }
func main() { appDir, err := GetAppDir() if err != nil { log.Println("Ошибка получения пути расположения приложения: ", err.Error()) appDir = "" } logFilePath := filepath.Join(appDir, "log.txt") if logFile, e := os.OpenFile(logFilePath, os.O_RDWR|os.O_CREATE, 0666); e == nil { log.SetOutput(io.MultiWriter(os.Stdout, logFile)) } else { log.Println("Невозсожно открыть лог файл: " + logFilePath) } config := &Config{} configFilePath := filepath.Join(appDir, "config.json") file, err := os.Open(configFilePath) if err != nil { log.Printf("Невозможно открыть файл (%s): (%s) \n", configFilePath, err.Error()) } if err := json.NewDecoder(file).Decode(config); err != nil { log.Printf("Невозможно прочитать конфигурацию из файла (%s): (%s) \n", configFilePath, err.Error()) } //m := modem.New(config.Port, config.Baud, "") //if err := m.Connect(); err != nil { // log.Println("Ошибка подключения к модему: ", err) //} else { // fmt.Println(m.SendSMS("79135535377", config.Messages[0])) //} // Connect to modem and initialize dev := &gsmmodem.Device{ CommandPort: config.Port, NotifyPort: config.NotifyPort, } if err = dev.Open(); err != nil { log.Println("Ошибка открытия порта: ", err) return } if err = dev.Init(gsmmodem.DeviceE173()); err != nil { log.Println("Ошибка инициализации порта: ", err) return } defer dev.Close() fmt.Println("Какое сообщение необходимо отправлять?") for index, value := range config.Messages { fmt.Printf("%d) %s\n", index+1, value) } fmt.Print("Введите номер необходимого сообщения и нажмите Enter: ") index := 0 for { n, e := fmt.Scanf("%d", &index) if e == nil && n == 1 && index >= 1 && index <= len(config.Messages) { break } fmt.Print("Введен неверный номер повторите попытку:") } index = index - 1 message := config.Messages[index] fmt.Println("Будет рассылаться следующее сообщение: ", message) fmt.Println("Режим работы: ") fmt.Println("1) Вводить вручную номер;") fmt.Println("2) Следить за буфером обмена.") fmt.Print("Введите режим работы и нажмите Enter: ") index = 0 for { fmt.Scanf("%d", &index) if index == 1 { consoleInputNumber(dev, message) break } else if index == 2 { clipboardInputNumber(dev, message) break } } }