go-twitter: github.com/dghubble/go-twitter/twitter Index | Files

package twitter

import "github.com/dghubble/go-twitter/twitter"

Package twitter provides a Client for the Twitter API.

The twitter package provides a Client for accessing the Twitter API. Here are some example requests.

// Twitter client
client := twitter.NewClient(httpClient)
// Home Timeline
tweets, resp, err := client.Timelines.HomeTimeline(&HomeTimelineParams{})
// Send a Tweet
tweet, resp, err := client.Statuses.Update("just setting up my twttr", nil)
// Status Show
tweet, resp, err := client.Statuses.Show(585613041028431872, nil)
// User Show
params := &twitter.UserShowParams{ScreenName: "dghubble"}
user, resp, err := client.Users.Show(params)
// Followers
followers, resp, err := client.Followers.List(&FollowerListParams{})

Required parameters are passed as positional arguments. Optional parameters are passed in a typed params struct (or pass nil).

Authentication

By design, the Twitter Client accepts any http.Client so user auth (OAuth1) or application auth (OAuth2) requests can be made by using the appropriate authenticated client. Use the https://github.com/dghubble/oauth1 and https://github.com/golang/oauth2 packages to obtain an http.Client which transparently authorizes requests.

For example, make requests as a consumer application on behalf of a user who has granted access, with OAuth1.

// OAuth1
import (
	"github.com/dghubble/go-twitter/twitter"
	"github.com/dghubble/oauth1"
)

config := oauth1.NewConfig("consumerKey", "consumerSecret")
token := oauth1.NewToken("accessToken", "accessSecret")
// http.Client will automatically authorize Requests
httpClient := config.Client(oauth1.NoContext, token)

// twitter client
client := twitter.NewClient(httpClient)

If no user auth context is needed, make requests as your application with application auth.

// OAuth2
import (
	"github.com/dghubble/go-twitter/twitter"
	"golang.org/x/oauth2"
	"golang.org/x/oauth2/clientcredentials"
)

// oauth2 configures a client that uses app credentials to keep a fresh token
config := &clientcredentials.Config{
	ClientID:     flags.consumerKey,
	ClientSecret: flags.consumerSecret,
	TokenURL:     "https://api.twitter.com/oauth2/token",
}
// http.Client will automatically authorize Requests
httpClient := config.Client(oauth2.NoContext)

// Twitter client
client := twitter.NewClient(httpClient)

To implement Login with Twitter, see https://github.com/dghubble/gologin.

Index

Package Files

accounts.go backoffs.go demux.go direct_messages.go doc.go entities.go errors.go favorites.go followers.go friends.go friendships.go lists.go premium_search.go rate_limits.go search.go statuses.go stream_messages.go stream_utils.go streams.go timelines.go trends.go twitter.go users.go

func Bool Uses

func Bool(v bool) *bool

Bool returns a new pointer to the given bool value.

func Float Uses

func Float(v float64) *float64

Float returns a new pointer to the given float64 value.

type APIError Uses

type APIError struct {
    Errors []ErrorDetail `json:"errors"`
}

APIError represents a Twitter API Error response https://dev.twitter.com/overview/api/response-codes

func (APIError) Empty Uses

func (e APIError) Empty() bool

Empty returns true if empty. Otherwise, at least 1 error message/code is present and false is returned.

func (APIError) Error Uses

func (e APIError) Error() string

type AccountService Uses

type AccountService struct {
    // contains filtered or unexported fields
}

AccountService provides a method for account credential verification.

func (*AccountService) VerifyCredentials Uses

func (s *AccountService) VerifyCredentials(params *AccountVerifyParams) (*User, *http.Response, error)

VerifyCredentials returns the authorized user if credentials are valid and returns an error otherwise. Requires a user auth context. https://dev.twitter.com/rest/reference/get/account/verify_credentials

type AccountVerifyParams Uses

type AccountVerifyParams struct {
    IncludeEntities *bool `url:"include_entities,omitempty"`
    SkipStatus      *bool `url:"skip_status,omitempty"`
    IncludeEmail    *bool `url:"include_email,omitempty"`
}

AccountVerifyParams are the params for AccountService.VerifyCredentials.

type BoundingBox Uses

type BoundingBox struct {
    Coordinates [][][2]float64 `json:"coordinates"`
    Type        string         `json:"type"`
}

BoundingBox represents the bounding coordinates (longitude, latitutde) defining the bounds of a box containing a Place entity.

type Client Uses

type Client struct {

    // Twitter API Services
    Accounts       *AccountService
    DirectMessages *DirectMessageService
    Favorites      *FavoriteService
    Followers      *FollowerService
    Friends        *FriendService
    Friendships    *FriendshipService
    Lists          *ListsService
    RateLimits     *RateLimitService
    Search         *SearchService
    PremiumSearch  *PremiumSearchService
    Statuses       *StatusService
    Streams        *StreamService
    Timelines      *TimelineService
    Trends         *TrendsService
    Users          *UserService
    // contains filtered or unexported fields
}

Client is a Twitter client for making Twitter API requests.

func NewClient Uses

func NewClient(httpClient *http.Client) *Client

NewClient returns a new Client.

type ClosestParams Uses

type ClosestParams struct {
    Lat  float64 `url:"lat"`
    Long float64 `url:"long"`
}

ClosestParams are the parameters for Trends.Closest.

type Coordinates Uses

type Coordinates struct {
    Coordinates [2]float64 `json:"coordinates"`
    Type        string     `json:"type"`
}

Coordinates are pairs of longitude and latitude locations.

type Demux Uses

type Demux interface {
    Handle(message interface{})
    HandleChan(messages <-chan interface{})
}

A Demux receives interface{} messages individually or from a channel and sends those messages to one or more outputs determined by the implementation.

type DirectMessage Uses

type DirectMessage struct {
    CreatedAt           string    `json:"created_at"`
    Entities            *Entities `json:"entities"`
    ID                  int64     `json:"id"`
    IDStr               string    `json:"id_str"`
    Recipient           *User     `json:"recipient"`
    RecipientID         int64     `json:"recipient_id"`
    RecipientScreenName string    `json:"recipient_screen_name"`
    Sender              *User     `json:"sender"`
    SenderID            int64     `json:"sender_id"`
    SenderScreenName    string    `json:"sender_screen_name"`
    Text                string    `json:"text"`
}

DirectMessage is a direct message to a single recipient (DEPRECATED).

func (DirectMessage) CreatedAtTime Uses

func (d DirectMessage) CreatedAtTime() (time.Time, error)

CreatedAtTime returns the time a Direct Message was created (DEPRECATED).

type DirectMessageCTA Uses

type DirectMessageCTA struct {
    Type  string `json:"type"`
    Label string `json:"label"`
    URL   string `json:"url"`
}

DirectMessageCTA contains CTA data for a Direct Message event.

type DirectMessageData Uses

type DirectMessageData struct {
    Text       string                       `json:"text"`
    Entities   *Entities                    `json:"entitites,omitempty"`
    Attachment *DirectMessageDataAttachment `json:"attachment,omitempty"`
    QuickReply *DirectMessageQuickReply     `json:"quick_reply,omitempty"`
    CTAs       []DirectMessageCTA           `json:"ctas,omitempty"`
}

DirectMessageData is the message data contained in a Direct Message event.

type DirectMessageDataAttachment Uses

type DirectMessageDataAttachment struct {
    Type  string      `json:"type"`
    Media MediaEntity `json:"media"`
}

DirectMessageDataAttachment contains message data attachments for a Direct Message event.

type DirectMessageDestroyParams Uses

type DirectMessageDestroyParams struct {
    ID              int64 `url:"id,omitempty"`
    IncludeEntities *bool `url:"include_entities,omitempty"`
}

DirectMessageDestroyParams are the parameters for DirectMessageService.Destroy (DEPRECATED).

type DirectMessageEvent Uses

type DirectMessageEvent struct {
    CreatedAt string                     `json:"created_timestamp,omitempty"`
    ID        string                     `json:"id,omitempty"`
    Type      string                     `json:"type"`
    Message   *DirectMessageEventMessage `json:"message_create"`
}

DirectMessageEvent is a single Direct Message sent or received.

type DirectMessageEventMessage Uses

type DirectMessageEventMessage struct {
    SenderID string               `json:"sender_id,omitempty"`
    Target   *DirectMessageTarget `json:"target"`
    Data     *DirectMessageData   `json:"message_data"`
}

DirectMessageEventMessage contains message contents, along with sender and target recipient.

type DirectMessageEvents Uses

type DirectMessageEvents struct {
    Events     []DirectMessageEvent `json:"events"`
    NextCursor string               `json:"next_cursor"`
}

DirectMessageEvents lists Direct Message events.

type DirectMessageEventsListParams Uses

type DirectMessageEventsListParams struct {
    Cursor string `url:"cursor,omitempty"`
    Count  int    `url:"count,omitempty"`
}

DirectMessageEventsListParams are the parameters for DirectMessageService.EventsList

type DirectMessageEventsNewParams Uses

type DirectMessageEventsNewParams struct {
    Event *DirectMessageEvent `json:"event"`
}

DirectMessageEventsNewParams are the parameters for DirectMessageService.EventsNew

type DirectMessageEventsShowParams Uses

type DirectMessageEventsShowParams struct {
    ID string `url:"id,omitempty"`
}

DirectMessageEventsShowParams are the parameters for DirectMessageService.EventsShow

type DirectMessageGetParams Uses

type DirectMessageGetParams struct {
    SinceID         int64 `url:"since_id,omitempty"`
    MaxID           int64 `url:"max_id,omitempty"`
    Count           int   `url:"count,omitempty"`
    IncludeEntities *bool `url:"include_entities,omitempty"`
    SkipStatus      *bool `url:"skip_status,omitempty"`
}

DirectMessageGetParams are the parameters for DirectMessageService.Get (DEPRECATED).

type DirectMessageNewParams Uses

type DirectMessageNewParams struct {
    UserID     int64  `url:"user_id,omitempty"`
    ScreenName string `url:"screen_name,omitempty"`
    Text       string `url:"text"`
}

