Example #1
0
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)
	}

}
Example #2
0
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
		}
	}

}