rapid

package
v0.0.0-...-baa49d7 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Following

type Following struct {
	ID              string `json:"rest_id"`
	Username        string `json:"screen_name"`
	Name            string `json:"name"`
	ProfileImageUrl string `json:"profile_image_url_https"`
	FollowersCount  int    `json:"followers_count"`
	FollowingCount  int    `json:"friends_count"`
	IsBlueVerified  bool   `json:"is_blue_verified"`
	CreatedAt       string `json:"created_at"`
}

type Rapid

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

func NewRapid

func NewRapid(apiKey string) *Rapid

func (*Rapid) GetTweetByTwitterID

func (m *Rapid) GetTweetByTwitterID(twitterID, cursor string) ([]*TweetContent, string, error)

func (*Rapid) GetTweetByTwitterIDV1

func (m *Rapid) GetTweetByTwitterIDV1(twitterID, cursor string) ([]*RapidTweetSummaryInfo, string, error)

func (Rapid) GetTweetDetailByID

func (m Rapid) GetTweetDetailByID(tweetID string) (*RapidTweetSummaryInfo, error)

func (*Rapid) GetTwitterFollowings

func (m *Rapid) GetTwitterFollowings(userID string) ([]Following, error)

func (Rapid) GetTwitterUserFromTweetID

func (m Rapid) GetTwitterUserFromTweetID(tweetID string, authPublicCode string) (*TwitterDetail, error)

func (Rapid) IsPostForFaucetAgent

func (m Rapid) IsPostForFaucetAgent(code string) (*TwitterDetail, error)

func (Rapid) IsPostForFaucetAgentBackup

func (m Rapid) IsPostForFaucetAgentBackup(code string) (*TwitterDetail, error)

func (*Rapid) SearchSpreadTwitterByUserName

func (m *Rapid) SearchSpreadTwitterByUserName(cursor, twitterUserName string) ([]*RapidTweetSummaryInfo, string, error)

type RapidSearchResponse

type RapidSearchResponse struct {
	Data *struct {
		SearchByRawQuery *struct {
			SearchTimeline *struct {
				Timeline *struct {
					Instructions []*struct {
						Type    string `json:"type"`
						Entries []*struct {
							Content *struct {
								EntryType   string `json:"entryType,omitempty"`
								CursorType  string `json:"cursorType,omitempty"`
								Value       string `json:"value,omitempty"`
								ItemContent *struct {
									TweetResults *struct {
										Result *struct {
											TypeName string `json:"__typename,omitempty"`
											Views    *struct {
												Count string `json:"count,omitempty"`
											} `json:"views,omitempty"`
											Core *struct {
												UserResults *struct {
													Results *struct {
														TwitterID      string `json:"rest_id,omitempty"`
														IsBlueVerified bool   `json:"is_blue_verified,omitempty"`
														Legacy         *struct {
															Name           string `json:"name,omitempty"`
															Username       string `json:"screen_name,omitempty"`
															ProfileUrl     string `json:"profile_image_url_https,omitempty"`
															FollowersCount uint   `json:"followers_count,omitempty"`
														} `json:"legacy,omitempty"`
													} `json:"result,omitempty"`
												} `json:"user_results,omitempty"`
											} `json:"core,omitempty"`
											Legacy *struct {
												Entities *struct {
													Hashtags []*struct {
														Text string `json:"text,omitempty"`
													} `json:"hashtags,omitempty"`
													UserMentions []*struct {
														ID         string `json:"id_str,omitempty"`
														ScreenName string `json:"screen_name,omitempty"`
													} `json:"user_mentions,omitempty"`
												} `json:"entities,omitempty"`
												UserID              string `json:"user_id_str,omitempty"`
												ID                  string `json:"id_str,omitempty"`
												CreatedAt           string `json:"created_at,omitempty"`
												FavoriteCount       int    `json:"favorite_count,omitempty"`
												QuoteCount          int    `json:"quote_count,omitempty"`
												ReplyCount          int    `json:"reply_count,omitempty"`
												RetweetCount        int    `json:"retweet_count,omitempty"`
												FullText            string `json:"full_text,omitempty"`
												InReplyToScreenName string `json:"in_reply_to_screen_name,omitempty"`
												InReplyToStatusID   string `json:"in_reply_to_status_id_str,omitempty"`
												InReplyToUserID     string `json:"in_reply_to_user_id_str,omitempty"`
											} `json:"legacy,omitempty"`
										} `json:"result,omitempty"`
									} `json:"tweet_results,omitempty"`
								} `json:"itemContent,omitempty"`
							} `json:"content,omitempty"`
						} `json:"entries,omitempty"`
					} `json:"instructions"`
				} `json:"timeline"`
			} `json:"search_timeline"`
		} `json:"search_by_raw_query"`
	} `json:"data"`
}

type RapidTweetDetailResponse