DirectMessageNewParams are the parameters for DirectMessageService.New (DEPRECATED).

type DirectMessageQuickReply Uses

type DirectMessageQuickReply struct {
    Type    string                          `json:"type"`
    Options []DirectMessageQuickReplyOption `json:"options"`
}

DirectMessageQuickReply contains quick reply data for a Direct Message event.

type DirectMessageQuickReplyOption Uses

type DirectMessageQuickReplyOption struct {
    Label       string `json:"label"`
    Description string `json:"description,omitempty"`
    Metadata    string `json:"metadata,omitempty"`
}

DirectMessageQuickReplyOption represents Option object for a Direct Message's Quick Reply.

type DirectMessageSentParams Uses

type DirectMessageSentParams struct {
    SinceID         int64 `url:"since_id,omitempty"`
    MaxID           int64 `url:"max_id,omitempty"`
    Count           int   `url:"count,omitempty"`
    Page            int   `url:"page,omitempty"`
    IncludeEntities *bool `url:"include_entities,omitempty"`
}

DirectMessageSentParams are the parameters for DirectMessageService.Sent (DEPRECATED).

type DirectMessageService Uses

type DirectMessageService struct {
    // contains filtered or unexported fields
}

DirectMessageService provides methods for accessing Twitter direct message API endpoints.

func (*DirectMessageService) Destroy Uses

func (s *DirectMessageService) Destroy(id int64, params *DirectMessageDestroyParams) (*DirectMessage, *http.Response, error)

Destroy deletes the Direct Message with the given id and returns it if successful (DEPRECATED). Requires a user auth context with DM scope. https://dev.twitter.com/rest/reference/post/direct_messages/destroy

func (*DirectMessageService) EventsDestroy Uses

func (s *DirectMessageService) EventsDestroy(id string) (*http.Response, error)

EventsDestroy deletes the Direct Message event by id. Requires a user auth context with DM scope. https://developer.twitter.com/en/docs/direct-messages/sending-and-receiving/api-reference/delete-message-event

func (*DirectMessageService) EventsList Uses

func (s *DirectMessageService) EventsList(params *DirectMessageEventsListParams) (*DirectMessageEvents, *http.Response, error)

EventsList returns Direct Message events (both sent and received) within the last 30 days in reverse chronological order. Requires a user auth context with DM scope. https://developer.twitter.com/en/docs/direct-messages/sending-and-receiving/api-reference/list-events

func (*DirectMessageService) EventsNew Uses

func (s *DirectMessageService) EventsNew(params *DirectMessageEventsNewParams) (*DirectMessageEvent, *http.Response, error)

EventsNew publishes a new Direct Message event and returns the event. Requires a user auth context with DM scope. https://developer.twitter.com/en/docs/direct-messages/sending-and-receiving/api-reference/new-event

func (*DirectMessageService) EventsShow Uses

func (s *DirectMessageService) EventsShow(id string, params *DirectMessageEventsShowParams) (*DirectMessageEvent, *http.Response, error)

EventsShow returns a single Direct Message event by id. Requires a user auth context with DM scope. https://developer.twitter.com/en/docs/direct-messages/sending-and-receiving/api-reference/get-event

func (*DirectMessageService) Get Uses

func (s *DirectMessageService) Get(params *DirectMessageGetParams) ([]DirectMessage, *http.Response, error)

Get returns recent Direct Messages received by the authenticated user (DEPRECATED). Requires a user auth context with DM scope. https://dev.twitter.com/rest/reference/get/direct_messages

func (*DirectMessageService) New Uses

func (s *DirectMessageService) New(params *DirectMessageNewParams) (*DirectMessage, *http.Response, error)

New sends a new Direct Message to a specified user as the authenticated user (DEPRECATED). Requires a user auth context with DM scope. https://dev.twitter.com/rest/reference/post/direct_messages/new

func (*DirectMessageService) Sent Uses

func (s *DirectMessageService) Sent(params *DirectMessageSentParams) ([]DirectMessage, *http.Response, error)

Sent returns recent Direct Messages sent by the authenticated user (DEPRECATED). Requires a user auth context with DM scope. https://dev.twitter.com/rest/reference/get/direct_messages/sent

func (*DirectMessageService) Show Uses

func (s *DirectMessageService) Show(id int64) (*DirectMessage, *http.Response, error)

Show returns the requested Direct Message (DEPRECATED). Requires a user auth context with DM scope. https://dev.twitter.com/rest/reference/get/direct_messages/show

type DirectMessageTarget Uses

type DirectMessageTarget struct {
    RecipientID string `json:"recipient_id"`
}

DirectMessageTarget specifies the recipient of a Direct Message event.

type Entities Uses

type Entities struct {
    Hashtags     []HashtagEntity `json:"hashtags"`
    Media        []MediaEntity   `json:"media"`
    Urls         []URLEntity     `json:"urls"`
    UserMentions []MentionEntity `json:"user_mentions"`
}

Entities represent metadata and context info parsed from Twitter components. https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/entities-object TODO: symbols

type ErrorDetail Uses

type ErrorDetail struct {
    Message string `json:"message"`
    Code    int    `json:"code"`
}

ErrorDetail represents an individual item in an APIError.

type Event Uses

type Event struct {
    Event     string `json:"event"`
    CreatedAt string `json:"created_at"`
    Target    *User  `json:"target"`
    Source    *User  `json:"source"`
    // TODO: add List or deprecate it
    TargetObject *Tweet `json:"target_object"`
}

Event is a non-Tweet notification message (e.g. like, retweet, follow). https://dev.twitter.com/streaming/overview/messages-types#Events_event

type ExtendedEntity Uses

type ExtendedEntity struct {
    Media []MediaEntity `json:"media"`
}

ExtendedEntity contains media information. https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/extended-entities-object

type ExtendedTweet Uses

type ExtendedTweet struct {
    FullText         string          `json:"full_text"`
    DisplayTextRange Indices         `json:"display_text_range"`
    Entities         *Entities       `json:"entities"`
    ExtendedEntities *ExtendedEntity `json:"extended_entities"`
}

ExtendedTweet represents fields embedded in extended Tweets when served in compatibility mode (default). https://dev.twitter.com/overview/api/upcoming-changes-to-tweets

type FavoriteCreateParams Uses

type FavoriteCreateParams struct {
    ID int64 `url:"id,omitempty"`
}

FavoriteCreateParams are the parameters for FavoriteService.Create.

type FavoriteDestroyParams Uses

type FavoriteDestroyParams struct {
    ID int64 `url:"id,omitempty"`
}

FavoriteDestroyParams are the parameters for FavoriteService.Destroy.

type FavoriteListParams Uses

type FavoriteListParams struct {
    UserID          int64  `url:"user_id,omitempty"`
    ScreenName      string `url:"screen_name,omitempty"`
    Count           int    `url:"count,omitempty"`
    SinceID         int64  `url:"since_id,omitempty"`
    MaxID           int64  `url:"max_id,omitempty"`
    IncludeEntities *bool  `url:"include_entities,omitempty"`
    TweetMode       string `url:"tweet_mode,omitempty"`
}

FavoriteListParams are the parameters for FavoriteService.List.

type FavoriteService Uses

type FavoriteService struct {
    // contains filtered or unexported fields
}

FavoriteService provides methods for accessing Twitter favorite API endpoints.

Note: the like action was known as favorite before November 3, 2015; the historical naming remains in API methods and object properties.

func (*FavoriteService) Create Uses

func (s *FavoriteService) Create(params *FavoriteCreateParams) (*Tweet, *http.Response, error)

Create favorites the specified tweet. Requires a user auth context. https://dev.twitter.com/rest/reference/post/favorites/create

func (*FavoriteService) Destroy Uses

func (s *FavoriteService) Destroy(params *FavoriteDestroyParams) (*Tweet, *http.Response, error)

Destroy un-favorites the specified tweet. Requires a user auth context. https://dev.twitter.com/rest/reference/post/favorites/destroy

func (*FavoriteService) List Uses

func (s *FavoriteService) List(params *FavoriteListParams) ([]Tweet, *http.Response, error)

List returns liked Tweets from the specified user. https://dev.twitter.com/rest/reference/get/favorites/list

type FollowerIDParams Uses

type FollowerIDParams struct {
    UserID     int64  `url:"user_id,omitempty"`
    ScreenName string `url:"screen_name,omitempty"`
    Cursor     int64  `url:"cursor,omitempty"`
    Count      int    `url:"count,omitempty"`
}

FollowerIDParams are the parameters for FollowerService.Ids

type FollowerIDs Uses

type FollowerIDs struct {
    IDs               []int64 `json:"ids"`
    NextCursor        int64   `json:"next_cursor"`
    NextCursorStr     string  `json:"next_cursor_str"`
    PreviousCursor    int64   `json:"previous_cursor"`
    PreviousCursorStr string  `json:"previous_cursor_str"`
}

FollowerIDs is a cursored collection of follower ids.

type FollowerListParams Uses

type FollowerListParams struct {
    UserID              int64  `url:"user_id,omitempty"`
    ScreenName          string `url:"screen_name,omitempty"`
    Cursor              int64  `url:"cursor,omitempty"`
    Count               int    `url:"count,omitempty"`
    SkipStatus          *bool  `url:"skip_status,omitempty"`
    IncludeUserEntities *bool  `url:"include_user_entities,omitempty"`
}

FollowerListParams are the parameters for FollowerService.List

type FollowerService Uses

type FollowerService struct {
    // contains filtered or unexported fields
}

FollowerService provides methods for accessing Twitter followers endpoints.

func (*FollowerService) IDs Uses

func (s *FollowerService) IDs(params *FollowerIDParams) (*FollowerIDs, *http.Response, error)

IDs returns a cursored collection of user ids following the specified user. https://dev.twitter.com/rest/reference/get/followers/ids

func (*FollowerService) List Uses

func (s *FollowerService) List(params *FollowerListParams) (*Followers, *http.Response, error)

