twitter

package
v0.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 24, 2021 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIClient

type APIClient interface {
	Get(uri string, values interface{}) ([]byte, int, error)
	Post(uri string, values interface{}) ([]byte, int, error)
}

type BoundingBox

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

type Client

type Client struct {
	APIClient APIClient

	TimelineService *TimelineService
	StatusService   *StatusService
}

func NewClient

func NewClient(config *Config) *Client

type Config

type Config struct {
	ConsumerApiKey    string `mapstructure:"consumer_api_key"`
	ConsumerApiSecret string `mapstructure:"consumer_api_secret"`
	AccessToken       string `mapstructure:"access_token"`
	AccessSecret      string `mapstructure:"access_secret"`
}

func LoadConfigFromViper

func LoadConfigFromViper() (*Config, error)

type Coordinates

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

type HomeTimelineParams

type HomeTimelineParams struct {
	Count           int  `url:"count,omitempty"`
	SinceID         int  `url:"since_id,omitempty"`
	MaxID           int  `url:"max_id,omitempty"`
	TrimUser        bool `url:"trim_user,omitempty"`
	ExcludeReplies  bool `url:"exclude_replies,omitempty"`
	IncludeEntities bool `url:"include_entities,omitempty"`
}

https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-home_timeline#parameters

type Place

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"`
}

type StatusService

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

func (*StatusService) UpdateStatus

func (serv *StatusService) UpdateStatus(params *UpdateStatusParams) (*Tweet, error)

type TimelineService

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

func (*TimelineService) GetHomeTimeline

func (serv *TimelineService) GetHomeTimeline(params *HomeTimelineParams) ([]*Tweet, error)

type Tweet

type Tweet struct {
	CreatedAt           string      `json:"created_at"`
	ID                  int         `json:"id"`
	Text                string      `json:"text"`
	Source              string      `json:"source"`
	Truncated           bool        `json:"truncated"`
	InReplyToStatusID   int         `json:"in_reply_to_status_id"`
	InReplyToUserID     int         `json:"in_reply_to_user_id"`
	InReplyToScreenName string      `json:"in_reply_to_screen_name"`
	User                User        `json:"user"`
	Coordinates         Coordinates `json:"coordinates"`
	Place               Place       `json:"place"`
	QuotedStatusID      int         `json:"quoted_status_id"`
	IsQuoteStatus       bool        `json:"is_quote_status"`
	QuotedStatus        *Tweet      `json:"quoted_status"`
	RetweetedStatus     *Tweet      `json:"retweeted_status"`
	QuoteCount          int         `json:"quote_count"`
	ReplyCount          int         `json:"reply_count"`
	RetweetCount        int         `json:"retweet_count"`
	FavoriteCount       int         `json:"favorite_count"`
	Favorited           bool        `json:"favorited"`
	Retweeted           bool        `json:"retweeted"`
	PossiblySensitive   bool        `json:"possibly_sensitive"`
	Lang                string      `json:"lang"`
}

func (*Tweet) CreatedAtTime

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

type UpdateStatusParams

type UpdateStatusParams struct {
	Status                    string  `url:"status"`
	InReplyToStatusID         int     `url:"in_reply_to_status_id,omitempty"`
	AutoPopulateReplyMetadata bool    `url:"auto_populate_reply_metadata,omitempty"`
	ExcludeReplyUserIDs       []int   `url:"exclude_reply_user_ids,omitempty"`
	AttachmentUrl             string  `url:"attachment_url,omitempty"`
	MediaIDs                  []int   `url:"media_ids,omitempty"`
	PossiblySensitive         bool    `url:"possibly_sensitive,omitempty"`
	Lat                       float32 `url:"lat,omitempty"`
	Long                      float32 `url:"long,omitempty"`
	PlaceID                   string  `url:"place_id,omitempty"`
	DisplayCoordinates        bool    `url:"display_coordinates,omitempty"`
	TrimUser                  bool    `url:"trim_user,omitempty"`
	EnableDmcommands          bool    `url:"enable_dmcommands,omitempty"`
	FailDmcommands            bool    `url:"fail_dmcommands,omitempty"`
	CardUri                   string  `url:"card_uri,omitempty"`
}

https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-statuses-update

type User

type User struct {
	ID         int    `json:"id"`
	Name       string `json:"name"`
	ScreenName string `json:"screen_name"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL