Documentation ¶
Index ¶
- func NodeToQueryString(nodes []Node) string
- func Prettify(t interface{}) string
- func Upload(f io.Reader, mediaType string) (string, error)
- type Account
- type AllValueTypes
- type CreateAccountOpts
- type CreatePageOpts
- type EditAccountInfoOpts
- type EditPageOpts
- type GetAccountInfoOpts
- type GetPageListOpts
- type GetPageOpts
- type GetViewsOpts
- type Node
- type NodeElement
- type Page
- type PageList
- type PageViews
- type RevokeAccessTokenOpts
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NodeToQueryString ¶
Types ¶
type Account ¶
type Account struct { ShortName string `json:"short_name"` AuthorName string `json:"author_name"` AuthorURL string `json:"author_url"` AccessToken string `json:"access_token"` AuthURL string `json:"auth_url"` PageCount int64 `json:"page_count"` }
Account implements the Account type of Telegraph API
func CreateAccount ¶
func CreateAccount(opts CreateAccountOpts) (acc *Account, err error)
CreateAccount using Telegraph API. Returns Account object
func EditAccountInfo ¶
func EditAccountInfo(opts EditAccountInfoOpts) (acc *Account, err error)
EditAccountInfo using Telegraph API. Returns Account object
func GetAccountInfo ¶
func GetAccountInfo(opts GetAccountInfoOpts) (acc *Account, err error)
GetAccountInfo using Telegraph API. Returns Account object
func RevokeAccessToken ¶
func RevokeAccessToken(opts RevokeAccessTokenOpts) (acc *Account, err error)
RevokeAccessToken using Telegraph API. Returns Account object
type AllValueTypes ¶
type AllValueTypes struct { ShortName string `json:"short_name"` AuthorName string `json:"author_name"` AuthorURL string `json:"author_url"` AccessToken string `json:"access_token"` AuthURL string `json:"auth_url"` PageCount int64 `json:"page_count"` TotalCount int64 `json:"total_count"` Pages []Page `json:"pages"` Path string `json:"path"` URL string `json:"url"` Title string `json:"title"` Description string `json:"description"` ImageURL string `json:"image_url"` Content []Node `json:"content"` Views int64 `json:"views"` CanEdit bool `json:"can_edit"` Tag string `json:"tag"` Attrs map[string]string `json:"attrs"` Children []Node `json:"children"` }
A way to set defaults to their zero types instead of nil Know a better way to do this?
func Get ¶
func Get(route string, opts interface{}) (*AllValueTypes, error)
func Post ¶
func Post(route string, opts interface{}) (*AllValueTypes, error)
type CreateAccountOpts ¶
type CreateAccountOpts struct { // Required. Account name, helps users with several accounts remember which they are currently using. Displayed to the user above the "Edit/Publish" button on Telegra.ph, other users don't see this name. ShortName string `json:"short_name"` // Optional. Default author name used when creating new articles. AuthorName string `json:"author_name"` // Optional. Default profile link, opened when users click on the author's name below the title. Can be any link, not necessarily to a Telegram profile or channel. AuthorURL string `json:"author_url"` }
CreateAccountOpts is the set of fields for 'Telegraph.CreateAccount'
type CreatePageOpts ¶
type CreatePageOpts struct { // Required. Access token of the Telegraph account. AccessToken string `json:"access_token"` // Required. Page title. Title string `json:"title"` // Optional. Author name, displayed below the article's title. AuthorName string `json:"author_name"` // Optional. Profile link, opened when users click on the author's name below the title. Can be any link, not necessarily to a Telegram profile or channel. AuthorURL string `json:"author_url"` // Required if Content is empty. Content of the page as HTML string. HTMLContent string `json:"html_content"` // Required. Content of the page. Content []Node `json:"content"` // Optional. If true, a content field will be returned in the Page object ReturnContent bool `json:"return_content"` }
CreatePageOpts is the set of fields for 'Telegraph.CreatePage'
type EditAccountInfoOpts ¶
type EditAccountInfoOpts struct { // Required. Access token of the Telegraph account. AccessToken string `json:"access_token"` // Optional. New account name. ShortName string `json:"short_name"` // Optional. New default author name used when creating new articles. AuthorName string `json:"author_name"` // Optional. New default profile link, opened when users click on the author's name below the title. Can be any link, not necessarily to a Telegram profile or channel. AuthorURL string `json:"author_url"` }
EditAccountInfoOpts is the set of fields for 'Telegraph.EditAccountInfo'
type EditPageOpts ¶
type EditPageOpts struct { // Required. Access token of the Telegraph account. AccessToken string `json:"access_token"` // Required. Path to the page. Path string `json:"path"` // Required. Page title. Title string `json:"title"` // Required if Content is empty. Content of the page as HTML string. HTMLContent string `json:"html_content"` // Required if HTMLContent is empty. Content of the page. Content []Node `json:"content"` // Optional. Author name, displayed below the article's title. AuthorName string `json:"author_name"` // Optional. Profile link, opened when users click on the author's name below the title. Can be any link, not necessarily to a Telegram profile or channel. AuthorURL string `json:"author_url"` // Optional. If true, a content field will be returned in the Page object. ReturnContent bool `json:"return_content"` }
EditPageOpts is the set of fields for 'Telegraph.EditPage'
type GetAccountInfoOpts ¶
type GetAccountInfoOpts struct { // Required. Access token of the Telegraph account. AccessToken string `json:"access_token"` // Optional. List of account fields to return. Available fields: short_name, author_name, author_url, auth_url, page_count. Fields []string `json:"fields"` }
GetAccountInfoOpts is the set of fields for 'Telegraph.GetAccountInfo'
type GetPageListOpts ¶
type GetPageListOpts struct { // Required. Access token of the Telegraph account. AccessToken string `json:"access_token"` // Optional. Sequential number of the first page to be returned. Offset int64 `json:"offset"` // Optional. Limits the number of pages to be retrieved. Limit int64 `json:"limit"` }
GetPageListOpts is the set of fields for 'Telegraph.GetPageList'
type GetPageOpts ¶
type GetPageOpts struct { // Required. Path to the Telegraph page (in the format Title-12-31, i.e. everything that comes after http://telegra.ph/). Path string `json:"path"` // Optional. If true, content field will be returned in Page object. ReturnContent bool `json:"return_content"` }
GetPageOpts is the set of fields for 'Telegraph.GetPage'
type GetViewsOpts ¶
type GetViewsOpts struct { // Required. Path to the Telegraph page (in the format Title-12-31, where 12 is the month and 31 the day the article was first published). Path string `json:"path"` // Required if month is passed. If passed, the number of page views for the requested year will be returned. Year int64 `json:"year"` // Required if day is passed. If passed, the number of page views for the requested month will be returned. Month int64 `json:"month"` // Required if hour is passed. If passed, the number of page views for the requested day will be returned. Day int64 `json:"day"` // Optional. If passed, the number of page views for the requested hour will be returned. Hour int64 `json:"hour"` }
GetViewsOpts is the set of fields for 'Telegraph.GetViews'
type Node ¶
type Node interface{}
Node implements the Node type of Telegraph API It can be a String or NodeElement object
func HTMLToNode ¶
type NodeElement ¶
type NodeElement struct { Tag string `json:"tag"` Attrs map[string]string `json:"attrs"` Children []Node `json:"children"` }
NodeElement implements the NodeElement type of Telegraph API
type Page ¶
type Page struct { Path string `json:"path"` URL string `json:"url"` Title string `json:"title"` Description string `json:"description"` AuthorName string `json:"author_name"` AuthorURL string `json:"author_url"` ImageURL string `json:"image_url"` Content []Node `json:"content"` Views int64 `json:"views"` CanEdit bool `json:"can_edit"` }
Page implements the Page type of Telegraph API
func CreatePage ¶
func CreatePage(opts CreatePageOpts) (page *Page, err error)
CreatePage using Telegraph API. Returns Page object
func EditPage ¶
func EditPage(opts EditPageOpts) (page *Page, err error)
EditPage using Telegraph API. Returns Page object
func GetPage ¶
func GetPage(opts GetPageOpts) (page *Page, err error)
GetPage using Telegraph API. Returns Page object
type PageList ¶
PageList implements the PageList type of Telegraph API
func GetPageList ¶
func GetPageList(opts GetPageListOpts) (pl *PageList, err error)
GetPageList using Telegraph API. Returns PageList object
type PageViews ¶
type PageViews struct {
Views int64 `json:"views"`
}
PageViews implements the PageViews type of Telegraph API
func GetViews ¶
func GetViews(opts GetViewsOpts) (views *PageViews, err error)
GetViews using Telegraph API. Returns PageViews object
type RevokeAccessTokenOpts ¶
type RevokeAccessTokenOpts struct { // Required. Access token of the Telegraph account. AccessToken string `json:"access_token"` }
RevokeAccessTokenOpts is the set of fields for 'Telegraph.RevokeAccessToken'