List returns a cursored collection of Users following the specified user. https://dev.twitter.com/rest/reference/get/followers/list

type Followers Uses

type Followers struct {
    Users             []User `json:"users"`
    NextCursor        int64  `json:"next_cursor"`
    NextCursorStr     string `json:"next_cursor_str"`
    PreviousCursor    int64  `json:"previous_cursor"`
    PreviousCursorStr string `json:"previous_cursor_str"`
}

Followers is a cursored collection of followers.

type FriendIDParams Uses

type FriendIDParams struct {
    UserID     int64  `url:"user_id,omitempty"`
    ScreenName string `url:"screen_name,omitempty"`
    Cursor     int64  `url:"cursor,omitempty"`
    Count      int    `url:"count,omitempty"`
}

FriendIDParams are the parameters for FriendService.Ids

type FriendIDs Uses

type FriendIDs struct {
    IDs               []int64 `json:"ids"`
    NextCursor        int64   `json:"next_cursor"`
    NextCursorStr     string  `json:"next_cursor_str"`
    PreviousCursor    int64   `json:"previous_cursor"`
    PreviousCursorStr string  `json:"previous_cursor_str"`
}

FriendIDs is a cursored collection of friend ids.

type FriendListParams Uses

type FriendListParams struct {
    UserID              int64  `url:"user_id,omitempty"`
    ScreenName          string `url:"screen_name,omitempty"`
    Cursor              int64  `url:"cursor,omitempty"`
    Count               int    `url:"count,omitempty"`
    SkipStatus          *bool  `url:"skip_status,omitempty"`
    IncludeUserEntities *bool  `url:"include_user_entities,omitempty"`
}

FriendListParams are the parameters for FriendService.List

type FriendService Uses

type FriendService struct {
    // contains filtered or unexported fields
}

FriendService provides methods for accessing Twitter friends endpoints.

func (*FriendService) IDs Uses

func (s *FriendService) IDs(params *FriendIDParams) (*FriendIDs, *http.Response, error)

IDs returns a cursored collection of user ids that the specified user is following. https://dev.twitter.com/rest/reference/get/friends/ids

func (*FriendService) List Uses

func (s *FriendService) List(params *FriendListParams) (*Friends, *http.Response, error)

List returns a cursored collection of Users that the specified user is following. https://dev.twitter.com/rest/reference/get/friends/list

type Friends Uses

type Friends struct {
    Users             []User `json:"users"`
    NextCursor        int64  `json:"next_cursor"`
    NextCursorStr     string `json:"next_cursor_str"`
    PreviousCursor    int64  `json:"previous_cursor"`
    PreviousCursorStr string `json:"previous_cursor_str"`
}

Friends is a cursored collection of friends.

type FriendsList Uses

type FriendsList struct {
    Friends []int64 `json:"friends"`
}

FriendsList is a list of some of a user's friends. https://dev.twitter.com/streaming/overview/messages-types#friends_list_friends

type FriendshipCreateParams Uses

type FriendshipCreateParams struct {
    ScreenName string `url:"screen_name,omitempty"`
    UserID     int64  `url:"user_id,omitempty"`
    Follow     *bool  `url:"follow,omitempty"`
}

FriendshipCreateParams are parameters for FriendshipService.Create

type FriendshipDestroyParams Uses

type FriendshipDestroyParams struct {
    ScreenName string `url:"screen_name,omitempty"`
    UserID     int64  `url:"user_id,omitempty"`
}

FriendshipDestroyParams are paramenters for FriendshipService.Destroy

type FriendshipPendingParams Uses

type FriendshipPendingParams struct {
    Cursor int64 `url:"cursor,omitempty"`
}

FriendshipPendingParams are paramenters for FriendshipService.Outgoing

type FriendshipService Uses

type FriendshipService struct {
    // contains filtered or unexported fields
}

FriendshipService provides methods for accessing Twitter friendship API endpoints.

func (*FriendshipService) Create Uses

func (s *FriendshipService) Create(params *FriendshipCreateParams) (*User, *http.Response, error)

Create creates a friendship to (i.e. follows) the specified user and returns the followed user. Requires a user auth context. https://dev.twitter.com/rest/reference/post/friendships/create

func (*FriendshipService) Destroy Uses

func (s *FriendshipService) Destroy(params *FriendshipDestroyParams) (*User, *http.Response, error)

Destroy destroys a friendship to (i.e. unfollows) the specified user and returns the unfollowed user. Requires a user auth context. https://dev.twitter.com/rest/reference/post/friendships/destroy

func (*FriendshipService) Incoming Uses

func (s *FriendshipService) Incoming(params *FriendshipPendingParams) (*FriendIDs, *http.Response, error)

Incoming returns a collection of numeric IDs for every user who has a pending request to follow the authenticating user. https://dev.twitter.com/rest/reference/get/friendships/incoming

func (*FriendshipService) Outgoing Uses

func (s *FriendshipService) Outgoing(params *FriendshipPendingParams) (*FriendIDs, *http.Response, error)

Outgoing returns a collection of numeric IDs for every protected user for whom the authenticating user has a pending follow request. https://dev.twitter.com/rest/reference/get/friendships/outgoing

func (*FriendshipService) Show Uses

func (s *FriendshipService) Show(params *FriendshipShowParams) (*Relationship, *http.Response, error)

Show returns the relationship between two arbitrary users. Requires a user auth or an app context. https://dev.twitter.com/rest/reference/get/friendships/show

type FriendshipShowParams Uses

type FriendshipShowParams struct {
    SourceID         int64  `url:"source_id,omitempty"`
    SourceScreenName string `url:"source_screen_name,omitempty"`
    TargetID         int64  `url:"target_id,omitempty"`
    TargetScreenName string `url:"target_screen_name,omitempty"`
}

FriendshipShowParams are paramenters for FriendshipService.Show

type HashtagEntity Uses

type HashtagEntity struct {
    Indices Indices `json:"indices"`
    Text    string  `json:"text"`
}

HashtagEntity represents a hashtag which has been parsed from text.

type HomeTimelineParams Uses

type HomeTimelineParams struct {
    Count              int    `url:"count,omitempty"`
    SinceID            int64  `url:"since_id,omitempty"`
    MaxID              int64  `url:"max_id,omitempty"`
    TrimUser           *bool  `url:"trim_user,omitempty"`
    ExcludeReplies     *bool  `url:"exclude_replies,omitempty"`
    ContributorDetails *bool  `url:"contributor_details,omitempty"`
    IncludeEntities    *bool  `url:"include_entities,omitempty"`
    TweetMode          string `url:"tweet_mode,omitempty"`
}

HomeTimelineParams are the parameters for TimelineService.HomeTimeline.

type Indices Uses

type Indices [2]int

Indices represent the start and end offsets within text.

func (Indices) End Uses

func (i Indices) End() int

End returns the index at which an entity ends, exclusive.

func (Indices) Start Uses

func (i Indices) Start() int

Start returns the index at which an entity starts, inclusive.

type List Uses

type List struct {
    Slug            string `json:"slug"`
    Name            string `json:"name"`
    CreatedAt       string `json:"created_at"`
    URI             string `json:"uri"`
    SubscriberCount int    `json:"subscriber_count"`
    IDStr           string `json:"id_str"`
    MemberCount     int    `json:"member_count"`
    Mode            string `json:"mode"`
    ID              int64  `json:"id"`
    FullName        string `json:"full_name"`
    Description     string `json:"description"`
    User            *User  `json:"user"`
    Following       bool   `json:"following"`
}

List represents a Twitter List.

type ListsCreateParams Uses

type ListsCreateParams struct {
    Name        string `url:"name,omitempty"`
    Mode        string `url:"mode,omitempty"`
    Description string `url:"description,omitempty"`
}

ListsCreateParams are the parameters for ListsService.Create

type ListsDestroyParams Uses

type ListsDestroyParams struct {
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
}

ListsDestroyParams are the parameters for ListsService.Destroy

type ListsListParams Uses

type ListsListParams struct {
    UserID     int64  `url:"user_id,omitempty"`
    ScreenName string `url:"screen_name,omitempty"`
    Reverse    bool   `url:"reverse,omitempty"`
}

ListsListParams are the parameters for ListsService.List

type ListsMembersCreateAllParams Uses

type ListsMembersCreateAllParams struct {
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
    UserID          string `url:"user_id,omitempty"`
    ScreenName      string `url:"screen_name,omitempty"`
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
}

ListsMembersCreateAllParams are the parameters for ListsService.MembersCreateAll

type ListsMembersCreateParams Uses

type ListsMembersCreateParams struct {
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
    UserID          int64  `url:"user_id,omitempty"`
    ScreenName      string `url:"screen_name,omitempty"`
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
}

ListsMembersCreateParams are the parameters for ListsService.MembersCreate

type ListsMembersDestroyAllParams Uses

type ListsMembersDestroyAllParams struct {
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
    UserID          string `url:"user_id,omitempty"`
    ScreenName      string `url:"screen_name,omitempty"`
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
}

ListsMembersDestroyAllParams are the parameters for ListsService.MembersDestroyAll

type ListsMembersDestroyParams Uses

type ListsMembersDestroyParams struct {
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
    UserID          int64  `url:"user_id,omitempty"`
    ScreenName      string `url:"screen_name,omitempty"`
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
}

ListsMembersDestroyParams are the parameters for ListsService.MembersDestroy

type ListsMembersParams Uses

type ListsMembersParams struct {
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
    Count           int    `url:"count,omitempty"`
    Cursor          int64  `url:"cursor,omitempty"`
    IncludeEntities *bool  `url:"include_entities,omitempty"`
    SkipStatus      *bool  `url:"skip_status,omitempty"`
}

ListsMembersParams are the parameters for ListsService.Members

type ListsMembersShowParams Uses

type ListsMembersShowParams struct {
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
    UserID          int64  `url:"user_id,omitempty"`
    ScreenName      string `url:"screen_name,omitempty"`
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
    IncludeEntities *bool  `url:"include_entities,omitempty"`
    SkipStatus      *bool  `url:"skip_status,omitempty"`
}

