Documentation
¶
Overview ¶
Package mastodon provides functions and structs for accessing the mastodon API.
Index ¶
- Constants
- func Base64Encode(file *os.File) (string, error)
- func Base64EncodeFileName(filename string) (string, error)
- func String(v string) *string
- type Account
- type AccountSource
- type AppConfig
- type Application
- type Attachment
- type AttachmentMeta
- type AttachmentSize
- type Card
- type Client
- func (c *Client) AccountBlock(ctx context.Context, id ID) (*Relationship, error)
- func (c *Client) AccountFollow(ctx context.Context, id ID) (*Relationship, error)
- func (c *Client) AccountMute(ctx context.Context, id ID) (*Relationship, error)
- func (c *Client) AccountUnblock(ctx context.Context, id ID) (*Relationship, error)
- func (c *Client) AccountUnfollow(ctx context.Context, id ID) (*Relationship, error)
- func (c *Client) AccountUnmute(ctx context.Context, id ID) (*Relationship, error)
- func (c *Client) AccountUpdate(ctx context.Context, profile *Profile) (*Account, error)
- func (c *Client) AccountsSearch(ctx context.Context, q string, limit int64) ([]*Account, error)
- func (c *Client) AddPushSubscription(ctx context.Context, endpoint string, public ecdsa.PublicKey, shared []byte, ...) (*PushSubscription, error)
- func (c *Client) AddToList(ctx context.Context, list ID, accounts ...ID) error
- func (c *Client) Authenticate(ctx context.Context, username, password string) error
- func (c *Client) AuthenticateToken(ctx context.Context, authCode, redirectURI string) error
- func (c *Client) ClearNotifications(ctx context.Context) error
- func (c *Client) CreateList(ctx context.Context, title string) (*List, error)
- func (c *Client) DeleteConversation(ctx context.Context, id ID) error
- func (c *Client) DeleteList(ctx context.Context, id ID) error
- func (c *Client) DeleteStatus(ctx context.Context, id ID) error
- func (c *Client) DismissNotification(ctx context.Context, id ID) error
- func (c *Client) Favourite(ctx context.Context, id ID) (*Status, error)
- func (c *Client) FollowRemoteUser(ctx context.Context, uri string) (*Account, error)
- func (c *Client) FollowRequestAuthorize(ctx context.Context, id ID) error
- func (c *Client) FollowRequestReject(ctx context.Context, id ID) error
- func (c *Client) GetAccount(ctx context.Context, id ID) (*Account, error)
- func (c *Client) GetAccountCurrentUser(ctx context.Context) (*Account, error)
- func (c *Client) GetAccountFollowers(ctx context.Context, id ID, pg *Pagination) ([]*Account, error)
- func (c *Client) GetAccountFollowing(ctx context.Context, id ID, pg *Pagination) ([]*Account, error)
- func (c *Client) GetAccountLists(ctx context.Context, id ID) ([]*List, error)
- func (c *Client) GetAccountRelationships(ctx context.Context, ids []string) ([]*Relationship, error)
- func (c *Client) GetAccountStatuses(ctx context.Context, id ID, pg *Pagination) ([]*Status, error)
- func (c *Client) GetBlocks(ctx context.Context, pg *Pagination) ([]*Account, error)
- func (c *Client) GetConversations(ctx context.Context, pg *Pagination) ([]*Conversation, error)
- func (c *Client) GetFavouritedBy(ctx context.Context, id ID, pg *Pagination) ([]*Account, error)
- func (c *Client) GetFavourites(ctx context.Context, pg *Pagination) ([]*Status, error)
- func (c *Client) GetFollowRequests(ctx context.Context, pg *Pagination) ([]*Account, error)
- func (c *Client) GetInstance(ctx context.Context) (*Instance, error)
- func (c *Client) GetInstanceActivity(ctx context.Context) ([]*WeeklyActivity, error)
- func (c *Client) GetInstancePeers(ctx context.Context) ([]string, error)
- func (c *Client) GetList(ctx context.Context, id ID) (*List, error)
- func (c *Client) GetListAccounts(ctx context.Context, id ID) ([]*Account, error)
- func (c *Client) GetLists(ctx context.Context) ([]*List, error)
- func (c *Client) GetMutes(ctx context.Context, pg *Pagination) ([]*Account, error)
- func (c *Client) GetNotification(ctx context.Context, id ID) (*Notification, error)
- func (c *Client) GetNotifications(ctx context.Context, pg *Pagination) ([]*Notification, error)
- func (c *Client) GetPushSubscription(ctx context.Context) (*PushSubscription, error)
- func (c *Client) GetRebloggedBy(ctx context.Context, id ID, pg *Pagination) ([]*Account, error)
- func (c *Client) GetReports(ctx context.Context) ([]*Report, error)
- func (c *Client) GetStatus(ctx context.Context, id ID) (*Status, error)
- func (c *Client) GetStatusCard(ctx context.Context, id ID) (*Card, error)
- func (c *Client) GetStatusContext(ctx context.Context, id ID) (*Context, error)
- func (c *Client) GetTimelineDirect(ctx context.Context, pg *Pagination) ([]*Status, error)
- func (c *Client) GetTimelineHashtag(ctx context.Context, tag string, isLocal bool, pg *Pagination) ([]*Status, error)
- func (c *Client) GetTimelineHome(ctx context.Context, pg *Pagination) ([]*Status, error)
- func (c *Client) GetTimelineList(ctx context.Context, id ID, pg *Pagination) ([]*Status, error)
- func (c *Client) GetTimelineMedia(ctx context.Context, isLocal bool, pg *Pagination) ([]*Status, error)
- func (c *Client) GetTimelinePublic(ctx context.Context, isLocal bool, pg *Pagination) ([]*Status, error)
- func (c *Client) MarkConversationAsRead(ctx context.Context, id ID) error
- func (c *Client) NewWSClient() *WSClient
- func (c *Client) PostStatus(ctx context.Context, toot *Toot) (*Status, error)
- func (c *Client) Reblog(ctx context.Context, id ID) (*Status, error)
- func (c *Client) RemoveFromList(ctx context.Context, list ID, accounts ...ID) error
- func (c *Client) RemovePushSubscription(ctx context.Context) error
- func (c *Client) RenameList(ctx context.Context, id ID, title string) (*List, error)
- func (c *Client) Report(ctx context.Context, accountID ID, ids []ID, comment string) (*Report, error)
- func (c *Client) Search(ctx context.Context, q string, resolve bool) (*Results, error)
- func (c *Client) StreamingHashtag(ctx context.Context, tag string, isLocal bool) (chan Event, error)
- func (c *Client) StreamingList(ctx context.Context, id ID) (chan Event, error)
- func (c *Client) StreamingPublic(ctx context.Context, isLocal bool) (chan Event, error)
- func (c *Client) StreamingUser(ctx context.Context) (chan Event, error)
- func (c *Client) Unfavourite(ctx context.Context, id ID) (*Status, error)
- func (c *Client) Unreblog(ctx context.Context, id ID) (*Status, error)
- func (c *Client) UpdatePushSubscription(ctx context.Context, alerts *PushAlerts) (*PushSubscription, error)
- func (c *Client) UploadMedia(ctx context.Context, file string) (*Attachment, error)
- func (c *Client) UploadMediaFromMedia(ctx context.Context, media *Media) (*Attachment, error)
- func (c *Client) UploadMediaFromReader(ctx context.Context, reader io.Reader) (*Attachment, error)
- type Config
- type Context
- type Conversation
- type DeleteEvent
- type Emoji
- type ErrorEvent
- type Event
- type Field
- type History
- type ID
- type Instance
- type InstanceStats
- type List
- type Media
- type Mention
- type Notification
- type NotificationEvent
- type Pagination
- type Poll
- type PollOption
- type Profile
- type PushAlerts
- type PushSubscription
- type Relationship
- type Report
- type Results
- type Sbool
- type Status
- type Stream
- type Tag
- type Toot
- type Unixtime
- type UpdateEvent
- type WSClient
- func (c *WSClient) StreamingWSHashtag(ctx context.Context, tag string, isLocal bool) (chan Event, error)
- func (c *WSClient) StreamingWSList(ctx context.Context, id ID) (chan Event, error)
- func (c *WSClient) StreamingWSPublic(ctx context.Context, isLocal bool) (chan Event, error)
- func (c *WSClient) StreamingWSUser(ctx context.Context) (chan Event, error)
- type WeeklyActivity
Examples ¶
Constants ¶
const ( VisibilityPublic = "public" VisibilityUnlisted = "unlisted" VisibilityFollowersOnly = "private" VisibilityDirectMessage = "direct" )
Convenience constants for Toot.Visibility
Variables ¶
This section is empty.
Functions ¶
func Base64Encode ¶
Base64Encode returns the base64 data URI format string of the file.
func Base64EncodeFileName ¶
Base64EncodeFileName returns the base64 data URI format string of the file with the file name.
Types ¶
type Account ¶
type Account struct {
ID ID `json:"id"`
Username string `json:"username"`
Acct string `json:"acct"`
DisplayName string `json:"display_name"`
Locked bool `json:"locked"`
CreatedAt time.Time `json:"created_at"`
FollowersCount int64 `json:"followers_count"`
FollowingCount int64 `json:"following_count"`
StatusesCount int64 `json:"statuses_count"`
Note string `json:"note"`
URL string `json:"url"`
Avatar string `json:"avatar"`
AvatarStatic string `json:"avatar_static"`
Header string `json:"header"`
HeaderStatic string `json:"header_static"`
Emojis []Emoji `json:"emojis"`
Moved *Account `json:"moved"`
Fields []Field `json:"fields"`
Bot bool `json:"bot"`
}
Account hold information for mastodon account.
type AccountSource ¶
type AccountSource struct {
Privacy *string `json:"privacy"`
Sensitive *bool `json:"sensitive"`
Language *string `json:"language"`
Note *string `json:"note"`
Fields *[]Field `json:"fields"`
}
AccountSource is a Mastodon account profile field.
type AppConfig ¶
type AppConfig struct {
http.Client
Server string
ClientName string
// Where the user should be redirected after authorization (for no redirect, use urn:ietf:wg:oauth:2.0:oob)
RedirectURIs string
// This can be a space-separated list of items listed on the /settings/applications/new page of any Mastodon
// instance. "read", "write", and "follow" are top-level scopes that include all the permissions of the more
// specific scopes like "read:favourites", "write:statuses", and "write:follows".
Scopes string
// Optional.
Website string
}
AppConfig is a setting for registering applications.
type Application ¶
type Application struct {
ID ID `json:"id"`
RedirectURI string `json:"redirect_uri"`
ClientID string `json:"client_id"`
ClientSecret string `json:"client_secret"`
// AuthURI is not part of the Mastodon API; it is generated by go-mastodon.
AuthURI string `json:"auth_uri,omitempty"`
}
Application is mastodon application.
func RegisterApp ¶
func RegisterApp(ctx context.Context, appConfig *AppConfig) (*Application, error)
RegisterApp returns the mastodon application.
Example ¶
app, err := mastodon.RegisterApp(context.Background(), &mastodon.AppConfig{
Server: "https://mstdn.jp",
ClientName: "client-name",
Scopes: "read write follow",
Website: "https://github.com/cking/go-mastodon",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("client-id : %s\n", app.ClientID)
fmt.Printf("client-secret: %s\n", app.ClientSecret)
type Attachment ¶
type Attachment struct {
ID ID `json:"id"`
Type string `json:"type"`
URL string `json:"url"`
RemoteURL string `json:"remote_url"`
PreviewURL string `json:"preview_url"`
TextURL string `json:"text_url"`
Description string `json:"description"`
Meta AttachmentMeta `json:"meta"`
}
Attachment hold information for attachment.
type AttachmentMeta ¶
type AttachmentMeta struct {
Original AttachmentSize `json:"original"`
Small AttachmentSize `json:"small"`
}
AttachmentMeta holds information for attachment metadata.
type AttachmentSize ¶
type AttachmentSize struct {
Width int64 `json:"width"`
Height int64 `json:"height"`
Size string `json:"size"`
Aspect float64 `json:"aspect"`
}
AttachmentSize holds information for attatchment size.
type Card ¶
type Card struct {
URL string `json:"url"`
Title string `json:"title"`
Description string `json:"description"`
Image string `json:"image"`
Type string `json:"type"`
AuthorName string `json:"author_name"`
AuthorURL string `json:"author_url"`
ProviderName string `json:"provider_name"`
ProviderURL string `json:"provider_url"`
HTML string `json:"html"`
Width int64 `json:"width"`
Height int64 `json:"height"`
}
Card hold information for mastodon card.
type Client ¶
Client is a API client for mastodon.
Example ¶
c := mastodon.NewClient(&mastodon.Config{
Server: "https://mstdn.jp",
ClientID: "client-id",
ClientSecret: "client-secret",
})
err := c.Authenticate(context.Background(), "your-email", "your-password")
if err != nil {
log.Fatal(err)
}
timeline, err := c.GetTimelineHome(context.Background(), nil)
if err != nil {
log.Fatal(err)
}
for i := len(timeline) - 1; i >= 0; i-- {
fmt.Println(timeline[i])
}
func (*Client) AccountBlock ¶
AccountBlock block the account.
func (*Client) AccountFollow ¶
AccountFollow follow the account.
func (*Client) AccountMute ¶
AccountMute mute the account.
func (*Client) AccountUnblock ¶
AccountUnblock unblock the account.
func (*Client) AccountUnfollow ¶
AccountUnfollow unfollow the account.
func (*Client) AccountUnmute ¶
AccountUnmute unmute the account.
func (*Client) AccountUpdate ¶
AccountUpdate updates the information of the current user.
func (*Client) AccountsSearch ¶
AccountsSearch search accounts by query.
func (*Client) AddPushSubscription ¶
func (c *Client) AddPushSubscription(ctx context.Context, endpoint string, public ecdsa.PublicKey, shared []byte, alerts PushAlerts) (*PushSubscription, error)
AddPushSubscription adds a new push subscription.
func (*Client) AddToList ¶
AddToList adds accounts to a list.
Only accounts already followed by the user can be added to a list.
func (*Client) Authenticate ¶
Authenticate get access-token to the API.
func (*Client) AuthenticateToken ¶
AuthenticateToken logs in using a grant token returned by Application.AuthURI.
redirectURI should be the same as Application.RedirectURI.
func (*Client) ClearNotifications ¶
ClearNotifications clear notifications.
func (*Client) CreateList ¶
CreateList creates a new list with a given title.
func (*Client) DeleteConversation ¶
DeleteConversation delete the conversation specified by id.
func (*Client) DeleteList ¶
DeleteList removes a list.
func (*Client) DeleteStatus ¶
DeleteStatus delete the toot.
func (*Client) DismissNotification ¶
DismissNotification deletes a single notification.
func (*Client) Favourite ¶
Favourite is favourite the toot of id and return status of the favourite toot.
func (*Client) FollowRemoteUser ¶
FollowRemoteUser send follow-request.
func (*Client) FollowRequestAuthorize ¶
FollowRequestAuthorize is authorize the follow request of user with id.
func (*Client) FollowRequestReject ¶
FollowRequestReject is rejects the follow request of user with id.
func (*Client) GetAccount ¶
GetAccount return Account.
func (*Client) GetAccountCurrentUser ¶
GetAccountCurrentUser return Account of current user.
func (*Client) GetAccountFollowers ¶
func (c *Client) GetAccountFollowers(ctx context.Context, id ID, pg *Pagination) ([]*Account, error)
GetAccountFollowers return followers list.
func (*Client) GetAccountFollowing ¶
func (c *Client) GetAccountFollowing(ctx context.Context, id ID, pg *Pagination) ([]*Account, error)
GetAccountFollowing return following list.
func (*Client) GetAccountLists ¶
GetAccountLists returns the lists containing a given account.
func (*Client) GetAccountRelationships ¶
func (c *Client) GetAccountRelationships(ctx context.Context, ids []string) ([]*Relationship, error)
GetAccountRelationships return relationship for the account.
func (*Client) GetAccountStatuses ¶
GetAccountStatuses return statuses by specified accuont.
func (*Client) GetConversations ¶
func (c *Client) GetConversations(ctx context.Context, pg *Pagination) ([]*Conversation, error)
GetConversations return direct conversations.
func (*Client) GetFavouritedBy ¶
GetFavouritedBy returns the account list of the user who liked the toot of id.
func (*Client) GetFavourites ¶
GetFavourites return the favorite list of the current user.
func (*Client) GetFollowRequests ¶
GetFollowRequests return follow-requests.
func (*Client) GetInstance ¶
GetInstance return Instance.
func (*Client) GetInstanceActivity ¶
func (c *Client) GetInstanceActivity(ctx context.Context) ([]*WeeklyActivity, error)
GetInstanceActivity return instance activity.
func (*Client) GetInstancePeers ¶
GetInstancePeers return instance peers.
func (*Client) GetListAccounts ¶
GetListAccounts returns the accounts in a given list.
func (*Client) GetNotification ¶
GetNotification return notification.
func (*Client) GetNotifications ¶
func (c *Client) GetNotifications(ctx context.Context, pg *Pagination) ([]*Notification, error)
GetNotifications return notifications.
func (*Client) GetPushSubscription ¶
func (c *Client) GetPushSubscription(ctx context.Context) (*PushSubscription, error)
GetPushSubscription retrieves information about the active push subscription.
func (*Client) GetRebloggedBy ¶
GetRebloggedBy returns the account list of the user who reblogged the toot of id.
func (*Client) GetReports ¶
GetReports return report of the current user.
func (*Client) GetStatusCard ¶
GetStatusCard return status specified by id.
func (*Client) GetStatusContext ¶
GetStatusContext return status specified by id.
func (*Client) GetTimelineDirect ¶
GetTimelineDirect return statuses from direct timeline.
func (*Client) GetTimelineHashtag ¶
func (c *Client) GetTimelineHashtag(ctx context.Context, tag string, isLocal bool, pg *Pagination) ([]*Status, error)
GetTimelineHashtag return statuses from tagged timeline.
func (*Client) GetTimelineHome ¶
GetTimelineHome return statuses from home timeline.
func (*Client) GetTimelineList ¶
GetTimelineList return statuses from a list timeline.
func (*Client) GetTimelineMedia ¶
func (c *Client) GetTimelineMedia(ctx context.Context, isLocal bool, pg *Pagination) ([]*Status, error)
GetTimelineMedia return statuses from media timeline. NOTE: This is an experimental feature of pawoo.net.
func (*Client) GetTimelinePublic ¶
func (c *Client) GetTimelinePublic(ctx context.Context, isLocal bool, pg *Pagination) ([]*Status, error)
GetTimelinePublic return statuses from public timeline.
func (*Client) MarkConversationAsRead ¶
MarkConversationAsRead mark the conversation as read.
func (*Client) NewWSClient ¶
NewWSClient return WebSocket client.
func (*Client) PostStatus ¶
PostStatus post the toot.
func (*Client) RemoveFromList ¶
RemoveFromList removes accounts from a list.
func (*Client) RemovePushSubscription ¶
RemovePushSubscription deletes the active push subscription.
func (*Client) RenameList ¶
RenameList assigns a new title to a list.
func (*Client) Report ¶
func (c *Client) Report(ctx context.Context, accountID ID, ids []ID, comment string) (*Report, error)
Report reports the report
func (*Client) StreamingHashtag ¶
func (c *Client) StreamingHashtag(ctx context.Context, tag string, isLocal bool) (chan Event, error)
StreamingHashtag return channel to read events on tagged timeline.
func (*Client) StreamingList ¶
StreamingList return channel to read events on a list.
func (*Client) StreamingPublic ¶
StreamingPublic return channel to read events on public.
func (*Client) StreamingUser ¶
StreamingUser return channel to read events on home.
func (*Client) Unfavourite ¶
Unfavourite is unfavourite the toot of id and return status of the unfavourite toot.
func (*Client) Unreblog ¶
Unreblog is unreblog the toot of id and return status of the original toot.
func (*Client) UpdatePushSubscription ¶
func (c *Client) UpdatePushSubscription(ctx context.Context, alerts *PushAlerts) (*PushSubscription, error)
UpdatePushSubscription updates which type of notifications are sent for the active push subscription.
func (*Client) UploadMedia ¶
UploadMedia upload a media attachment from a file.
func (*Client) UploadMediaFromMedia ¶
UploadMediaFromMedia uploads a media attachment from a Media struct.
func (*Client) UploadMediaFromReader ¶
UploadMediaFromReader uploads a media attachment from a io.Reader.
type Context ¶
type Context struct {
Ancestors []*Status `json:"ancestors"`
Descendants []*Status `json:"descendants"`
}
Context hold information for mastodon context.
type Conversation ¶
type Conversation struct {
ID ID `json:"id"`
Accounts []*Account `json:"accounts"`
Unread bool `json:"unread"`
LastStatus *Status `json:"last_status"`
}
Conversation hold information for mastodon conversation.
type DeleteEvent ¶
type DeleteEvent struct{ ID ID }
DeleteEvent is struct for passing deletion event to app.
type Emoji ¶
type Emoji struct {
ShortCode string `json:"shortcode"`
StaticURL string `json:"static_url"`
URL string `json:"url"`
VisibleInPicker bool `json:"visible_in_picker"`
}
Emoji hold information for CustomEmoji.
type ErrorEvent ¶
type ErrorEvent struct {
// contains filtered or unexported fields
}
ErrorEvent is struct for passing errors to app.
func (*ErrorEvent) Error ¶
func (e *ErrorEvent) Error() string
type Event ¶
type Event interface {
// contains filtered or unexported methods
}
Event is interface passing events to app.
type Field ¶
type Field struct {
Name string `json:"name"`
Value string `json:"value"`
VerifiedAt time.Time `json:"verified_at"`
}
Field is a Mastodon account profile field.
type History ¶
type History struct {
Day string `json:"day"`
Uses string `json:"uses"`
Accounts string `json:"accounts"`
}
History hold information for history.
type Instance ¶
type Instance struct {
URI string `json:"uri"`
Title string `json:"title"`
Description string `json:"description"`
EMail string `json:"email"`
Version string `json:"version,omitempty"`
Thumbnail string `json:"thumbnail,omitempty"`
URLs map[string]string `json:"urls,omitempty"`
Stats *InstanceStats `json:"stats,omitempty"`
Languages []string `json:"languages"`
ContactAccount *Account `json:"contact_account"`
}
Instance hold information for mastodon instance.
type InstanceStats ¶
type InstanceStats struct {
UserCount int64 `json:"user_count"`
StatusCount int64 `json:"status_count"`
DomainCount int64 `json:"domain_count"`
}
InstanceStats hold information for mastodon instance stats.
type Mention ¶
type Mention struct {
URL string `json:"url"`
Username string `json:"username"`
Acct string `json:"acct"`
ID ID `json:"id"`
}
Mention hold information for mention.
type Notification ¶
type Notification struct {
ID ID `json:"id"`
Type string `json:"type"`
CreatedAt time.Time `json:"created_at"`
Account Account `json:"account"`
Status *Status `json:"status"`
}
Notification hold information for mastodon notification.
type NotificationEvent ¶
type NotificationEvent struct {
Notification *Notification `json:"notification"`
}
NotificationEvent is struct for passing notification event to app.
type Pagination ¶
Pagination is a struct for specifying the get range.
Example ¶
c := mastodon.NewClient(&mastodon.Config{
Server: "https://mstdn.jp",
ClientID: "client-id",
ClientSecret: "client-secret",
})
var followers []*mastodon.Account
var pg mastodon.Pagination
for {
fs, err := c.GetAccountFollowers(context.Background(), "1", &pg)
if err != nil {
log.Fatal(err)
}
followers = append(followers, fs...)
if pg.MaxID == "" {
break
}
time.Sleep(10 * time.Second)
}
for _, f := range followers {
fmt.Println(f.Acct)
}
type Poll ¶
type Poll struct {
ID ID `json:"id"`
ExpiresAt time.Time `json:"expires_at"`
Expired bool `json:"expired"`
Multiple bool `json:"multiple"`
VotesCount int64 `json:"votes_count"`
Options []PollOption `json:"options"`
Voted bool `json:"voted"`
}
Poll hold information for mastodon polls.
type PollOption ¶
Poll hold information for a mastodon poll option.
type Profile ¶
type Profile struct {
// If it is nil it will not be updated.
// If it is empty, update it with empty.
DisplayName *string
Note *string
Locked *bool
Fields *[]Field
Source *AccountSource
// Set the base64 encoded character string of the image.
Avatar string
Header string
}
Profile is a struct for updating profiles.
type PushAlerts ¶
type PushSubscription ¶
type PushSubscription struct {
ID ID `json:"id"`
Endpoint string `json:"endpoint"`
ServerKey string `json:"server_key"`
Alerts *PushAlerts `json:"alerts"`
}
type Relationship ¶
type Relationship struct {
ID ID `json:"id"`
Following bool `json:"following"`
FollowedBy bool `json:"followed_by"`
Blocking bool `json:"blocking"`
Muting bool `json:"muting"`
MutingNotifications bool `json:"muting_notifications"`
Requested bool `json:"requested"`
DomainBlocking bool `json:"domain_blocking"`
ShowingReblogs bool `json:"showing_reblogs"`
Endorsed bool `json:"endorsed"`
}
Relationship hold information for relation-ship to the account.
type Status ¶
type Status struct {
ID ID `json:"id"`
URI string `json:"uri"`
URL string `json:"url"`
Account Account `json:"account"`
InReplyToID interface{} `json:"in_reply_to_id"`
InReplyToAccountID interface{} `json:"in_reply_to_account_id"`
Reblog *Status `json:"reblog"`
Content string `json:"content"`
CreatedAt time.Time `json:"created_at"`
Emojis []Emoji `json:"emojis"`
RepliesCount int64 `json:"replies_count"`
ReblogsCount int64 `json:"reblogs_count"`
FavouritesCount int64 `json:"favourites_count"`
Reblogged interface{} `json:"reblogged"`
Favourited interface{} `json:"favourited"`
Muted interface{} `json:"muted"`
Sensitive bool `json:"sensitive"`
SpoilerText string `json:"spoiler_text"`
Visibility string `json:"visibility"`
MediaAttachments []Attachment `json:"media_attachments"`
Mentions []Mention `json:"mentions"`
Tags []Tag `json:"tags"`
Card *Card `json:"card"`
Poll *Poll `json:"poll"`
Application Application `json:"application"`
Language string `json:"language"`
Pinned interface{} `json:"pinned"`
}
Status is struct to hold status.
type Stream ¶
type Stream struct {
Event string `json:"event"`
Payload interface{} `json:"payload"`
}
Stream is a struct of data that flows in streaming.
type Tag ¶
type Tag struct {
Name string `json:"name"`
URL string `json:"url"`
History []History `json:"history"`
}
Tag hold information for tag.
type Toot ¶
type Toot struct {
Status string `json:"status"`
InReplyToID ID `json:"in_reply_to_id"`
MediaIDs []ID `json:"media_ids"`
Sensitive bool `json:"sensitive"`
SpoilerText string `json:"spoiler_text"`
Visibility string `json:"visibility"`
ScheduledAt *time.Time `json:"scheduled_at,omitempty"`
}
Toot is struct to post status.
type Unixtime ¶
func (*Unixtime) UnmarshalJSON ¶
type UpdateEvent ¶
type UpdateEvent struct {
Status *Status `json:"status"`
}
UpdateEvent is struct for passing status event to app.
type WSClient ¶
WSClient is a WebSocket client.
func (*WSClient) StreamingWSHashtag ¶
func (c *WSClient) StreamingWSHashtag(ctx context.Context, tag string, isLocal bool) (chan Event, error)
StreamingWSHashtag return channel to read events on tagged timeline using WebSocket.
func (*WSClient) StreamingWSList ¶
StreamingWSList return channel to read events on a list using WebSocket.
func (*WSClient) StreamingWSPublic ¶
StreamingWSPublic return channel to read events on public using WebSocket.