11 "strconv" |
11 "strconv" |
12 |
12 |
13 "github.com/pkg/errors" |
13 "github.com/pkg/errors" |
14 "github.com/sendgrid/rest" |
14 "github.com/sendgrid/rest" |
15 ) |
15 ) |
|
16 |
|
17 // PostStatusParams contains option fields for the PostStatus command |
|
18 type PostStatusParams struct { |
|
19 Text string |
|
20 InReplyTo int64 |
|
21 MediaIDs []int64 |
|
22 Sensitive bool |
|
23 SpoilerText string |
|
24 Visibility string |
|
25 } |
16 |
26 |
17 // updateStatusOptions contains option fields for POST and DELETE API calls |
27 // updateStatusOptions contains option fields for POST and DELETE API calls |
18 type updateStatusOptions struct { |
28 type updateStatusOptions struct { |
19 // The ID is used for most commands |
29 // The ID is used for most commands |
20 ID int64 |
30 ID int64 |
194 } |
204 } |
195 |
205 |
196 // PostStatus posts a new "toot" |
206 // PostStatus posts a new "toot" |
197 // All parameters but "text" can be empty. |
207 // All parameters but "text" can be empty. |
198 // Visibility must be empty, or one of "direct", "private", "unlisted" and "public". |
208 // Visibility must be empty, or one of "direct", "private", "unlisted" and "public". |
199 func (mc *Client) PostStatus(text string, inReplyTo int64, mediaIDs []int64, sensitive bool, spoilerText string, visibility string) (*Status, error) { |
209 func (mc *Client) PostStatus(cmdParams PostStatusParams) (*Status, error) { |
200 var status Status |
210 var status Status |
201 o := updateStatusOptions{ |
211 o := updateStatusOptions{ |
202 Status: text, |
212 Status: cmdParams.Text, |
203 InReplyToID: inReplyTo, |
213 InReplyToID: cmdParams.InReplyTo, |
204 MediaIDs: mediaIDs, |
214 MediaIDs: cmdParams.MediaIDs, |
205 Sensitive: sensitive, |
215 Sensitive: cmdParams.Sensitive, |
206 SpoilerText: spoilerText, |
216 SpoilerText: cmdParams.SpoilerText, |
207 Visibility: visibility, |
217 Visibility: cmdParams.Visibility, |
208 } |
218 } |
209 |
219 |
210 err := mc.updateStatusData("status", o, &status) |
220 err := mc.updateStatusData("status", o, &status) |
211 if err != nil { |
221 if err != nil { |
212 return nil, err |
222 return nil, err |