ListsMembersShowParams are the parameters for ListsService.MembersShow

type ListsMembershipsParams Uses

type ListsMembershipsParams struct {
    UserID             int64  `url:"user_id,omitempty"`
    ScreenName         string `url:"screen_name,omitempty"`
    Count              int    `url:"count,omitempty"`
    Cursor             int64  `url:"cursor,omitempty"`
    FilterToOwnedLists *bool  `url:"filter_to_owned_lists,omitempty"`
}

ListsMembershipsParams are the parameters for ListsService.Memberships

type ListsOwnershipsParams Uses

type ListsOwnershipsParams struct {
    UserID     int64  `url:"user_id,omitempty"`
    ScreenName string `url:"screen_name,omitempty"`
    Count      int    `url:"count,omitempty"`
    Cursor     int64  `url:"cursor,omitempty"`
}

ListsOwnershipsParams are the parameters for ListsService.Ownerships

type ListsService Uses

type ListsService struct {
    // contains filtered or unexported fields
}

ListsService provides methods for accessing Twitter lists endpoints.

func (*ListsService) Create Uses

func (s *ListsService) Create(name string, params *ListsCreateParams) (*List, *http.Response, error)

Create creates a new list for the authenticated user. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-create

func (*ListsService) Destroy Uses

func (s *ListsService) Destroy(params *ListsDestroyParams) (*List, *http.Response, error)

Destroy deletes the specified list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-destroy

func (*ListsService) List Uses

func (s *ListsService) List(params *ListsListParams) ([]List, *http.Response, error)

List eturns all lists the authenticating or specified user subscribes to, including their own. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-list

func (*ListsService) Members Uses

func (s *ListsService) Members(params *ListsMembersParams) (*Members, *http.Response, error)

Members returns the members of the specified list https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-members

func (*ListsService) MembersCreate Uses

func (s *ListsService) MembersCreate(params *ListsMembersCreateParams) (*http.Response, error)

MembersCreate adds a member to a list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-members-create

func (*ListsService) MembersCreateAll Uses

func (s *ListsService) MembersCreateAll(params *ListsMembersCreateAllParams) (*http.Response, error)

MembersCreateAll adds multiple members to a list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-members-create_all

func (*ListsService) MembersDestroy Uses

func (s *ListsService) MembersDestroy(params *ListsMembersDestroyParams) (*http.Response, error)

MembersDestroy removes the specified member from the list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-members-destroy

func (*ListsService) MembersDestroyAll Uses

func (s *ListsService) MembersDestroyAll(params *ListsMembersDestroyAllParams) (*http.Response, error)

MembersDestroyAll removes multiple members from a list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-members-destroy_all

func (*ListsService) MembersShow Uses

func (s *ListsService) MembersShow(params *ListsMembersShowParams) (*User, *http.Response, error)

MembersShow checks if the specified user is a member of the specified list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-members-show

func (*ListsService) Memberships Uses

func (s *ListsService) Memberships(params *ListsMembershipsParams) (*Membership, *http.Response, error)

Memberships returns the lists the specified user has been added to. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-memberships

func (*ListsService) Ownerships Uses

func (s *ListsService) Ownerships(params *ListsOwnershipsParams) (*Ownership, *http.Response, error)

Ownerships returns the lists owned by the specified Twitter user. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-ownerships

func (*ListsService) Show Uses

func (s *ListsService) Show(params *ListsShowParams) (*List, *http.Response, error)

Show returns the specified list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-show

func (*ListsService) Statuses Uses

func (s *ListsService) Statuses(params *ListsStatusesParams) ([]Tweet, *http.Response, error)

Statuses returns a timeline of tweets authored by members of the specified list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-statuses

func (*ListsService) Subscribers Uses

func (s *ListsService) Subscribers(params *ListsSubscribersParams) (*Subscribers, *http.Response, error)

Subscribers returns the subscribers of the specified list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-subscribers

func (*ListsService) SubscribersCreate Uses

func (s *ListsService) SubscribersCreate(params *ListsSubscribersCreateParams) (*List, *http.Response, error)

SubscribersCreate subscribes the authenticated user to the specified list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-subscribers-create

func (*ListsService) SubscribersDestroy Uses

func (s *ListsService) SubscribersDestroy(params *ListsSubscribersDestroyParams) (*http.Response, error)

SubscribersDestroy unsubscribes the authenticated user from the specified list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-subscribers-destroy

func (*ListsService) SubscribersShow Uses

func (s *ListsService) SubscribersShow(params *ListsSubscribersShowParams) (*User, *http.Response, error)

SubscribersShow returns the user if they are a subscriber to the list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-subscribers-show

func (*ListsService) Subscriptions Uses

func (s *ListsService) Subscriptions(params *ListsSubscriptionsParams) (*Subscribed, *http.Response, error)

Subscriptions returns a collection of the lists the specified user is subscribed to. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/get-lists-subscriptions

func (*ListsService) Update Uses

func (s *ListsService) Update(params *ListsUpdateParams) (*http.Response, error)

Update updates the specified list. https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-update

type ListsShowParams Uses

type ListsShowParams struct {
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
}

ListsShowParams are the parameters for ListsService.Show

type ListsStatusesParams Uses

type ListsStatusesParams struct {
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
    SinceID         int64  `url:"since_id,omitempty"`
    MaxID           int64  `url:"max_id,omitempty"`
    Count           int    `url:"count,omitempty"`
    IncludeEntities *bool  `url:"include_entities,omitempty"`
    IncludeRetweets *bool  `url:"include_rts,omitempty"`
}

ListsStatusesParams are the parameters for ListsService.Statuses

type ListsSubscribersCreateParams Uses

type ListsSubscribersCreateParams struct {
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
}

ListsSubscribersCreateParams are the parameters for ListsService.SubscribersCreate

type ListsSubscribersDestroyParams Uses

type ListsSubscribersDestroyParams struct {
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
}

ListsSubscribersDestroyParams are the parameters for ListsService.SubscribersDestroy

type ListsSubscribersParams Uses

type ListsSubscribersParams struct {
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
    Count           int    `url:"count,omitempty"`
    Cursor          int64  `url:"cursor,omitempty"`
    IncludeEntities *bool  `url:"include_entities,omitempty"`
    SkipStatus      *bool  `url:"skip_status,omitempty"`
}

ListsSubscribersParams are the parameters for ListsService.Subscribers

type ListsSubscribersShowParams Uses

type ListsSubscribersShowParams struct {
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
    UserID          int64  `url:"user_id,omitempty"`
    ScreenName      string `url:"screen_name,omitempty"`
    IncludeEntities *bool  `url:"include_entities,omitempty"`
    SkipStatus      *bool  `url:"skip_status,omitempty"`
}

ListsSubscribersShowParams are the parameters for ListsService.SubscribersShow

type ListsSubscriptionsParams Uses

type ListsSubscriptionsParams struct {
    UserID     int64  `url:"user_id,omitempty"`
    ScreenName string `url:"screen_name,omitempty"`
    Count      int    `url:"count,omitempty"`
    Cursor     int64  `url:"cursor,omitempty"`
}

ListsSubscriptionsParams are the parameters for ListsService.Subscriptions

type ListsUpdateParams Uses

type ListsUpdateParams struct {
    ListID          int64  `url:"list_id,omitempty"`
    Slug            string `url:"slug,omitempty"`
    Name            string `url:"name,omitempty"`
    Mode            string `url:"mode,omitempty"`
    Description     string `url:"description,omitempty"`
    OwnerScreenName string `url:"owner_screen_name,omitempty"`
    OwnerID         int64  `url:"owner_id,omitempty"`
}

ListsUpdateParams are the parameters for ListsService.Update

type Location Uses

type Location struct {
    Country     string    `json:"country"`
    CountryCode string    `json:"countryCode"`
    Name        string    `json:"name"`
    ParentID    int       `json:"parentid"`
    PlaceType   PlaceType `json:"placeType"`
    URL         string    `json:"url"`
    WOEID       int64     `json:"woeid"`
}

Location represents a twitter Location.

type LocationDeletion Uses

type LocationDeletion struct {
    UserID          int64  `json:"user_id"`
    UserIDStr       string `json:"user_id_str"`
    UpToStatusID    int64  `json:"up_to_status_id"`
    UpToStatusIDStr string `json:"up_to_status_id_str"`
}

LocationDeletion indicates geolocation data must be stripped from a range of Tweets. https://dev.twitter.com/streaming/overview/messages-types#Location_deletion_notices_scrub_geo

type MediaEntity Uses

type MediaEntity struct {
    URLEntity
    ID                int64      `json:"id"`
    IDStr             string     `json:"id_str"`
    MediaURL          string     `json:"media_url"`
    MediaURLHttps     string     `json:"media_url_https"`
    SourceStatusID    int64      `json:"source_status_id"`
    SourceStatusIDStr string     `json:"source_status_id_str"`
    Type              string     `json:"type"`
    Sizes             MediaSizes `json:"sizes"`
    VideoInfo         VideoInfo  `json:"video_info"`
}

MediaEntity represents media elements associated with a Tweet.

type MediaSize Uses

type MediaSize struct {
    Width  int    `json:"w"`
    Height int    `json:"h"`
    Resize string `json:"resize"`
}

MediaSize describes the height, width, and resizing method used.

type MediaSizes Uses

type MediaSizes struct {
    Thumb  MediaSize `json:"thumb"`
    Large  MediaSize `json:"large"`
    Medium MediaSize `json:"medium"`
    Small  MediaSize `json:"small"`
}

MediaSizes contain the different size media that are available. https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/entities-object#media-size

type Members Uses

type Members struct {
    Users             []User `json:"users"`
    NextCursor        int64  `json:"next_cursor"`
    NextCursorStr     string `json:"next_cursor_str"`
    PreviousCursor    int64  `json:"previous_cursor"`
    PreviousCursorStr string `json:"previous_cursor_str"`
}

Members is a cursored collection of list members.

type Membership Uses

