Versions in this module Expand all Collapse all v0 v0.3.7 Sep 28, 2025 v0.3.6 Sep 28, 2025 Changes in this version + const GetAllChannelsQuery + const GetChannelHotVideosQuery + const GetChannelQuery + const GetChannelWithVideosQuery + const GetChannelsQuery + const GetHotVideosQuery + const GetNewVideosQuery + const GetVideoQuery + const GetVideosQuery + func Example() + func ExampleBatchProcessing() + type API struct + Channels *ChannelService + Client *Client + Videos *VideoService + func New() *API + func NewWithConfig(baseURL, userAgent string, timeout time.Duration) *API + func (a *API) BulkFetchChannelData(ctx context.Context, channelIDs []string, videoLimit int) (map[string]*Channel, error) + func (a *API) GetAPIInfo() map[string]interface{} + func (a *API) Ping(ctx context.Context) error + func (a *API) SearchChannels(ctx context.Context, query string) ([]Channel, error) + func (a *API) SetTimeout(timeout time.Duration) + func (a *API) SetUserAgent(userAgent string) + type AdminUser struct + CreatedAt *time.Time + DisplayName string + Email string + ID string + UpdatedAt *time.Time + type Channel struct + AlwaysLive bool + Avatar string + CoverImage string + CreatedAt *time.Time + Creator *AdminUser + FeaturedVideo *Video + ID string + IsLive bool + LastUpload *time.Time + Links *ChannelLinks + LiveStreamVideo *Video + PlaylistOrder []string + Playlists []Playlist + Summary string + TextInfo string + Title string + TotalLikes float64 + TotalPlaylists float64 + TotalVideoViews float64 + TotalVideos float64 + UpdatedAt *time.Time + Videos []Video + type ChannelLinks struct + Facebook string + Gab string + Minds string + SubscribeStar string + Telegram string + Twitter string + Website string + type ChannelService struct + func NewChannelService(client *Client) *ChannelService + func (s *ChannelService) FetchAllChannelVideos(ctx context.Context, channelID string, batchSize int) ([]Video, error) + func (s *ChannelService) FetchAllChannelVideosWithLimit(ctx context.Context, channelID string, maxVideos, batchSize int) ([]Video, error) + func (s *ChannelService) GetAllChannels(ctx context.Context, offset, limit int) ([]Channel, error) + func (s *ChannelService) GetChannel(ctx context.Context, channelID string) (*Channel, error) + func (s *ChannelService) GetChannelHotVideos(ctx context.Context, channelID string, offset, limit int) ([]Video, error) + func (s *ChannelService) GetChannelVideos(ctx context.Context, channelID string, offset, limit int) ([]Video, error) + func (s *ChannelService) GetChannelWithVideos(ctx context.Context, params ChannelVideosParams) (*Channel, error) + type ChannelVideosParams struct + ChannelID string + IncludeLive bool + IncludeUnlisted bool + IncludeUnpublished bool + Limit int + Offset int + type ChannelsResponse struct + Channels []Channel + HasMore bool + TotalCount int + type Client struct + BaseURL string + HTTPClient *http.Client + UserAgent string + func NewClient() *Client + func NewClientWithConfig(baseURL, userAgent string, timeout time.Duration) *Client + func (c *Client) Execute(ctx context.Context, req *GraphQLRequest) (*GraphQLResponse, error) + func (c *Client) ExecuteWithResult(ctx context.Context, req *GraphQLRequest, result interface{}) error + type Comment struct + CreatedAt *time.Time + ID string + LikeCount float64 + Name string + Parent *Comment + Replies []Comment + UpdatedAt *time.Time + User *User + Video *Video + type GraphQLError struct + Extensions map[string]interface{} + Locations []GraphQLErrorLocation + Message string + Path []interface{} + func (e GraphQLError) Error() string + type GraphQLErrorLocation struct + Column int + Line int + type GraphQLRequest struct + Query string + Variables map[string]interface{} + type GraphQLResponse struct + Data json.RawMessage + Errors []GraphQLError + type Pagination struct + Limit int + Offset int + type Playlist struct + Channel *Channel + CreatedAt *time.Time + Creator *AdminUser + ID string + Image string + Summary string + Title string + TotalVideos float64 + UpdatedAt *time.Time + Videos []Video + type ShowInfo struct + Phone string + Times string + type Tag struct + CreatedAt *time.Time + ID string + Name string + UpdatedAt *time.Time + type Upload struct + CreatedAt *time.Time + Encoding string + ID string + Mimetype string + Name string + OriginalFilename string + Size int64 + UpdatedAt *time.Time + type User struct + CreatedAt *time.Time + DisplayName string + ID string + UpdatedAt *time.Time + type Video struct + AngerCount float64 + AudioUpload *Upload + Channel *Channel + CreatedAt *time.Time + Creator *AdminUser + DirectURL string + DisableComment bool + EmbedURL string + ID string + IsInWatchLater bool + LargeImage string + LastCommentAt *time.Time + LikeCount float64 + Live bool + LiveStreamUrl string + PlayCount float64 + PosterUpload *Upload + Published bool + PublishedAt *time.Time + ShowInfo *ShowInfo + Summary string + Tags []Tag + TimeWatched float64 + Title string + Unlisted bool + UpdatedAt *time.Time + VideoDuration float64 + VideoUpload *Upload + type VideoService struct + func NewVideoService(client *Client) *VideoService + func (s *VideoService) FetchAllHotVideos(ctx context.Context, batchSize int) ([]Video, error) + func (s *VideoService) FetchAllHotVideosWithLimit(ctx context.Context, maxVideos, batchSize int) ([]Video, error) + func (s *VideoService) FetchAllNewVideos(ctx context.Context, batchSize int) ([]Video, error) + func (s *VideoService) GetHotVideos(ctx context.Context, offset, limit int) ([]Video, error) + func (s *VideoService) GetNewVideos(ctx context.Context, offset, limit int) ([]Video, error) + func (s *VideoService) GetVideo(ctx context.Context, videoID string) (*Video, error) + func (s *VideoService) GetVideoAudioURL(video *Video) string + func (s *VideoService) GetVideoDownloadURL(video *Video) string + func (s *VideoService) GetVideoPosterURL(video *Video) string + func (s *VideoService) GetVideos(ctx context.Context, videoIDs []string) ([]Video, error) + type VideoView struct + Channel *Channel + CreatedAt *time.Time + ID string + IPAddress string + User *User + UserAgent string + Video *Video + ViewDuration float64 + type VideosResponse struct + HasMore bool + TotalCount int + Videos []Video + type Vote struct + Comment *Comment + CreatedAt *time.Time + ID string + Type string + UpdatedAt *time.Time + User *User + Video *Video + type VoteCount struct + AngerCount float64 + DislikeCount float64 + LikeCount float64