78 lines
4.1 KiB
Go
78 lines
4.1 KiB
Go
package anaconda
|
||
|
||
import (
|
||
"net/url"
|
||
)
|
||
|
||
//GetActivityWebhooks represents the twitter account_activity webhook
|
||
//Returns all URLs and their statuses for the given app. Currently,
|
||
//only one webhook URL can be registered to an application.
|
||
//https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/api-reference/get-webhook-config
|
||
func (a TwitterApi) GetActivityWebhooks(v url.Values) (u []WebHookResp, err error) {
|
||
responseCh := make(chan response)
|
||
a.queryQueue <- query{a.baseUrl + "/account_activity/webhooks.json", v, &u, _GET, responseCh}
|
||
return u, (<-responseCh).err
|
||
}
|
||
|
||
//WebHookResp represents the Get webhook responses
|
||
type WebHookResp struct {
|
||
ID string
|
||
URL string
|
||
Valid bool
|
||
CreatedAt string
|
||
}
|
||
|
||
//SetActivityWebhooks represents to set twitter account_activity webhook
|
||
//Registers a new webhook URL for the given application context.
|
||
//The URL will be validated via CRC request before saving. In case the validation fails,
|
||
//a comprehensive error is returned. message to the requester.
|
||
//Only one webhook URL can be registered to an application.
|
||
//https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/api-reference/new-webhook-config
|
||
func (a TwitterApi) SetActivityWebhooks(v url.Values) (u []WebHookResp, err error) {
|
||
responseCh := make(chan response)
|
||
a.queryQueue <- query{a.baseUrl + "/account_activity/webhooks.json", v, &u, _POST, responseCh}
|
||
return u, (<-responseCh).err
|
||
}
|
||
|
||
//DeleteActivityWebhooks Removes the webhook from the provided application’s configuration.
|
||
//https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/api-reference/delete-webhook-config
|
||
func (a TwitterApi) DeleteActivityWebhooks(v url.Values, webhookID string) (u interface{}, err error) {
|
||
responseCh := make(chan response)
|
||
a.queryQueue <- query{a.baseUrl + "/account_activity/webhooks/" + webhookID + ".json", v, &u, _DELETE, responseCh}
|
||
return u, (<-responseCh).err
|
||
}
|
||
|
||
//PutActivityWebhooks update webhook which reenables the webhook by setting its status to valid.
|
||
//https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/api-reference/validate-webhook-config
|
||
func (a TwitterApi) PutActivityWebhooks(v url.Values, webhookID string) (u interface{}, err error) {
|
||
responseCh := make(chan response)
|
||
a.queryQueue <- query{a.baseUrl + "/account_activity/webhooks/" + webhookID + ".json", v, &u, _PUT, responseCh}
|
||
return u, (<-responseCh).err
|
||
}
|
||
|
||
//SetWHSubscription Subscribes the provided app to events for the provided user context.
|
||
//When subscribed, all DM events for the provided user will be sent to the app’s webhook via POST request.
|
||
//https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/api-reference/new-subscription
|
||
func (a TwitterApi) SetWHSubscription(v url.Values, webhookID string) (u interface{}, err error) {
|
||
responseCh := make(chan response)
|
||
a.queryQueue <- query{a.baseUrl + "/account_activity/webhooks/" + webhookID + "/subscriptions.json", v, &u, _POST, responseCh}
|
||
return u, (<-responseCh).err
|
||
}
|
||
|
||
//GetWHSubscription Provides a way to determine if a webhook configuration is
|
||
//subscribed to the provided user’s Direct Messages.
|
||
//https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/api-reference/get-subscription
|
||
func (a TwitterApi) GetWHSubscription(v url.Values, webhookID string) (u interface{}, err error) {
|
||
responseCh := make(chan response)
|
||
a.queryQueue <- query{a.baseUrl + "/account_activity/webhooks/" + webhookID + "/subscriptions.json", v, &u, _GET, responseCh}
|
||
return u, (<-responseCh).err
|
||
}
|
||
|
||
//DeleteWHSubscription Deactivates subscription for the provided user context and app. After deactivation,
|
||
//all DM events for the requesting user will no longer be sent to the webhook URL..
|
||
//https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/api-reference/delete-subscription
|
||
func (a TwitterApi) DeleteWHSubscription(v url.Values, webhookID string) (u interface{}, err error) {
|
||
responseCh := make(chan response)
|
||
a.queryQueue <- query{a.baseUrl + "/account_activity/webhooks/" + webhookID + "/subscriptions.json", v, &u, _DELETE, responseCh}
|
||
return u, (<-responseCh).err
|
||
}
|