type Membership struct {
    Lists             []List `json:"lists"`
    NextCursor        int64  `json:"next_cursor"`
    NextCursorStr     string `json:"next_cursor_str"`
    PreviousCursor    int64  `json:"previous_cursor"`
    PreviousCursorStr string `json:"previous_cursor_str"`
}

Membership is a cursored collection of lists a user is on.

type MentionEntity Uses

type MentionEntity struct {
    Indices    Indices `json:"indices"`
    ID         int64   `json:"id"`
    IDStr      string  `json:"id_str"`
    Name       string  `json:"name"`
    ScreenName string  `json:"screen_name"`
}

MentionEntity represents Twitter user mentions parsed from text.

type MentionTimelineParams Uses

type MentionTimelineParams struct {
    Count              int    `url:"count,omitempty"`
    SinceID            int64  `url:"since_id,omitempty"`
    MaxID              int64  `url:"max_id,omitempty"`
    TrimUser           *bool  `url:"trim_user,omitempty"`
    ContributorDetails *bool  `url:"contributor_details,omitempty"`
    IncludeEntities    *bool  `url:"include_entities,omitempty"`
    TweetMode          string `url:"tweet_mode,omitempty"`
}

MentionTimelineParams are the parameters for TimelineService.MentionTimeline.

type OEmbedTweet Uses

type OEmbedTweet struct {
    URL          string `json:"url"`
    ProviderURL  string `json:"provider_url"`
    ProviderName string `json:"provider_name"`
    AuthorName   string `json:"author_name"`
    Version      string `json:"version"`
    AuthorURL    string `json:"author_url"`
    Type         string `json:"type"`
    HTML         string `json:"html"`
    Height       int64  `json:"height"`
    Width        int64  `json:"width"`
    CacheAge     string `json:"cache_age"`
}

OEmbedTweet represents a Tweet in oEmbed format.

type Ownership Uses

type Ownership struct {
    Lists             []List `json:"lists"`
    NextCursor        int64  `json:"next_cursor"`
    NextCursorStr     string `json:"next_cursor_str"`
    PreviousCursor    int64  `json:"previous_cursor"`
    PreviousCursorStr string `json:"previous_cursor_str"`
}

Ownership is a cursored collection of lists a user owns.

type Place Uses

type Place struct {
    Attributes  map[string]string `json:"attributes"`
    BoundingBox *BoundingBox      `json:"bounding_box"`
    Country     string            `json:"country"`
    CountryCode string            `json:"country_code"`
    FullName    string            `json:"full_name"`
    Geometry    *BoundingBox      `json:"geometry"`
    ID          string            `json:"id"`
    Name        string            `json:"name"`
    PlaceType   string            `json:"place_type"`
    Polylines   []string          `json:"polylines"`
    URL         string            `json:"url"`
}

Place represents a Twitter Place / Location https://dev.twitter.com/overview/api/places

type PlaceType Uses

type PlaceType struct {
    Code int    `json:"code"`
    Name string `json:"name"`
}

PlaceType represents a twitter trends PlaceType.

type PremiumSearch Uses

type PremiumSearch struct {
    Results           []Tweet            `json:"results"`
    Next              string             `json:"next"`
    RequestParameters *RequestParameters `json:"requestParameters"`
}

PremiumSearch represents the result of a Tweet search. https://developer.twitter.com/en/docs/tweets/search/api-reference/premium-search

type PremiumSearchCount Uses

type PremiumSearchCount struct {
    Results           []TweetCount            `json:"results"`
    TotalCount        int64                   `json:"totalCount"`
    RequestParameters *RequestCountParameters `json:"requestParameters"`
}

PremiumSearchCount describes a response of Premium search API's count endpoint. https://developer.twitter.com/en/docs/tweets/search/api-reference/premium-search#CountsEndpoint

type PremiumSearchCountTweetParams Uses

type PremiumSearchCountTweetParams struct {
    Query    string `url:"query,omitempty"`
    Tag      string `url:"tag,omitempty"`
    FromDate string `url:"fromDate,omitempty"`
    ToDate   string `url:"toDate,omitempty"`
    Bucket   string `url:"bucket,omitempty"`
    Next     string `url:"next,omitempty"`
}

PremiumSearchCountTweetParams are the parameters for PremiumSearchService.CountFullArchive and Count30Days

type PremiumSearchService Uses

type PremiumSearchService struct {
    // contains filtered or unexported fields
}

PremiumSearchService provides methods for accessing Twitter premium search API endpoints.

func (*PremiumSearchService) Count30Days Uses

func (s *PremiumSearchService) Count30Days(params *PremiumSearchCountTweetParams, label string) (*PremiumSearchCount, *http.Response, error)

Count30Days returns a counts of Tweets matching a search query from Tweets posted within the last 30 days. https://developer.twitter.com/en/docs/tweets/search/api-reference/premium-search#CountsEndpoint

func (*PremiumSearchService) CountFullArchive Uses

func (s *PremiumSearchService) CountFullArchive(params *PremiumSearchCountTweetParams, label string) (*PremiumSearchCount, *http.Response, error)

CountFullArchive returns a counts of Tweets matching a search query from tweets back to the very first tweet. https://developer.twitter.com/en/docs/tweets/search/api-reference/premium-search#CountsEndpoint

func (*PremiumSearchService) Search30Days Uses

func (s *PremiumSearchService) Search30Days(params *PremiumSearchTweetParams, label string) (*PremiumSearch, *http.Response, error)

Search30Days returns a collection of Tweets matching a search query from Tweets posted within the last 30 days. https://developer.twitter.com/en/docs/tweets/search/api-reference/premium-search

func (*PremiumSearchService) SearchFullArchive Uses

func (s *PremiumSearchService) SearchFullArchive(params *PremiumSearchTweetParams, label string) (*PremiumSearch, *http.Response, error)

SearchFullArchive returns a collection of Tweets matching a search query from tweets back to the very first tweet. https://developer.twitter.com/en/docs/tweets/search/api-reference/premium-search

type PremiumSearchTweetParams Uses

type PremiumSearchTweetParams struct {
    Query      string `url:"query,omitempty"`
    Tag        string `url:"tag,omitempty"`
    FromDate   string `url:"fromDate,omitempty"`
    ToDate     string `url:"toDate,omitempty"`
    MaxResults int    `url:"maxResults,omitempty"`
    Next       string `url:"next,omitempty"`
}

PremiumSearchTweetParams are the parameters for PremiumSearchService.SearchFullArchive and Search30Days

type RateLimit Uses

type RateLimit struct {
    RateLimitContext *RateLimitContext   `json:"rate_limit_context"`
    Resources        *RateLimitResources `json:"resources"`
}

RateLimit summarizes current rate limits of resource families.

type RateLimitContext Uses

type RateLimitContext struct {
    AccessToken string `json:"access_token"`
}

RateLimitContext contains auth context

type RateLimitParams Uses

type RateLimitParams struct {
    Resources []string `url:"resources,omitempty,comma"`
}

RateLimitParams are the parameters for RateLimitService.Status.

type RateLimitResource Uses

type RateLimitResource struct {
    Limit     int `json:"limit"`
    Remaining int `json:"remaining"`
    Reset     int `json:"reset"`
}

RateLimitResource contains limit status data for a single endpoint

type RateLimitResources Uses

type RateLimitResources struct {
    Application map[string]*RateLimitResource `json:"application"`
    Favorites   map[string]*RateLimitResource `json:"favorites"`
    Followers   map[string]*RateLimitResource `json:"followers"`
    Friends     map[string]*RateLimitResource `json:"friends"`
    Friendships map[string]*RateLimitResource `json:"friendships"`
    Geo         map[string]*RateLimitResource `json:"geo"`
    Help        map[string]*RateLimitResource `json:"help"`
    Lists       map[string]*RateLimitResource `json:"lists"`
    Search      map[string]*RateLimitResource `json:"search"`
    Statuses    map[string]*RateLimitResource `json:"statuses"`
    Trends      map[string]*RateLimitResource `json:"trends"`
    Users       map[string]*RateLimitResource `json:"users"`
}

RateLimitResources contains all limit status data for endpoints group by resources

type RateLimitService Uses

type RateLimitService struct {
    // contains filtered or unexported fields
}

RateLimitService provides methods for accessing Twitter rate limits API endpoints.

func (*RateLimitService) Status Uses

func (s *RateLimitService) Status(params *RateLimitParams) (*RateLimit, *http.Response, error)

Status summarizes the current rate limits of specified resource families. https://developer.twitter.com/en/docs/developer-utilities/rate-limit-status/api-reference/get-application-rate_limit_status

type Relationship Uses

type Relationship struct {
    Source RelationshipSource `json:"source"`
    Target RelationshipTarget `json:"target"`
}

Relationship represents the relation between a source user and target user.

type RelationshipResponse Uses

type RelationshipResponse struct {
    Relationship *Relationship `json:"relationship"`
}

RelationshipResponse contains a relationship.

type RelationshipSource Uses

type RelationshipSource struct {
    ID                   int64  `json:"id"`
    IDStr                string `json:"id_str"`
    ScreenName           string `json:"screen_name"`
    Following            bool   `json:"following"`
    FollowedBy           bool   `json:"followed_by"`
    CanDM                bool   `json:"can_dm"`
    Blocking             bool   `json:"blocking"`
    Muting               bool   `json:"muting"`
    AllReplies           bool   `json:"all_replies"`
    WantRetweets         bool   `json:"want_retweets"`
    MarkedSpam           bool   `json:"marked_spam"`
    NotificationsEnabled bool   `json:"notifications_enabled"`
}

RelationshipSource represents the source user.

type RelationshipTarget Uses

type RelationshipTarget struct {
    ID         int64  `json:"id"`
    IDStr      string `json:"id_str"`
    ScreenName string `json:"screen_name"`
    Following  bool   `json:"following"`
    FollowedBy bool   `json:"followed_by"`
}

RelationshipTarget represents the target user.

type RequestCountParameters Uses

type RequestCountParameters struct {
    Bucket   string `json:"bucket"`
    FromDate string `json:"fromDate"`
    ToDate   string `json:"toDate"`
}