type RapidTweetDetailResponse struct {
	Data *struct {
		Conversation *struct {
			Instructions []*struct {
				Type    string `json:"type"`
				Entries []*struct {
					EntryId string `json:"entryId"`
					Content *struct {
						EntryType   string `json:"entryType,omitempty"`
						CursorType  string `json:"cursorType,omitempty"`
						Value       string `json:"value,omitempty"`
						ItemContent *struct {
							TweetResults *struct {
								Result *struct {
									TypeName string `json:"__typename,omitempty"`
									Views    *struct {
										Count string `json:"count,omitempty"`
									} `json:"views,omitempty"`
									Core *struct {
										UserResults *struct {
											Results *struct {
												TwitterID      string `json:"rest_id,omitempty"`
												IsBlueVerified bool   `json:"is_blue_verified,omitempty"`
												Legacy         *struct {
													Name           string `json:"name,omitempty"`
													Username       string `json:"screen_name,omitempty"`
													ProfileUrl     string `json:"profile_image_url_https,omitempty"`
													FollowersCount uint   `json:"followers_count,omitempty"`
												} `json:"legacy,omitempty"`
											} `json:"result,omitempty"`
										} `json:"user_results,omitempty"`
									} `json:"core,omitempty"`
									Legacy *struct {
										Entities *struct {
											Hashtags []*struct {
												Text string `json:"text,omitempty"`
											} `json:"hashtags,omitempty"`
											UserMentions []*struct {
												ID         string `json:"id_str,omitempty"`
												ScreenName string `json:"screen_name,omitempty"`
											} `json:"user_mentions,omitempty"`
										} `json:"entities,omitempty"`
										UserID              string `json:"user_id_str,omitempty"`
										ID                  string `json:"id_str,omitempty"`
										CreatedAt           string `json:"created_at,omitempty"`
										FavoriteCount       int    `json:"favorite_count,omitempty"`
										QuoteCount          int    `json:"quote_count,omitempty"`
										ReplyCount          int    `json:"reply_count,omitempty"`
										RetweetCount        int    `json:"retweet_count,omitempty"`
										BookmarkCount       int    `json:"bookmark_count,omitempty"`
										FullText            string `json:"full_text,omitempty"`
										InReplyToScreenName string `json:"in_reply_to_screen_name,omitempty"`
										InReplyToStatusID   string `json:"in_reply_to_status_id_str,omitempty"`
										InReplyToUserID     string `json:"in_reply_to_user_id_str,omitempty"`
									} `json:"legacy,omitempty"`
								} `json:"result,omitempty"`
							} `json:"tweet_results,omitempty"`
						} `json:"itemContent,omitempty"`
					} `json:"content,omitempty"`
				} `json:"entries,omitempty"`
			} `json:"instructions"`
		} `json:"threaded_conversation_with_injections_v2"`
	} `json:"data"`
}

type RapidTweetResponse

type RapidTweetResponse struct {
	Data *struct {
		User *struct {
			Result *struct {
				TimelineV2 *struct {
					Timeline *struct {
						Instructions []struct {
							Type    string `json:"type"`
							Entries []struct {
								EntryId   string `json:"entryId"`
								SortIndex string `json:"sortIndex"`
								Content   struct {
									EntryType  string `json:"entryType"`
									CursorType string `json:"cursorType,omitempty"`
									Value      string `json:"value,omitempty"`
									Items      []struct {
										EntryId string `json:"entryId"`
										Item    struct {
											ItemContent *TweetContent `json:"itemContent,omitempty"`
										} `json:"item"`
									} `json:"items,omitempty"`
									ItemContent *TweetContent `json:"itemContent,omitempty"`
								} `json:"content"`
							} `json:"entries"`
						} `json:"instructions"`
					} `json:"timeline"`
				} `json:"timeline_v2"`
			} `json:"result"`
		} `json:"user"`
	} `json:"data"`
}

type RapidTweetSummaryInfo

type RapidTweetSummaryInfo struct {
	Address               string
	TweetID               string
	ParentTweetID         string
	TwitterID             string
	TwitterName           string
	TwitterUsername       string
	TwitterAvatar         string
	TwitterFollowersCount uint
	FavoriteCount         int
	BookmarkCount         int
	QuoteCount            int
	ReplyCount            int
	RetweetCount          int
	ViewCount             string
	FullText              string
	PostedAt              time.Time
	UserMentions          []string
}

func (*RapidTweetSummaryInfo) IsMention

func (m *RapidTweetSummaryInfo) IsMention(username string) bool

type RapidUser

type RapidUser struct {
	ID uint `json:"id"`
}

type ResponseData

