tgstat_go

package module
v0.0.0-...-ab94823 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2024 License: MIT Imports: 11 Imported by: 0

README

TGStat GO API Wrapper

LICENSE Go Go Report Card Godocs codecov

TGStat API written in Go

TGStat is service that collects information about different channels and chats

Installation

Make sure your project is using Go Modules (it will have a go.mod file in its root if it already is):

go mod init

Then, reference stripe-go in a Go program with import:

import (
	tgstat "github.com/helios-ag/tgstat-go"
	"github.com/helios-ag/tgstat-go/channels"
)

Run any of the normal go commands (build/install/test). The Go toolchain will resolve and fetch the stripe-go module automatically.

Alternatively, you can also explicitly go get the package into a project:

go get -u github.com/helios-ag/tgstat-go

Getting started

Step 1

Obtain key by authorizing on https://api.tgstat.ru/docs/ru/start/token.html

Step 2

After getting token, you must set token assigning it to tgstat.Token value.

Step 3

After setting you token, you can call, for example, method from channels package: channels.Get(context.Background(), "https://t.me/nim_ru")

Example below:

// example.go
package main

import (
	"context"
	"fmt"
	tgstat "github.com/helios-ag/tgstat-go"
	"github.com/helios-ag/tgstat-go/channels"
	"os"
)

func main() {
        ...

	tgstat.Token = "yourtoken"

	channelInfo, _, err := channels.Get(context.Background(), "https://t.me/nim_ru")

	if err != nil {
		fmt.Printf("error getting data: %v\n", err)
		os.Exit(1)
	}

	fmt.Print("Channel Info")
	...
	fmt.Printf("Title: %s\n", channelInfo.Response.Title)
	...
}
Step 4

Run example go build example.go

Examples

All examples available at examples repository

Available methods

Channels
Get Channel Info

Docs at: https://api.tgstat.ru/docs/ru/channels/get.html

func Get(ctx context.Context, channelId string)

Search among channels

Docs at: https://api.tgstat.ru/docs/ru/channels/search.html

func Search(ctx context.Context, request SearchRequest)

Get channel stat

Docs at: https://api.tgstat.ru/docs/ru/channels/search.html

func Search(ctx context.Context, request SearchRequest)

Get channel posts

Docs at: https://api.tgstat.ru/docs/ru/channels/posts.html

func Posts(ctx context.Context, request PostsRequest)

Get channel mentions

Docs at: https://api.tgstat.ru/docs/ru/channels/mentions.html

func Mentions(ctx context.Context, request ChannelMentionsRequest)

Get channel forwards

Docs at: https://api.tgstat.ru/docs/ru/channels/forwards.html

func (c Client) Forwards(ctx context.Context, request ChannelForwardRequest)

Get channel subscribers

Docs at: https://api.tgstat.ru/docs/ru/channels/subscribers.html

func Subscribers(ctx context.Context, request ChannelSubscribersRequest)

Get channel views

Docs at: https://api.tgstat.ru/docs/ru/channels/views.html

func Views(ctx context.Context, request ChannelViewsRequest)

Get channel average posts reach

Docs at: https://api.tgstat.ru/docs/ru/channels/avg-posts-reach.html

func AvgPostsReach(ctx context.Context, request ChannelViewsRequest)

Add channel

Docs at: https://api.tgstat.ru/docs/ru/channels/add.html

func Add(ctx context.Context, request ChannelAddRequest)

Get channel ERR rate

Docs at: https://api.tgstat.ru/channels/err

func Err(ctx context.Context, request ChannelViewsRequest)

Posts
Get post

Docs at: https://api.tgstat.ru/docs/ru/posts/get.html

func Get(ctx context.Context, postId string)

Post statistics

Docs at: https://api.tgstat.ru/docs/ru/posts/stat.html

func PostStat(ctx context.Context, request PostStatRequest)

Post search

Docs at: https://api.tgstat.ru/docs/ru/posts/search.html

func PostSearch(ctx context.Context, request PostSearchRequest)

and extended search

func PostSearchExtended(ctx context.Context, request PostSearchRequest)

Words
Mentions by period

Docs at: https://api.tgstat.ru/docs/ru/words/mentions-by-period.html

func MentionsByPeriod(ctx context.Context, request MentionPeriodRequest)