RequestCountParameters describes a request parameter that was passed to a Premium search API.

type RequestParameters Uses

type RequestParameters struct {
    MaxResults int    `json:"maxResults"`
    FromDate   string `json:"fromDate"`
    ToDate     string `json:"toDate"`
}

RequestParameters describes a request parameter that was passed to a Premium search API.

type RetweetsOfMeTimelineParams Uses

type RetweetsOfMeTimelineParams struct {
    Count               int    `url:"count,omitempty"`
    SinceID             int64  `url:"since_id,omitempty"`
    MaxID               int64  `url:"max_id,omitempty"`
    TrimUser            *bool  `url:"trim_user,omitempty"`
    IncludeEntities     *bool  `url:"include_entities,omitempty"`
    IncludeUserEntities *bool  `url:"include_user_entities"`
    TweetMode           string `url:"tweet_mode,omitempty"`
}

RetweetsOfMeTimelineParams are the parameters for TimelineService.RetweetsOfMeTimeline.

type Search struct {
    Statuses []Tweet         `json:"statuses"`
    Metadata *SearchMetadata `json:"search_metadata"`
}

Search represents the result of a Tweet search.

type SearchMetadata Uses

type SearchMetadata struct {
    Count       int     `json:"count"`
    SinceID     int64   `json:"since_id"`
    SinceIDStr  string  `json:"since_id_str"`
    MaxID       int64   `json:"max_id"`
    MaxIDStr    string  `json:"max_id_str"`
    RefreshURL  string  `json:"refresh_url"`
    NextResults string  `json:"next_results"`
    CompletedIn float64 `json:"completed_in"`
    Query       string  `json:"query"`
}

SearchMetadata describes a Search result.

type SearchService Uses

type SearchService struct {
    // contains filtered or unexported fields
}

SearchService provides methods for accessing Twitter search API endpoints.

func (*SearchService) Tweets Uses

func (s *SearchService) Tweets(params *SearchTweetParams) (*Search, *http.Response, error)

Tweets returns a collection of Tweets matching a search query. https://dev.twitter.com/rest/reference/get/search/tweets

type SearchTweetParams Uses

type SearchTweetParams struct {
    Query           string `url:"q,omitempty"`
    Geocode         string `url:"geocode,omitempty"`
    Lang            string `url:"lang,omitempty"`
    Locale          string `url:"locale,omitempty"`
    ResultType      string `url:"result_type,omitempty"`
    Count           int    `url:"count,omitempty"`
    SinceID         int64  `url:"since_id,omitempty"`
    MaxID           int64  `url:"max_id,omitempty"`
    Until           string `url:"until,omitempty"`
    Since           string `url:"since,omitempty"`
    Filter          string `url:"filter,omitempty"`
    IncludeEntities *bool  `url:"include_entities,omitempty"`
    TweetMode       string `url:"tweet_mode,omitempty"`
}

SearchTweetParams are the parameters for SearchService.Tweets

type StallWarning Uses

type StallWarning struct {
    Code        string `json:"code"`
    Message     string `json:"message"`
    PercentFull int    `json:"percent_full"`
}

StallWarning indicates the client is falling behind in the stream. https://dev.twitter.com/streaming/overview/messages-types#stall_warnings

type StatusDeletion Uses

type StatusDeletion struct {
    ID        int64  `json:"id"`
    IDStr     string `json:"id_str"`
    UserID    int64  `json:"user_id"`
    UserIDStr string `json:"user_id_str"`
}

StatusDeletion indicates that a given Tweet has been deleted. https://dev.twitter.com/streaming/overview/messages-types#status_deletion_notices_delete

type StatusDestroyParams Uses

type StatusDestroyParams struct {
    ID        int64  `url:"id,omitempty"`
    TrimUser  *bool  `url:"trim_user,omitempty"`
    TweetMode string `url:"tweet_mode,omitempty"`
}

StatusDestroyParams are the parameters for StatusService.Destroy

type StatusLookupParams Uses

type StatusLookupParams struct {
    ID              []int64 `url:"id,omitempty,comma"`
    TrimUser        *bool   `url:"trim_user,omitempty"`
    IncludeEntities *bool   `url:"include_entities,omitempty"`
    Map             *bool   `url:"map,omitempty"`
    TweetMode       string  `url:"tweet_mode,omitempty"`
}

StatusLookupParams are the parameters for StatusService.Lookup

type StatusOEmbedParams Uses

type StatusOEmbedParams struct {
    ID         int64  `url:"id,omitempty"`
    URL        string `url:"url,omitempty"`
    Align      string `url:"align,omitempty"`
    MaxWidth   int64  `url:"maxwidth,omitempty"`
    HideMedia  *bool  `url:"hide_media,omitempty"`
    HideThread *bool  `url:"hide_media,omitempty"`
    OmitScript *bool  `url:"hide_media,omitempty"`
    WidgetType string `url:"widget_type,omitempty"`
    HideTweet  *bool  `url:"hide_tweet,omitempty"`
}

StatusOEmbedParams are the parameters for StatusService.OEmbed

type StatusRetweetParams Uses

type StatusRetweetParams struct {
    ID        int64  `url:"id,omitempty"`
    TrimUser  *bool  `url:"trim_user,omitempty"`
    TweetMode string `url:"tweet_mode,omitempty"`
}

StatusRetweetParams are the parameters for StatusService.Retweet

type StatusRetweetsParams Uses

type StatusRetweetsParams struct {
    ID        int64  `url:"id,omitempty"`
    Count     int    `url:"count,omitempty"`
    TrimUser  *bool  `url:"trim_user,omitempty"`
    TweetMode string `url:"tweet_mode,omitempty"`
}

StatusRetweetsParams are the parameters for StatusService.Retweets

type StatusService Uses

type StatusService struct {
    // contains filtered or unexported fields
}

StatusService provides methods for accessing Twitter status API endpoints.

func (*StatusService) Destroy Uses

func (s *StatusService) Destroy(id int64, params *StatusDestroyParams) (*Tweet, *http.Response, error)

Destroy deletes the Tweet with the given id and returns it if successful. Requires a user auth context. https://dev.twitter.com/rest/reference/post/statuses/destroy/%3Aid

func (*StatusService) Lookup Uses

func (s *StatusService) Lookup(ids []int64, params *StatusLookupParams) ([]Tweet, *http.Response, error)

Lookup returns the requested Tweets as a slice. Combines ids from the required ids argument and from params.Id. https://dev.twitter.com/rest/reference/get/statuses/lookup

func (*StatusService) OEmbed Uses

func (s *StatusService) OEmbed(params *StatusOEmbedParams) (*OEmbedTweet, *http.Response, error)

OEmbed returns the requested Tweet in oEmbed format. https://dev.twitter.com/rest/reference/get/statuses/oembed

func (*StatusService) Retweet Uses

func (s *StatusService) Retweet(id int64, params *StatusRetweetParams) (*Tweet, *http.Response, error)

Retweet retweets the Tweet with the given id and returns the original Tweet with embedded retweet details. Requires a user auth context. https://dev.twitter.com/rest/reference/post/statuses/retweet/%3Aid

func (*StatusService) Retweets Uses

func (s *StatusService) Retweets(id int64, params *StatusRetweetsParams) ([]Tweet, *http.Response, error)

Retweets returns the most recent retweets of the Tweet with the given id. https://dev.twitter.com/rest/reference/get/statuses/retweets/%3Aid

func (*StatusService) Show Uses

func (s *StatusService) Show(id int64, params *StatusShowParams) (*Tweet, *http.Response, error)

Show returns the requested Tweet. https://dev.twitter.com/rest/reference/get/statuses/show/%3Aid

func (*StatusService) Unretweet Uses

func (s *StatusService) Unretweet(id int64, params *StatusUnretweetParams) (*Tweet, *http.Response, error)

Unretweet unretweets the Tweet with the given id and returns the original Tweet. Requires a user auth context. https://dev.twitter.com/rest/reference/post/statuses/unretweet/%3Aid

func (*StatusService) Update Uses

func (s *StatusService) Update(status string, params *StatusUpdateParams) (*Tweet, *http.Response, error)

Update updates the user's status, also known as Tweeting. Requires a user auth context. https://dev.twitter.com/rest/reference/post/statuses/update

type StatusShowParams Uses

type StatusShowParams struct {
    ID               int64  `url:"id,omitempty"`
    TrimUser         *bool  `url:"trim_user,omitempty"`
    IncludeMyRetweet *bool  `url:"include_my_retweet,omitempty"`
    IncludeEntities  *bool  `url:"include_entities,omitempty"`
    TweetMode        string `url:"tweet_mode,omitempty"`
}

StatusShowParams are the parameters for StatusService.Show

type StatusUnretweetParams Uses

type StatusUnretweetParams struct {
    ID        int64  `url:"id,omitempty"`
    TrimUser  *bool  `url:"trim_user,omitempty"`
    TweetMode string `url:"tweet_mode,omitempty"`
}

StatusUnretweetParams are the parameters for StatusService.Unretweet

type StatusUpdateParams Uses

type StatusUpdateParams struct {
    Status             string   `url:"status,omitempty"`
    InReplyToStatusID  int64    `url:"in_reply_to_status_id,omitempty"`
    PossiblySensitive  *bool    `url:"possibly_sensitive,omitempty"`
    Lat                *float64 `url:"lat,omitempty"`
    Long               *float64 `url:"long,omitempty"`
    PlaceID            string   `url:"place_id,omitempty"`
    DisplayCoordinates *bool    `url:"display_coordinates,omitempty"`
    TrimUser           *bool    `url:"trim_user,omitempty"`
    MediaIds           []int64  `url:"media_ids,omitempty,comma"`
    TweetMode          string   `url:"tweet_mode,omitempty"`
}

StatusUpdateParams are the parameters for StatusService.Update

type StatusWithheld Uses

type StatusWithheld struct {
    ID                  int64    `json:"id"`
    UserID              int64    `json:"user_id"`
    WithheldInCountries []string `json:"withheld_in_countries"`
}