type ResponseData struct {
	Data struct {
		User struct {
			Result struct {
				Timeline struct {
					Timeline struct {
						Instructions []struct {
							Type    string `json:"type"`
							Entries []struct {
								EntryID   string `json:"entryId"`
								SortIndex string `json:"sortIndex"`
								Content   struct {
									EntryType   string `json:"entryType"`
									Value       string `json:"value"`
									CursorType  string `json:"cursorType"`
									ItemContent struct {
										ItemType    string `json:"itemType"`
										UserResults struct {
											Result struct {
												ID             string `json:"rest_id"`
												IsBlueVerified bool   `json:"is_blue_verified"`
												Legacy         struct {
													ScreenName      string `json:"screen_name"`
													Name            string `json:"name"`
													ProfileImageUrl string `json:"profile_image_url_https"`
													FollowersCount  int    `json:"followers_count"`
													FriendsCount    int    `json:"friends_count"`
													IsVerified      bool   `json:"verified"`
													CreatedAt       string `json:"created_at"`
												} `json:"legacy"`
											} `json:"result"`
										} `json:"user_results"`
									} `json:"itemContent"`
								} `json:"content"`
							} `json:"entries"`
						} `json:"instructions"`
					} `json:"timeline"`
				} `json:"timeline"`
			} `json:"result"`
		} `json:"user"`
	} `json:"data"`
}

type TweetContent

type TweetContent struct {
	ItemType     string `json:"itemType"`
	TweetResults *struct {
		Result *struct {
			RestID string `json:"rest_id"`
			Core   *struct {
				UserResults *struct {
					Result *struct {
						ID                         string   `json:"id"`
						RestID                     string   `json:"rest_id"`
						AffiliatesHighlightedLabel struct{} `json:"affiliates_highlighted_label"`
						HasGraduatedAccess         bool     `json:"has_graduated_access"`
						IsBlueVerified             bool     `json:"is_blue_verified"`
						ProfileImageShape          string   `json:"profile_image_shape"`
						Legacy                     *struct {
							CanDM                bool     `json:"can_dm"`
							CanMediaTag          bool     `json:"can_media_tag"`
							CreatedAt            string   `json:"created_at"`
							DefaultProfile       bool     `json:"default_profile"`
							DefaultProfileImage  bool     `json:"default_profile_image"`
							Description          string   `json:"description"`
							FastFollowersCount   int      `json:"fast_followers_count"`
							FavouritesCount      int      `json:"favourites_count"`
							FollowersCount       int      `json:"followers_count"`
							FriendsCount         int      `json:"friends_count"`
							ListedCount          int      `json:"listed_count"`
							MediaCount           int      `json:"media_count"`
							Name                 string   `json:"name"`
							ScreenName           string   `json:"screen_name"`
							StatusesCount        int      `json:"statuses_count"`
							Verified             bool     `json:"verified"`
							WithheldInCountries  []string `json:"withheld_in_countries"`
							ProfileImageURLHTTPS string   `json:"profile_image_url_https"`
						} `json:"legacy"`
					} `json:"result"`
				} `json:"user_results"`
			} `json:"core"`
			Card *struct {
				RestID string `json:"rest_id"`
				Legacy struct {
					Name string `json:"name"`
					URL  string `json:"url"`
				} `json:"legacy"`
			} `json:"card"`
			Legacy *struct {
				BookmarkCount     int    `json:"bookmark_count"`
				Bookmarked        bool   `json:"bookmarked"`
				CreatedAt         string `json:"created_at"`
				ConversationIDStr string `json:"conversation_id_str"`
				DisplayTextRange  []int  `json:"display_text_range"`
				Entities          *struct {
					UserMentions []struct {
						IDStr      string `json:"id_str"`
						Name       string `json:"name"`
						ScreenName string `json:"screen_name"`
						Indices    []int  `json:"indices"`
					} `json:"user_mentions"`
					URLs []struct {
						DisplayURL  string `json:"display_url"`
						ExpandedURL string `json:"expanded_url"`
						URL         string `json:"url"`
						Indices     []int  `json:"indices"`
					} `json:"urls"`
					Hashtags []struct {
						Indices []int  `json:"indices"`
						Text    string `json:"text"`
					} `json:"hashtags"`
					Symbols []struct{} `json:"symbols"`
				} `json:"entities"`
				FavoriteCount             int    `json:"favorite_count"`
				Favorited                 bool   `json:"favorited"`
				FullText                  string `json:"full_text"`
				IsQuoteStatus             bool   `json:"is_quote_status"`
				Lang                      string `json:"lang"`
				PossiblySensitive         bool   `json:"possibly_sensitive"`
				PossiblySensitiveEditable bool   `json:"possibly_sensitive_editable"`
				QuoteCount                int    `json:"quote_count"`
				ReplyCount                int    `json:"reply_count"`
				RetweetCount              int    `json:"retweet_count"`
				Retweeted                 bool   `json:"retweeted"`
				UserIDStr                 string `json:"user_id_str"`
				IDStr                     string `json:"id_str"`
			} `json:"legacy"`
		} `json:"result"`
	} `json:"tweet_results"`
}

type TwitterDetail

type TwitterDetail struct {
	TwitterID       string
	TwitterName     string
	TwitterUsername string
	TwitterAvatar   string
}

Jump to

Keyboard shortcuts

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