Mentions by channel

Docs at: https://api.tgstat.ru/words/mentions-by-channels

func MentionsByChannels(ctx context.Context, request MentionsByChannelRequest)

Database
Categories

Docs at: https://api.tgstat.ru/docs/ru/database/categories.html

func CategoriesGet(ctx context.Context, lang string)

Countries

Docs at: https://api.tgstat.ru/docs/ru/database/countries.html

func CountriesGet(ctx context.Context, lang string)

Languages

Docs at: https://api.tgstat.ru/docs/ru/database/languages.html

func LanguagesGet(ctx context.Context, lang string)

Usage
Statistics

Docs available at https://api.tgstat.ru/docs/ru/usage/stat.html

func Stat(ctx context.Context)

API Callback
Set Callback URl

Docs available at https://api.tgstat.ru/docs/ru/callback/set-callback-url.html

func SetCallback(ctx context.Context, callbackUrl string

Get Callback Info

Docs available at https://api.tgstat.ru/docs/ru/callback/get-callback-info.html

func GetCallbackInfo(ctx context.Context)

Subscribe to channel

Docs available at https://api.tgstat.ru/docs/ru/callback/subscribe-channel.html

func SubscribeChannel(ctx context.Context, request SubscribeChannelRequest)

Subscribe to word

Docs available at https://api.tgstat.ru/docs/ru/callback/subscribe-word.html

func SubscribeWord(ctx context.Context, request SubscribeWordRequest)

Subscriptions list

Docs available at https://api.tgstat.ru/docs/ru/callback/subscriptions-list.html

func SubscriptionsList(ctx context.Context, subscriptionsListRequest SubscriptionsListRequest)

Unsubscribe channel

Docs available at https://api.tgstat.ru/docs/ru/callback/unsubscribe.html

func Unsubscribe(ctx context.Context, subscriptionId string)

Documentation

Index

Constants

View Source
const (
	APIURL string = "https://api.tgstat.ru"
)

Variables

View Source
var NewRestRequest = func(c *Client, ctx context.Context, token, method, urlPath string, data map[string]string) (*http.Request, error) {
	uri := APIURL + urlPath

	if c == nil {
		return nil, errors.New("client not configured")
	}

	if c.Url != "" {
		uri = c.Url + urlPath
	}

	if data == nil {
		return nil, errors.New("data is not initialised")
	}

	if token == "" {
		return nil, errors.New("token not found")
	}

	data["token"] = token

	reqBodyData, _ := json.Marshal(data)

	if method == http.MethodGet {

		body := url.Values{}
		for key, value := range data {
			body.Add(key, value)
		}
		body.Add("token", token)
		uri += "?" + body.Encode()
		reqBodyData = nil
	}

	req, err := http.NewRequest(method, uri, bytes.NewReader(reqBodyData))

	if err != nil {
		return nil, err
	}

	req.Header.Set("Cache-Control", "no-cache")
	req.Header.Set("Content-Type", "application/json")

	req = req.WithContext(ctx)
	return req, nil
}
View Source
var Token string

Functions

func Bool

func Bool(b bool) *bool

func Int

func Int(v int) *int

func String

func String(v string) *string

func ValidateDate

func ValidateDate(date *string) error

func WithEndpoint

func WithEndpoint(endpoint string)

WithEndpoint configures a Client to use the specified API endpoint.

Types

type API

type API interface {
	NewRestRequest(ctx context.Context, token, method, urlPath string, data map[string]string) (*http.Request, error)
	Do(r *http.Request, v interface{}) (*http.Response, error)
}

func GetAPI

func GetAPI(options ...ClientOption) API

type APIs

type APIs struct {
	Api API
	// contains filtered or unexported fields
}

APIs are the currently supported endpoints.

type CallbackResponse

type CallbackResponse struct {
	Url                string `json:"url"`
	PendingUpdateCount int    `json:"pending_update_count"`
	LastErrorDate      int    `json:"last_error_date"`
	LastErrorMessage   string `json:"last_error_message"`
}

type Category

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

type CategoryResult

type CategoryResult struct {
	Status   string     `json:"status"`
	Response []Category `json:"response"`
}

type Channel

type Channel struct {
	ID                int    `json:"id"`
	Link              string `json:"link"`
	Username          string `json:"username"`
	Title             string `json:"title"`
	About             string `json:"about"`
	Image100          string `json:"image100"`
	Image640          string `json:"image640"`
	ParticipantsCount int    `json:"participants_count"`
}

type ChannelAddPending

type ChannelAddPending struct {
	Status string `json:"status"`
}

type ChannelAddSuccess

type ChannelAddSuccess struct {
	Status   string `json:"status"`
	Response struct {
		ChannelId int `json:"channelId"`
	} `json:"response,omitempty"`
}

type ChannelAvgReach

type ChannelAvgReach struct {
	Status   string                    `json:"status"`
	Response []ChannelAvgReachResponse `json:"response"`
}

type ChannelAvgReachResponse

type ChannelAvgReachResponse struct {
	Period        string  `json:"period"`
	AvgPostsReach float64 `json:"avg_posts_reach"`
}

type ChannelErr

type ChannelErr struct {
	Status   string               `json:"status"`
	Response []ChannelErrResponse `json:"response"`
}

type ChannelErrResponse

type ChannelErrResponse struct {
	Period string  `json:"period"`
	Err    float64 `json:"err"`
}

type ChannelForwards

type ChannelForwards struct {
	Status   string                  `json:"status"`
	Response ChannelForwardsResponse `json:"response"`
}

type ChannelForwardsExtended

type ChannelForwardsExtended struct {
	Status   string                          `json:"status"`
	Response ChannelForwardsResponseExtended `json:"response"`
}

type ChannelForwardsResponse

type ChannelForwardsResponse struct {
	Items []ForwardItem `json:"items"`
}

type ChannelForwardsResponseExtended

type ChannelForwardsResponseExtended struct {
	Items    []ForwardItem `json:"items"`
	Channels []Channel     `json:"channels"`
}

type ChannelMedia

type ChannelMedia struct {
	MediaType string `json:"media_type"`
	MimeType  string `json:"mime_type"`
	Size      int    `json:"size"`
}

type ChannelMentionsExtended

type ChannelMentionsExtended struct {
	Status   string                          `json:"status"`
	Response ChannelMentionsResponseExtended `json:"response"`
}

type ChannelMentionsResponse

type ChannelMentionsResponse struct {
	Items []MentionItem `json:"items"`
}

type ChannelMentionsResponseExtended

type ChannelMentionsResponseExtended struct {
	Items    []MentionItem `json:"items"`
	Channels []Channel     `json:"channels"`
}

type ChannelMentionsResult

type ChannelMentionsResult struct {
	Status   string                  `json:"status"`
	Response ChannelMentionsResponse `json:"response"`
}

type ChannelPostsResponse

type ChannelPostsResponse struct {
	Count      int                        `json:"count"`
	TotalCount int                        `json:"total_count"`
	Channel    Channel                    `json:"channel"`
	Items      []ChannelPostsResponseItem `json:"items"`
}

type ChannelPostsResponseItem

type ChannelPostsResponseItem struct {
	ID            int64        `json:"id"`
	Date          int          `json:"date"`
	Views         int          `json:"views"`
	Link          string       `json:"link"`
	ChannelID     int          `json:"channel_id"`
	ForwardedFrom string       `json:"forwarded_from"`
	IsDeleted     int          `json:"is_deleted"`
	Text          string       `json:"text"`
	Media         ChannelMedia `json:"media"`
}

type ChannelPostsResult

type ChannelPostsResult struct {
	Status   string               `json:"status"`
	Response ChannelPostsResponse `json:"response"`
}

type ChannelPostsWithChannelResponse

type ChannelPostsWithChannelResponse struct {
	Count      int                                   `json:"count"`
	TotalCount int                                   `json:"total_count"`
	Channel    Channel                               `json:"channel"`
	Items      []ChannelPostsWithChannelResponseItem `json:"items"`
}

type ChannelPostsWithChannelResponseItem

type ChannelPostsWithChannelResponseItem struct {
	ID            int64        `json:"id"`
	Date          int          `json:"date"`
	Views         int          `json:"views"`
	Link          string       `json:"link"`
	ChannelID     int          `json:"channel_id"`
	ForwardedFrom interface{}  `json:"forwarded_from"`
	IsDeleted     int          `json:"is_deleted"`
	Text          string       `json:"text"`
	Media         ChannelMedia `json:"media"`
}

type ChannelPostsWithChannelResult

type ChannelPostsWithChannelResult struct {
	Status   string                          `json:"status"`
	Response ChannelPostsWithChannelResponse `json:"response"`
}

type ChannelResponse

type ChannelResponse struct {
	Id                int         `json:"id"`
	Link              string      `json:"link"`
	Username          string      `json:"username"`
	Title             string      `json:"title"`
	About             string      `json:"about"`
	Category          string      `json:"category"`
	Country           string      `json:"country"`
	Language          string      `json:"Language"`
	Image100          string      `json:"image100"`
	Image640          string      `json:"image640"`
	ParticipantsCount int         `json:"participants_count"`
	TGStatRestriction interface{} `json:"tgstat_restrictions"`
}

type ChannelResponseResult

type ChannelResponseResult struct {
	Status   string          `json:"status"`
	Response ChannelResponse `json:"response"`
}

type ChannelSearch

type ChannelSearch struct {
	Count int                 `json:"count"`
	Items []ChannelSearchItem `json:"items"`
}

type ChannelSearchItem

type ChannelSearchItem struct {
	Id                int    `json:"id"`
	Link              string `json:"link"`
	Username          string `json:"username"`
	Title             string `json:"title"`
	About             string `json:"about"`
	Image100          string `json:"image100"`
	Image640          string `json:"image640"`
	ParticipantsCount int    `json:"participants_count"`
}

type ChannelSearchResult

type ChannelSearchResult struct {
	Status   string        `json:"status"`
	Response ChannelSearch `json:"response"`
}

type ChannelStatResponse

type ChannelStatResponse struct {
	Id                int     `json:"id"`
	Title             string  `json:"title"`
	Username          string  `json:"username"`
	ParticipantsCount int     `json:"participants_count"`
	AvgPostReach      int     `json:"avg_post_reach"`
	ErrPercent        float64 `json:"err_percent"`
	DailyReach        int     `json:"daily_reach"`
	CiIndex           float64 `json:"ci_index"`
}

type ChannelStatResult

type ChannelStatResult struct {
	Status   string              `json:"status"`
	Response ChannelStatResponse `json:"response"`
}

type ChannelSubscribers

type ChannelSubscribers struct {
	Status   string                       `json:"status"`
	Response []ChannelSubscribersResponse `json:"response"`
}

type ChannelSubscribersResponse

type ChannelSubscribersResponse struct {
	Period            string `json:"period"`
	ParticipantsCount uint   `json:"participants_count,string"`
}

type ChannelViews

type ChannelViews struct {
	Status   string                 `json:"status"`
	Response []ChannelViewsResponse `json:"response"`
}

type ChannelViewsResponse

type ChannelViewsResponse struct {
	Period     string  `json:"period"`
	ViewsCount float64 `json:"views_count"`
}

type Client

type Client struct {
	Url string
	// contains filtered or unexported fields
}

Client is a client to TG Stat API

var TGStatClient Client

func (*Client) Do

func (c *Client) Do(r *http.Request, v interface{}) (*http.Response, error)

Do perform an HTTP request against the API.

func (*Client) NewRestRequest

func (c *Client) NewRestRequest(ctx context.Context, token, method, urlPath string, data map[string]string) (*http.Request, error)

type ClientOption

type ClientOption func(*Client)

ClientOption is used to configure a Client.

type Country

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

type CountryResult

type CountryResult struct {
	Status   string    `json:"status"`
	Response []Country `json:"response"`
}

type ErrorResult

type ErrorResult struct {
	Status     string `json:"status"`
	Error      string `json:"error"`
	VerifyCode string `json:"verify_code"`
}

type Forward

type Forward []struct {
	PostID    string `json:"postId"`
	PostLink  string `json:"postLink"`
	PostDate  string `json:"postDate"`
	ChannelID int    `json:"channelId"`
}

type ForwardItem

type ForwardItem struct {
	ForwardID int    `json:"forwardId"`
	PostID    int64  `json:"postId"`
	PostLink  string `json:"postLink"`
	PostDate  int    `json:"postDate"`
	ChannelID int    `json:"channelId"`
}

type GetCallbackResponse

type GetCallbackResponse struct {
	Status   string           `json:"status"`
	Response CallbackResponse `json:"response"`
}

type Keyword

type Keyword struct {
	Q              string `json:"q"`
	StrongSearch   bool   `json:"strong_search"`
	MinusWords     string `json:"minus_words"`
	ExtendedSyntax bool   `json:"extended_syntax"`
	PeerTypes      string `json:"peer_types"`
}

type Language

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

type LanguageResult

type LanguageResult struct {
	Status   string     `json:"status"`
	Response []Language `json:"response"`
}

type Media

type Media struct {
	MediaType string `json:"media_type"`
	Caption   string `json:"caption"`
}

type Mention

type Mention struct {
	PostID    string `json:"postId,omitempty"`
	PostLink  string `json:"postLink,omitempty"`
	PostDate  string `json:"postDate,omitempty"`
	ChannelID int    `json:"channelId,omitempty"`
}

type MentionItem

type MentionItem struct {
	MentionID   int    `json:"mentionId"`
	MentionType string `json:"mentionType"`
	PostID      int64  `json:"postId"`
	PostLink    string `json:"postLink"`
	PostDate    int    `json:"postDate"`
	ChannelID   int    `json:"channelId"`
}

type PostResponse

type PostResponse struct {
	ID            int         `json:"id"`
	Date          int         `json:"date"`
	Views         int         `json:"views"`
	Link          string      `json:"link"`
	ChannelID     int         `json:"channel_id"`
	ForwardedFrom interface{} `json:"forwarded_from"`
	IsDeleted     int         `json:"is_deleted"`
	Text          string      `json:"text"`
	Media         `json:"media"`
}

type PostResult

type PostResult struct {
	Status   string       `json:"status"`
	Response PostResponse `json:"response"`
}

type PostSearchExtendedChannel

type PostSearchExtendedChannel struct {
	ID                int    `json:"id"`
	Link              string `json:"link"`
	Username          string `json:"username"`
	Title             string `json:"title"`
	About             string `json:"about"`
	Image100          string `json:"image100"`
	Image640          string `json:"image640"`
	ParticipantsCount int    `json:"participants_count"`
}

type PostSearchExtendedResponse

type PostSearchExtendedResponse struct {
	Count      int                              `json:"count"`
	TotalCount int                              `json:"total_count"`
	Items      []PostSearchExtendedResponseItem `json:"items"`
	Channels   []PostSearchExtendedChannel      `json:"channels"`
}

type PostSearchExtendedResponseItem

type PostSearchExtendedResponseItem struct {
	ID            int64       `json:"id"`
	Date          int         `json:"date"`
	Views         int         `json:"views"`
	Link          string      `json:"link"`
	ChannelID     int         `json:"channel_id"`
	ForwardedFrom interface{} `json:"forwarded_from"`
	IsDeleted     int         `json:"is_deleted"`
	Text          string      `json:"text"`
	Snippet       string      `json:"snippet"`
	Media         struct {
		MediaType string `json:"media_type"`
		MimeType  string `json:"mime_type"`
		Size      int    `json:"size"`
	} `json:"media"`
}

type PostSearchExtendedResult

type PostSearchExtendedResult struct {
	Status   string                     `json:"status"`
	Response PostSearchExtendedResponse `json:"response"`
}

type PostSearchResult

type PostSearchResult struct {
	Status   string                   `json:"status"`
	Response PostSearchResultResponse `json:"response"`
}

type PostSearchResultItem

type PostSearchResultItem struct {
	ID            int64       `json:"id"`
	Date          int         `json:"date"`
	Views         int         `json:"views"`
	Link          string      `json:"link"`
	ChannelID     int         `json:"channel_id"`
	ForwardedFrom interface{} `json:"forwarded_from"`
	IsDeleted     int         `json:"is_deleted"`
	Text          string      `json:"text"`
	Snippet       string      `json:"snippet"`
	Media         struct {
		MediaType string `json:"media_type"`
		MimeType  string `json:"mime_type"`
		Size      int    `json:"size"`
	} `json:"media"`
}

type PostSearchResultResponse

type PostSearchResultResponse struct {
	Count      int                    `json:"count"`
	TotalCount int                    `json:"total_count"`
	Items      []PostSearchResultItem `json:"items"`
}

type PostStatResponse

type PostStatResponse struct {
	ViewsCount    int       `json:"viewsCount"`
	ForwardsCount int       `json:"forwardsCount"`
	MentionsCount int       `json:"mentionsCount"`
	Forwards      []Forward `json:"forwards"`
	Mentions      []Mention `json:"mentions"`
	Views         []View    `json:"views"`
}

type PostStatResult

type PostStatResult struct {
	Status   string           `json:"status"`
	Response PostStatResponse `json:"response"`
}

type SetCallbackSuccessResult

type SetCallbackSuccessResult struct {
	Status string `json:"status"`
}

type SetCallbackVerificationResult

type SetCallbackVerificationResult struct {
	Status     string `json:"status"`
	Error      string `json:"error"`
	VerifyCode string `json:"verify_code"`
}

type StatResponse

type StatResponse struct {
	ServiceKey    string `json:"serviceKey"`
	Title         string `json:"title"`
	SpentChannels string `json:"spentChannels,omitempty"`
	SpentRequests string `json:"spentRequests"`
	ExpiredAt     int64  `json:"expiredAt"`
	SpentWords    string `json:"spentWords,omitempty"`
	SpentObjects  string `json:"spentObjects,omitempty"`
}

type StatResult

type StatResult struct {
	Status   string         `json:"status"`
	Response []StatResponse `json:"response"`
}

type Subscribe

type Subscribe struct {
	Status   string            `json:"status"`
	Response SubscribeResponse `json:"response"`
}

type SubscribeResponse

type SubscribeResponse struct {
	SubscriptionId int `json:"subscription_id"`
}

type Subscription

type Subscription struct {
	SubscriptionId int      `json:"subscription_id"`
	EventTypes     []string `json:"event_types"`
	Type           string   `json:"type"`
	Channel        Channel  `json:"channel,omitempty"`
	CreatedAt      int      `json:"created_at"`
	Keyword        Keyword  `json:"keyword,omitempty"`
}

type SubscriptionList

type SubscriptionList struct {
	Status   string                   `json:"status"`
	Response SubscriptionListResponse `json:"response"`
}

type SubscriptionListResponse

type SubscriptionListResponse struct {
	TotalCount    int            `json:"total_count"`
	Subscriptions []Subscription `json:"subscriptions"`
}

type SuccessResult

type SuccessResult struct {
	Status string `json:"status"`
}

type TGStatRestrictions

type TGStatRestrictions struct {
	RedLabel   bool `json:"red_label"`
	BlackLabel bool `json:"black_label"`
}

type View

type View struct {
	Date        string `json:"date"`
	ViewsGrowth int    `json:"viewsGrowth"`
}

type ViewItem

type ViewItem struct {
	Period     string `json:"period"`
	ViewsCount int    `json:"views_count"`
}

type WordsMentions

type WordsMentions struct {
	Status   string                `json:"status"`
	Response WordsMentionsResponse `json:"response"`
}

type WordsMentionsByChannel

type WordsMentionsByChannel struct {
	Status   string                         `json:"status"`
	Response WordsMentionsByChannelResponse `json:"response"`
}

type WordsMentionsByChannelChannel

type WordsMentionsByChannelChannel struct {
	ID                int    `json:"id"`
	Link              string `json:"link"`
	Username          string `json:"username"`
	Title             string `json:"title"`
	About             string `json:"about"`
	Image100          string `json:"image100"`
	Image640          string `json:"image640"`
	ParticipantsCount int    `json:"participants_count"`
}

type WordsMentionsByChannelItem

type WordsMentionsByChannelItem struct {
	ChannelID       int `json:"channel_id"`
	MentionsCount   int `json:"mentions_count"`
	ViewsCount      int `json:"views_count"`
	LastMentionDate int `json:"last_mention_date"`
}

type WordsMentionsByChannelResponse

type WordsMentionsByChannelResponse struct {
	Items    []WordsMentionsByChannelItem    `json:"items"`
	Channels []WordsMentionsByChannelChannel `json:"channels"`
}

type WordsMentionsResponse

type WordsMentionsResponse struct {
	Items []WordsMentionsResponseItem `json:"items"`
}

type WordsMentionsResponseItem

type WordsMentionsResponseItem struct {
	Period        string `json:"period"`
	MentionsCount int    `json:"mentions_count"`
	ViewsCount    int    `json:"views_count"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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