StatusWithheld indicates a Tweet with the given ID, belonging to UserId, has been withheld in certain countries. https://dev.twitter.com/streaming/overview/messages-types#withheld_content_notices

type Stream Uses

type Stream struct {
    Messages chan interface{}
    // contains filtered or unexported fields
}

Stream maintains a connection to the Twitter Streaming API, receives messages from the streaming response, and sends them on the Messages channel from a goroutine. The stream goroutine stops itself if an EOF is reached or retry errors occur, also closing the Messages channel.

The client must Stop() the stream when finished receiving, which will wait until the stream is properly stopped.

func (*Stream) Stop Uses

func (s *Stream) Stop()

Stop signals retry and receiver to stop, closes the Messages channel, and blocks until done.

type StreamDisconnect Uses

type StreamDisconnect struct {
    Code       int64  `json:"code"`
    StreamName string `json:"stream_name"`
    Reason     string `json:"reason"`
}

StreamDisconnect indicates the stream has been shutdown for some reason. https://dev.twitter.com/streaming/overview/messages-types#disconnect_messages

type StreamFilterParams Uses

type StreamFilterParams struct {
    FilterLevel   string   `url:"filter_level,omitempty"`
    Follow        []string `url:"follow,omitempty,comma"`
    Language      []string `url:"language,omitempty,comma"`
    Locations     []string `url:"locations,omitempty,comma"`
    StallWarnings *bool    `url:"stall_warnings,omitempty"`
    Track         []string `url:"track,omitempty,comma"`
}

StreamFilterParams are parameters for StreamService.Filter.

type StreamFirehoseParams Uses

type StreamFirehoseParams struct {
    Count         int      `url:"count,omitempty"`
    FilterLevel   string   `url:"filter_level,omitempty"`
    Language      []string `url:"language,omitempty,comma"`
    StallWarnings *bool    `url:"stall_warnings,omitempty"`
}

StreamFirehoseParams are the parameters for StreamService.Firehose.

type StreamLimit Uses

type StreamLimit struct {
    Track int64 `json:"track"`
}

StreamLimit indicates a stream matched more statuses than its rate limit allowed. The track number is the number of undelivered matches. https://dev.twitter.com/streaming/overview/messages-types#limit_notices

type StreamSampleParams Uses

type StreamSampleParams struct {
    StallWarnings *bool    `url:"stall_warnings,omitempty"`
    Language      []string `url:"language,omitempty,comma"`
}

StreamSampleParams are the parameters for StreamService.Sample.

type StreamService Uses

type StreamService struct {
    // contains filtered or unexported fields
}

StreamService provides methods for accessing the Twitter Streaming API.

func (*StreamService) Filter Uses

func (srv *StreamService) Filter(params *StreamFilterParams) (*Stream, error)

Filter returns messages that match one or more filter predicates. https://dev.twitter.com/streaming/reference/post/statuses/filter

func (*StreamService) Firehose Uses

func (srv *StreamService) Firehose(params *StreamFirehoseParams) (*Stream, error)

Firehose returns all public messages and statuses. Requires special permission to access. https://dev.twitter.com/streaming/reference/get/statuses/firehose

func (*StreamService) Sample Uses

func (srv *StreamService) Sample(params *StreamSampleParams) (*Stream, error)

Sample returns a small sample of public stream messages. https://dev.twitter.com/streaming/reference/get/statuses/sample

func (*StreamService) Site Uses

func (srv *StreamService) Site(params *StreamSiteParams) (*Stream, error)

Site returns messages for a set of users. Requires special permission to access. https://dev.twitter.com/streaming/reference/get/site

func (*StreamService) User Uses

func (srv *StreamService) User(params *StreamUserParams) (*Stream, error)

User returns a stream of messages specific to the authenticated User. https://dev.twitter.com/streaming/reference/get/user

type StreamSiteParams Uses

type StreamSiteParams struct {
    FilterLevel   string   `url:"filter_level,omitempty"`
    Follow        []string `url:"follow,omitempty,comma"`
    Language      []string `url:"language,omitempty,comma"`
    Replies       string   `url:"replies,omitempty"`
    StallWarnings *bool    `url:"stall_warnings,omitempty"`
    With          string   `url:"with,omitempty"`
}

StreamSiteParams are the parameters for StreamService.Site.

type StreamUserParams Uses

type StreamUserParams struct {
    FilterLevel   string   `url:"filter_level,omitempty"`
    Language      []string `url:"language,omitempty,comma"`
    Locations     []string `url:"locations,omitempty,comma"`
    Replies       string   `url:"replies,omitempty"`
    StallWarnings *bool    `url:"stall_warnings,omitempty"`
    Track         []string `url:"track,omitempty,comma"`
    With          string   `url:"with,omitempty"`
}

StreamUserParams are the parameters for StreamService.User.

type Subscribed Uses

type Subscribed struct {
    Lists             []List `json:"lists"`
    NextCursor        int64  `json:"next_cursor"`
    NextCursorStr     string `json:"next_cursor_str"`
    PreviousCursor    int64  `json:"previous_cursor"`
    PreviousCursorStr string `json:"previous_cursor_str"`
}

Subscribed is a cursored collection of lists the user is subscribed to.

type Subscribers Uses

type Subscribers struct {
    Users             []User `json:"users"`
    NextCursor        int64  `json:"next_cursor"`
    NextCursorStr     string `json:"next_cursor_str"`
    PreviousCursor    int64  `json:"previous_cursor"`
    PreviousCursorStr string `json:"previous_cursor_str"`
}

Subscribers is a cursored collection of users that subscribe to a list.

type SwitchDemux Uses

type SwitchDemux struct {
    All              func(message interface{})
    Tweet            func(tweet *Tweet)
    DM               func(dm *DirectMessage)
    StatusDeletion   func(deletion *StatusDeletion)
    LocationDeletion func(LocationDeletion *LocationDeletion)
    StreamLimit      func(limit *StreamLimit)
    StatusWithheld   func(statusWithheld *StatusWithheld)
    UserWithheld     func(userWithheld *UserWithheld)
    StreamDisconnect func(disconnect *StreamDisconnect)
    Warning          func(warning *StallWarning)
    FriendsList      func(friendsList *FriendsList)
    Event            func(event *Event)
    Other            func(message interface{})
}

SwitchDemux receives messages and uses a type switch to send each typed message to a handler function.

func NewSwitchDemux Uses

func NewSwitchDemux() SwitchDemux

NewSwitchDemux returns a new SwitchMux which has NoOp handler functions.

func (SwitchDemux) Handle Uses

func (d SwitchDemux) Handle(message interface{})

Handle determines the type of a message and calls the corresponding receiver function with the typed message. All messages are passed to the All func. Messages with unmatched types are passed to the Other func.

func (SwitchDemux) HandleChan Uses

func (d SwitchDemux) HandleChan(messages <-chan interface{})

HandleChan receives messages and calls the corresponding receiver function with the typed message. All messages are passed to the All func. Messages with unmatched type are passed to the Other func.

type TimelineService Uses

type TimelineService struct {
    // contains filtered or unexported fields
}

TimelineService provides methods for accessing Twitter status timeline API endpoints.

func (*TimelineService) HomeTimeline Uses

func (s *TimelineService) HomeTimeline(params *HomeTimelineParams) ([]Tweet, *http.Response, error)

HomeTimeline returns recent Tweets and retweets from the user and those users they follow. Requires a user auth context. https://dev.twitter.com/rest/reference/get/statuses/home_timeline

func (*TimelineService) MentionTimeline Uses

func (s *TimelineService) MentionTimeline(params *MentionTimelineParams) ([]Tweet, *http.Response, error)

MentionTimeline returns recent Tweet mentions of the authenticated user. Requires a user auth context. https://dev.twitter.com/rest/reference/get/statuses/mentions_timeline

func (*TimelineService) RetweetsOfMeTimeline Uses

func (s *TimelineService) RetweetsOfMeTimeline(params *RetweetsOfMeTimelineParams) ([]Tweet, *http.Response, error)

RetweetsOfMeTimeline returns the most recent Tweets by the authenticated user that have been retweeted by others. Requires a user auth context. https://dev.twitter.com/rest/reference/get/statuses/retweets_of_me

func (*TimelineService) UserTimeline Uses

func (s *TimelineService) UserTimeline(params *UserTimelineParams) ([]Tweet, *http.Response, error)

UserTimeline returns recent Tweets from the specified user. https://dev.twitter.com/rest/reference/get/statuses/user_timeline

type Trend Uses

type Trend struct {
    Name            string `json:"name"`
    URL             string `json:"url"`
    PromotedContent string `json:"promoted_content"`
    Query           string `json:"query"`
    TweetVolume     int64  `json:"tweet_volume"`
}

Trend represents a twitter trend.

type TrendsList Uses

type TrendsList struct {
    Trends    []Trend          `json:"trends"`
    AsOf      string           `json:"as_of"`
    CreatedAt string           `json:"created_at"`
    Locations []TrendsLocation `json:"locations"`
}

TrendsList represents a list of twitter trends.

type TrendsLocation Uses

type TrendsLocation struct {
    Name  string `json:"name"`
    WOEID int64  `json:"woeid"`
}

TrendsLocation represents a twitter trend location.

type TrendsPlaceParams Uses

type TrendsPlaceParams struct {
    WOEID   int64  `url:"id,omitempty"`
    Exclude string `url:"exclude,omitempty"`
}

TrendsPlaceParams are the parameters for Trends.Place.

type TrendsService Uses

type TrendsService struct {
    // contains filtered or unexported fields
}

TrendsService provides methods for accessing Twitter trends API endpoints.

func (*TrendsService) Available Uses

func (s *TrendsService) Available() ([]Location, *http.Response, error)

Available returns the locations that Twitter has trending topic information for. https://dev.twitter.com/rest/reference/get/trends/available

func (*TrendsService) Closest Uses

func (s *TrendsService) Closest(params *ClosestParams) ([]Location, *http.Response, error)

