1package anaconda 2 3import ( 4 "net/url" 5 "strconv" 6) 7 8func (a TwitterApi) GetUsersLookup(usernames string, v url.Values) (u []User, err error) { 9 v = cleanValues(v) 10 v.Set("screen_name", usernames) 11 response_ch := make(chan response) 12 a.queryQueue <- query{a.baseUrl + "/users/lookup.json", v, &u, _GET, response_ch} 13 return u, (<-response_ch).err 14} 15 16func (a TwitterApi) GetUsersLookupByIds(ids []int64, v url.Values) (u []User, err error) { 17 var pids string 18 for w, i := range ids { 19 //pids += strconv.Itoa(i) 20 pids += strconv.FormatInt(i, 10) 21 if w != len(ids)-1 { 22 pids += "," 23 } 24 } 25 v = cleanValues(v) 26 v.Set("user_id", pids) 27 response_ch := make(chan response) 28 a.queryQueue <- query{a.baseUrl + "/users/lookup.json", v, &u, _GET, response_ch} 29 return u, (<-response_ch).err 30} 31 32func (a TwitterApi) GetUsersShow(username string, v url.Values) (u User, err error) { 33 v = cleanValues(v) 34 v.Set("screen_name", username) 35 response_ch := make(chan response) 36 a.queryQueue <- query{a.baseUrl + "/users/show.json", v, &u, _GET, response_ch} 37 return u, (<-response_ch).err 38} 39 40func (a TwitterApi) GetUsersShowById(id int64, v url.Values) (u User, err error) { 41 v = cleanValues(v) 42 v.Set("user_id", strconv.FormatInt(id, 10)) 43 response_ch := make(chan response) 44 a.queryQueue <- query{a.baseUrl + "/users/show.json", v, &u, _GET, response_ch} 45 return u, (<-response_ch).err 46} 47 48func (a TwitterApi) GetUserSearch(searchTerm string, v url.Values) (u []User, err error) { 49 v = cleanValues(v) 50 v.Set("q", searchTerm) 51 // Set other values before calling this method: 52 // page, count, include_entities 53 response_ch := make(chan response) 54 a.queryQueue <- query{a.baseUrl + "/users/search.json", v, &u, _GET, response_ch} 55 return u, (<-response_ch).err 56} 57 58func (a TwitterApi) GetUsersSuggestions(v url.Values) (u []User, err error) { 59 v = cleanValues(v) 60 // Set other values before calling this method: 61 // page, count, include_entities 62 response_ch := make(chan response) 63 a.queryQueue <- query{a.baseUrl + "/users/suggestions.json", v, &u, _GET, response_ch} 64 return u, (<-response_ch).err 65} 66 67// PostUsersReportSpam : Reports and Blocks a User by screen_name 68// Reference : https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/post-users-report_spam 69// If you don't want to block the user you should add 70// v.Set("perform_block", "false") 71func (a TwitterApi) PostUsersReportSpam(username string, v url.Values) (u User, err error) { 72 v = cleanValues(v) 73 v.Set("screen_name", username) 74 response_ch := make(chan response) 75 a.queryQueue <- query{a.baseUrl + "/users/report_spam.json", v, &u, _POST, response_ch} 76 return u, (<-response_ch).err 77} 78 79// PostUsersReportSpamById : Reports and Blocks a User by user_id 80// Reference : https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/post-users-report_spam 81// If you don't want to block the user you should add 82// v.Set("perform_block", "false") 83func (a TwitterApi) PostUsersReportSpamById(id int64, v url.Values) (u User, err error) { 84 v = cleanValues(v) 85 v.Set("user_id", strconv.FormatInt(id, 10)) 86 response_ch := make(chan response) 87 a.queryQueue <- query{a.baseUrl + "/users/report_spam.json", v, &u, _POST, response_ch} 88 return u, (<-response_ch).err 89} 90