Files
gocryptotrader/smsglobal.go
2015-03-04 00:02:09 +11:00

66 lines
1.3 KiB
Go

package main
import (
"net/http"
"net/url"
"strings"
"log"
"io/ioutil"
"errors"
)
const (
SMSGLOBAL_API_URL = "http://www.smsglobal.com/http-api.php"
)
func SMSSendToAll(message string) {
for _, contact := range bot.config.SMSContacts {
if contact.Enabled {
err := SMSNotify(contact.Number, message)
if err != nil {
log.Println(err)
}
}
}
}
func SMSGetNumberByName(name string) (string) {
for _, contact := range bot.config.SMSContacts {
if contact.Name == name {
return contact.Number
}
}
return ""
}
func SMSNotify(to, message string) (error) {
values := url.Values{}
values.Set("action", "sendsms")
values.Set("user", bot.config.SMSGlobalUsername)
values.Set("password", bot.config.SMSGlobalPassword)
values.Set("from", bot.config.Name)
values.Set("to", to)
values.Set("text", message)
reqBody := strings.NewReader(values.Encode())
req, err := http.NewRequest("POST", SMSGLOBAL_API_URL, reqBody)
if err != nil {
return err
}
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return errors.New("PostRequest: Unable to send request")
}
contents, _ := ioutil.ReadAll(resp.Body)
log.Printf("Recieved raw: %s\n", string(contents))
resp.Body.Close()
return nil
}