Versions in this module Expand all Collapse all v0 v0.4.0 Jun 15, 2026 Changes in this version + func EdgeHelp() string + type Edge string + const EdgeAuthor + const EdgeFollowers + const EdgeFollowing + const EdgeLiker + const EdgeLikes + const EdgeMention + const EdgePinned + const EdgeQuoted + const EdgeQuotedBy + const EdgeReplies + const EdgeReply + const EdgeRetweet + const EdgeRetweeter + const EdgeTimeline + func (e Edge) Target() NodeKind + type EdgeSet map[Edge]bool + func DefaultEdges() EdgeSet + func ParseEdges(spec string) (EdgeSet, error) + func (s EdgeSet) Has(e Edge) bool + func (s EdgeSet) List() []Edge + func (s EdgeSet) String() string type Engine + func (e *Engine) CanGraphQL() bool + func (e *Engine) Walk(ctx context.Context, seeds []Seed, opts WalkOptions, emit func(*Node) error) error + type Node struct + Depth int + Kind NodeKind + Parent string + Tweet *Tweet + User *User + Via Edge + func (n *Node) Endpoint() string + type NodeKind string + const KindTweet + const KindUser + type Seed struct + IsID bool + Kind NodeKind + Ref string + func ParseSeed(ref string) (Seed, error) type Store + func (s *Store) UpsertNode(n *Node) error + type WalkOptions struct + Depth int + Edges EdgeSet + Fanout int + Max int + Note func(string) + OnEdge func(src, dst string, edge Edge) + type Walker struct + func NewWalker(g grapher) *Walker + func (w *Walker) Walk(ctx context.Context, seeds []Seed, opts WalkOptions, emit func(*Node) error) error v0.3.1 Jun 14, 2026 v0.3.0 Jun 14, 2026 v0.2.1 Jun 14, 2026 v0.2.0 Jun 14, 2026 Changes in this version + type Domain struct + func (Domain) Classify(input string) (uriType, id string, err error) + func (Domain) Info() kit.DomainInfo + func (Domain) Locate(uriType, id string) (string, error) + func (Domain) Register(app *kit.App) v0.1.0 Jun 13, 2026 Changes in this version + const UserAgent + func ConfigPath() string + func ErrNeedAuth(msg string) error + func ErrNeedUser(msg string) error + func Export(s *Store, username, outDir string) (int, error) + func ForgetSession() error + func GuestStorePath() string + func ParseTweetRef(s string) (string, error) + func ParseUserRef(s string, forceID bool) (ref string, isID bool, err error) + func SaveSession(s Creds) error + func SessionStorePath() string + func TweetURL(author, id string) string + func UserURL(handle string) string + type Bucket struct + Count int + End time.Time + Start time.Time + type Cache struct + func NewCache(dir string, enabled bool) *Cache + func (c *Cache) Clear() error + func (c *Cache) Get(key string, ttl time.Duration) ([]byte, bool) + func (c *Cache) Put(key string, data []byte) + func (c *Cache) Size() (bytes int64, files int) + type Client struct + func NewClient(cfg Config) *Client + func (c *Client) Cache() *Cache + func (c *Client) Config() Config + func (c *Client) Do(ctx context.Context, r Req) ([]byte, error) + type Config struct + AllowGuest bool + AuthToken string + CT0 string + CacheDir string + DataDir string + Features string + NoCache bool + QueryIDs map[string]string + Rate time.Duration + Retries int + Store string + Tier string + Timeout time.Duration + func DefaultConfig() Config + func (c *Config) FromEnv() + func (c Config) HasSession() bool + type Creds struct + AuthToken string + CT0 string + Handle string + func LoadSession() (Creds, bool) + type Engine struct + func NewEngine(cfg Config) *Engine + func (e *Engine) Client() *Client + func (e *Engine) Config() Config + func (e *Engine) Followers(ctx context.Context, ref string, isID bool, limit int, emit func(*User) error) error + func (e *Engine) Following(ctx context.Context, ref string, isID bool, limit int, emit func(*User) error) error + func (e *Engine) GraphQL() *GraphQL + func (e *Engine) Likers(ctx context.Context, tweetID string, limit int, emit func(*User) error) error + func (e *Engine) Likes(ctx context.Context, ref string, isID bool, limit int, emit func(*Tweet) error) error + func (e *Engine) Retweeters(ctx context.Context, tweetID string, limit int, emit func(*User) error) error + func (e *Engine) Search(ctx context.Context, q SearchQuery, emit func(*Tweet) error) error + func (e *Engine) Thread(ctx context.Context, id string, limit int, emit func(*Tweet) error) error + func (e *Engine) Timeline(ctx context.Context, ref string, isID bool, o TimelineOpts, ...) error + func (e *Engine) Tweet(ctx context.Context, id string) (*Tweet, error) + func (e *Engine) User(ctx context.Context, ref string, isID bool) (*User, error) + type Entities struct + Cashtags []string + Hashtags []string + Mentions []string + URLs []string + type GraphQL struct + func NewGraphQL(c *Client, s *Session, cfg Config) *GraphQL + func (g *GraphQL) Bookmarks(ctx context.Context, limit int, emit func(*Tweet) error) error + func (g *GraphQL) Followers(ctx context.Context, userID string, limit int, emit func(*User) error) error + func (g *GraphQL) Following(ctx context.Context, userID string, limit int, emit func(*User) error) error + func (g *GraphQL) Home(ctx context.Context, limit int, emit func(*Tweet) error) error + func (g *GraphQL) Likers(ctx context.Context, tweetID string, limit int, emit func(*User) error) error + func (g *GraphQL) Likes(ctx context.Context, userID string, limit int, emit func(*Tweet) error) error + func (g *GraphQL) ListTweets(ctx context.Context, listID string, limit int, emit func(*Tweet) error) error + func (g *GraphQL) Retweeters(ctx context.Context, tweetID string, limit int, emit func(*User) error) error + func (g *GraphQL) Search(ctx context.Context, q SearchQuery, emit func(*Tweet) error) error + func (g *GraphQL) Thread(ctx context.Context, focalID string, limit int, emit func(*Tweet) error) error + func (g *GraphQL) TweetByID(ctx context.Context, id string) (*Tweet, error) + func (g *GraphQL) UserByName(ctx context.Context, handle string) (*User, error) + func (g *GraphQL) UserByRestID(ctx context.Context, id string) (*User, error) + func (g *GraphQL) UserTweets(ctx context.Context, userID string, o TimelineOpts, emit func(*Tweet) error) error + type HTTPError struct + Body string + RetryAfter time.Duration + Status int + URL string + func (e *HTTPError) Error() string + type List struct + CreatedAt time.Time + Description string + Followers int + ID string + Members int + Name string + Owner *User + Private bool + type Media struct + AltText string + Duration int + Height int + Key string + Preview string + Type string + URL string + Variants []Variant + ViewCount int + Width int + type Metrics struct + Bookmarks int + Impressions int + Likes int + Quotes int + Replies int + Retweets int + type NeedAuthError struct + Msg string + User bool + func (e *NeedAuthError) Error() string + type NotFoundError struct + Kind string + Ref string + func (e *NotFoundError) Error() string + type Place struct + Country string + CountryCode string + FullName string + ID string + Name string + PlaceType string + type Poll struct + DurationMin int + EndDateTime time.Time + ID string + Options []PollOption + VotingStatus string + type PollOption struct + Label string + Position int + Votes int + type QueueItem struct + Kind string + Target string + type RateLimitedError struct + Msg string + func (e *RateLimitedError) Error() string + type Req struct + Body []byte + CacheTTL time.Duration + Endpoint string + Header http.Header + Method string + URL string + type SearchQuery struct + Limit int + Product string + Raw string + type Session struct + AuthToken string + CT0 string + Handle string + func NewSession(cfg Config) *Session + func (s *Session) IsUser() bool + type Space struct + EndedAt time.Time + HostIDs []string + ID string + Lang string + Participants int + ScheduledStart time.Time + SpeakerIDs []string + StartedAt time.Time + State string + Subscribers int + Ticketed bool + Title string + Topics []string + type Store struct + func OpenStore(path string) (*Store, error) + func (s *Store) ClearQueue() error + func (s *Store) Close() error + func (s *Store) DB() *sql.DB + func (s *Store) Enqueue(target, kind string, priority int) error + func (s *Store) MarkDone(target string) error + func (s *Store) NextPending() (QueueItem, bool, error) + func (s *Store) QueueCounts() (map[string]int, error) + func (s *Store) Stats() (map[string]int, error) + func (s *Store) TweetsByAuthor(username string) ([]*Tweet, error) + func (s *Store) UpsertEdge(src, dst, kind string) error + func (s *Store) UpsertMedia(tweetID string, m Media) error + func (s *Store) UpsertTweet(t *Tweet) error + func (s *Store) UpsertUser(u *User) error + type TimelineOpts struct + Limit int + Media bool + Replies bool + type Trend struct + Location string + Name string + Query string + TweetVolume int + URL string + type TrendLocation struct + Country string + CountryCode string + Name string + ParentID int + PlaceType string + WOEID int + type Tweet struct + Author *User + ConversationID string + CreatedAt time.Time + Edits []string + Entities Entities + ID string + IsQuote bool + IsReply bool + IsRetweet bool + Lang string + Media []Media + Metrics Metrics + Place *Place + Poll *Poll + Provenance string + Quoted *Tweet + ReplySettings string + ReplyTo string + ReplyToUser string + Retweeted *Tweet + Sensitive bool + Source string + Text string + URL string + func ProfileTimeline(ctx context.Context, c *Client, handle string, _ int) ([]*Tweet, error) + func TweetByID(ctx context.Context, c *Client, id string) (*Tweet, error) + type User struct + CreatedAt time.Time + Description string + Entities Entities + ID string + Kind string + Location string + Metrics UserMetrics + Name string + PinnedTweet string + ProfileBanner string + ProfileImage string + Protected bool + Provenance string + URL string + Username string + Verified bool + VerifiedType string + func UserByNameSyndication(ctx context.Context, c *Client, handle string) (*User, error) + type UserMetrics struct + Followers int + Following int + Likes int + Listed int + Media int + Tweets int + type Variant struct + Bitrate int + ContentType string + URL string