Closest returns the locations that Twitter has trending topic information for, closest to a specified location. https://dev.twitter.com/rest/reference/get/trends/closest

func (*TrendsService) Place Uses

func (s *TrendsService) Place(woeid int64, params *TrendsPlaceParams) ([]TrendsList, *http.Response, error)

Place returns the top 50 trending topics for a specific WOEID. https://dev.twitter.com/rest/reference/get/trends/place

type Tweet Uses

type Tweet struct {
    Coordinates          *Coordinates           `json:"coordinates"`
    CreatedAt            string                 `json:"created_at"`
    CurrentUserRetweet   *TweetIdentifier       `json:"current_user_retweet"`
    Entities             *Entities              `json:"entities"`
    FavoriteCount        int                    `json:"favorite_count"`
    Favorited            bool                   `json:"favorited"`
    FilterLevel          string                 `json:"filter_level"`
    ID                   int64                  `json:"id"`
    IDStr                string                 `json:"id_str"`
    InReplyToScreenName  string                 `json:"in_reply_to_screen_name"`
    InReplyToStatusID    int64                  `json:"in_reply_to_status_id"`
    InReplyToStatusIDStr string                 `json:"in_reply_to_status_id_str"`
    InReplyToUserID      int64                  `json:"in_reply_to_user_id"`
    InReplyToUserIDStr   string                 `json:"in_reply_to_user_id_str"`
    Lang                 string                 `json:"lang"`
    PossiblySensitive    bool                   `json:"possibly_sensitive"`
    QuoteCount           int                    `json:"quote_count"`
    ReplyCount           int                    `json:"reply_count"`
    RetweetCount         int                    `json:"retweet_count"`
    Retweeted            bool                   `json:"retweeted"`
    RetweetedStatus      *Tweet                 `json:"retweeted_status"`
    Source               string                 `json:"source"`
    Scopes               map[string]interface{} `json:"scopes"`
    Text                 string                 `json:"text"`
    FullText             string                 `json:"full_text"`
    DisplayTextRange     Indices                `json:"display_text_range"`
    Place                *Place                 `json:"place"`
    Truncated            bool                   `json:"truncated"`
    User                 *User                  `json:"user"`
    WithheldCopyright    bool                   `json:"withheld_copyright"`
    WithheldInCountries  []string               `json:"withheld_in_countries"`
    WithheldScope        string                 `json:"withheld_scope"`
    ExtendedEntities     *ExtendedEntity        `json:"extended_entities"`
    ExtendedTweet        *ExtendedTweet         `json:"extended_tweet"`
    QuotedStatusID       int64                  `json:"quoted_status_id"`
    QuotedStatusIDStr    string                 `json:"quoted_status_id_str"`
    QuotedStatus         *Tweet                 `json:"quoted_status"`
}

Tweet represents a Twitter Tweet, previously called a status. https://dev.twitter.com/overview/api/tweets

func (Tweet) CreatedAtTime Uses

func (t Tweet) CreatedAtTime() (time.Time, error)

CreatedAtTime returns the time a tweet was created.

type TweetCount Uses

type TweetCount struct {
    TimePeriod string `json:"timePeriod"`
    Count      int64  `json:"count"`
}

TweetCount represents a count of Tweets in the TimePeriod matching a search query.

type TweetIdentifier Uses

type TweetIdentifier struct {
    ID    int64  `json:"id"`
    IDStr string `json:"id_str"`
}

TweetIdentifier represents the id by which a Tweet can be identified.

type URLEntity Uses

type URLEntity struct {
    Indices     Indices `json:"indices"`
    DisplayURL  string  `json:"display_url"`
    ExpandedURL string  `json:"expanded_url"`
    URL         string  `json:"url"`
}

URLEntity represents a URL which has been parsed from text.

type User Uses

type User struct {
    ContributorsEnabled            bool          `json:"contributors_enabled"`
    CreatedAt                      string        `json:"created_at"`
    DefaultProfile                 bool          `json:"default_profile"`
    DefaultProfileImage            bool          `json:"default_profile_image"`
    Description                    string        `json:"description"`
    Email                          string        `json:"email"`
    Entities                       *UserEntities `json:"entities"`
    FavouritesCount                int           `json:"favourites_count"`
    FollowRequestSent              bool          `json:"follow_request_sent"`
    Following                      bool          `json:"following"`
    FollowersCount                 int           `json:"followers_count"`
    FriendsCount                   int           `json:"friends_count"`
    GeoEnabled                     bool          `json:"geo_enabled"`
    ID                             int64         `json:"id"`
    IDStr                          string        `json:"id_str"`
    IsTranslator                   bool          `json:"is_translator"`
    Lang                           string        `json:"lang"`
    ListedCount                    int           `json:"listed_count"`
    Location                       string        `json:"location"`
    Name                           string        `json:"name"`
    Notifications                  bool          `json:"notifications"`
    ProfileBackgroundColor         string        `json:"profile_background_color"`
    ProfileBackgroundImageURL      string        `json:"profile_background_image_url"`
    ProfileBackgroundImageURLHttps string        `json:"profile_background_image_url_https"`
    ProfileBackgroundTile          bool          `json:"profile_background_tile"`
    ProfileBannerURL               string        `json:"profile_banner_url"`
    ProfileImageURL                string        `json:"profile_image_url"`
    ProfileImageURLHttps           string        `json:"profile_image_url_https"`
    ProfileLinkColor               string        `json:"profile_link_color"`
    ProfileSidebarBorderColor      string        `json:"profile_sidebar_border_color"`
    ProfileSidebarFillColor        string        `json:"profile_sidebar_fill_color"`
    ProfileTextColor               string        `json:"profile_text_color"`
    ProfileUseBackgroundImage      bool          `json:"profile_use_background_image"`
    Protected                      bool          `json:"protected"`
    ScreenName                     string        `json:"screen_name"`
    ShowAllInlineMedia             bool          `json:"show_all_inline_media"`
    Status                         *Tweet        `json:"status"`
    StatusesCount                  int           `json:"statuses_count"`
    Timezone                       string        `json:"time_zone"`
    URL                            string        `json:"url"`
    UtcOffset                      int           `json:"utc_offset"`
    Verified                       bool          `json:"verified"`
    WithheldInCountries            []string      `json:"withheld_in_countries"`
    WithholdScope                  string        `json:"withheld_scope"`
}

User represents a Twitter User. https://dev.twitter.com/overview/api/users

type UserEntities Uses

type UserEntities struct {
    URL         Entities `json:"url"`
    Description Entities `json:"description"`
}

UserEntities contain Entities parsed from User url and description fields. https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/entities-object#mentions

type UserLookupParams Uses

type UserLookupParams struct {
    UserID          []int64  `url:"user_id,omitempty,comma"`
    ScreenName      []string `url:"screen_name,omitempty,comma"`
    IncludeEntities *bool    `url:"include_entities,omitempty"` // whether 'status' should include entities
}

UserLookupParams are the parameters for UserService.Lookup.

type UserSearchParams Uses

type UserSearchParams struct {
    Query           string `url:"q,omitempty"`
    Page            int    `url:"page,omitempty"` // 1-based page number
    Count           int    `url:"count,omitempty"`
    IncludeEntities *bool  `url:"include_entities,omitempty"` // whether 'status' should include entities
}

UserSearchParams are the parameters for UserService.Search.

type UserService Uses

type UserService struct {
    // contains filtered or unexported fields
}

UserService provides methods for accessing Twitter user API endpoints.

func (*UserService) Lookup Uses

func (s *UserService) Lookup(params *UserLookupParams) ([]User, *http.Response, error)

Lookup returns the requested Users as a slice. https://dev.twitter.com/rest/reference/get/users/lookup

func (*UserService) Search Uses

func (s *UserService) Search(query string, params *UserSearchParams) ([]User, *http.Response, error)

Search queries public user accounts. Requires a user auth context. https://dev.twitter.com/rest/reference/get/users/search

func (*UserService) Show Uses

func (s *UserService) Show(params *UserShowParams) (*User, *http.Response, error)

Show returns the requested User. https://dev.twitter.com/rest/reference/get/users/show

type UserShowParams Uses

type UserShowParams struct {
    UserID          int64  `url:"user_id,omitempty"`
    ScreenName      string `url:"screen_name,omitempty"`
    IncludeEntities *bool  `url:"include_entities,omitempty"` // whether 'status' should include entities
}

UserShowParams are the parameters for UserService.Show.

type UserTimelineParams Uses

type UserTimelineParams struct {
    UserID          int64  `url:"user_id,omitempty"`
    ScreenName      string `url:"screen_name,omitempty"`
    Count           int    `url:"count,omitempty"`
    SinceID         int64  `url:"since_id,omitempty"`
    MaxID           int64  `url:"max_id,omitempty"`
    TrimUser        *bool  `url:"trim_user,omitempty"`
    ExcludeReplies  *bool  `url:"exclude_replies,omitempty"`
    IncludeRetweets *bool  `url:"include_rts,omitempty"`
    TweetMode       string `url:"tweet_mode,omitempty"`
}

UserTimelineParams are the parameters for TimelineService.UserTimeline.

type UserWithheld Uses

type UserWithheld struct {
    ID                  int64    `json:"id"`
    WithheldInCountries []string `json:"withheld_in_countries"`
}

UserWithheld indicates a User with the given ID has been withheld in certain countries. https://dev.twitter.com/streaming/overview/messages-types#withheld_content_notices

type VideoInfo Uses

type VideoInfo struct {
    AspectRatio    [2]int         `json:"aspect_ratio"`
    DurationMillis int            `json:"duration_millis"`
    Variants       []VideoVariant `json:"variants"`
}

VideoInfo is available on video media objects.

type VideoVariant Uses

type VideoVariant struct {
    ContentType string `json:"content_type"`
    Bitrate     int    `json:"bitrate"`
    URL         string `json:"url"`
}

VideoVariant describes one of the available video formats.

Package twitter imports 10 packages (graph) and is imported by 81 packages. Updated 2019-07-19. Refresh now. Tools for package owners.