|
|
@ -9,16 +9,26 @@ import (
|
|
|
|
"strconv"
|
|
|
|
"strconv"
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
func api_getMe(token string) (User, error) {
|
|
|
|
func performApiCall(method string, token string, params url.Values) ([]byte, error) {
|
|
|
|
request := "https://api.telegram.org/bot" + token + "/getMe"
|
|
|
|
url := fmt.Sprintf("https://api.telegram.org/bot%s/%s?%s",
|
|
|
|
|
|
|
|
token, method, params.Encode())
|
|
|
|
|
|
|
|
|
|
|
|
resp, err := http.Get(request)
|
|
|
|
resp, err := http.Get(url)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return User{}, err
|
|
|
|
return []byte{}, err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
defer resp.Body.Close()
|
|
|
|
defer resp.Body.Close()
|
|
|
|
me_json, err := ioutil.ReadAll(resp.Body)
|
|
|
|
json, err := ioutil.ReadAll(resp.Body)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
return []byte{}, err
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return json, nil
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func api_getMe(token string) (User, error) {
|
|
|
|
|
|
|
|
me_json, err := performApiCall("getMe", token, url.Values{})
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return User{}, err
|
|
|
|
return User{}, err
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -42,16 +52,9 @@ func api_getMe(token string) (User, error) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func api_getUpdates(token string, offset int, updates chan<- Update) error {
|
|
|
|
func api_getUpdates(token string, offset int, updates chan<- Update) error {
|
|
|
|
command := fmt.Sprintf("getUpdates?offset=%d", offset)
|
|
|
|
params := url.Values{}
|
|
|
|
request := "https://api.telegram.org/bot" + token + "/" + command
|
|
|
|
params.Set("offset", strconv.FormatInt(int64(offset), 10))
|
|
|
|
|
|
|
|
updates_json, err := performApiCall("getUpdates", token, params)
|
|
|
|
resp, err := http.Get(request)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
return err
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
defer resp.Body.Close()
|
|
|
|
|
|
|
|
updates_json, err := ioutil.ReadAll(resp.Body)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -79,21 +82,10 @@ func api_getUpdates(token string, offset int, updates chan<- Update) error {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func api_sendMessage(token string, recipient User, text string) error {
|
|
|
|
func api_sendMessage(token string, recipient User, text string) error {
|
|
|
|
resource := "https://api.telegram.org/bot" + token + "/sendMessage"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
params := url.Values{}
|
|
|
|
params := url.Values{}
|
|
|
|
params.Set("chat_id", strconv.FormatInt(int64(recipient.Id), 10))
|
|
|
|
params.Set("chat_id", strconv.FormatInt(int64(recipient.Id), 10))
|
|
|
|
params.Set("text", text)
|
|
|
|
params.Set("text", text)
|
|
|
|
|
|
|
|
response_json, err := performApiCall("sendMessage", token, params)
|
|
|
|
request := resource + "?" + params.Encode()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resp, err := http.Get(request)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
return err
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
defer resp.Body.Close()
|
|
|
|
|
|
|
|
response_json, err := ioutil.ReadAll(resp.Body)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|