111 lines
3.5 KiB
Go
111 lines
3.5 KiB
Go
package twitter
|
|
|
|
// StatusDeletion indicates that a given Tweet has been deleted.
|
|
// https://dev.twitter.com/streaming/overview/messages-types#status_deletion_notices_delete
|
|
type StatusDeletion struct {
|
|
ID int64 `json:"id"`
|
|
IDStr string `json:"id_str"`
|
|
UserID int64 `json:"user_id"`
|
|
UserIDStr string `json:"user_id_str"`
|
|
}
|
|
|
|
type statusDeletionNotice struct {
|
|
Delete struct {
|
|
StatusDeletion *StatusDeletion `json:"status"`
|
|
} `json:"delete"`
|
|
}
|
|
|
|
// LocationDeletion indicates geolocation data must be stripped from a range
|
|
// of Tweets.
|
|
// https://dev.twitter.com/streaming/overview/messages-types#Location_deletion_notices_scrub_geo
|
|
type LocationDeletion struct {
|
|
UserID int64 `json:"user_id"`
|
|
UserIDStr string `json:"user_id_str"`
|
|
UpToStatusID int64 `json:"up_to_status_id"`
|
|
UpToStatusIDStr string `json:"up_to_status_id_str"`
|
|
}
|
|
|
|
type locationDeletionNotice struct {
|
|
ScrubGeo *LocationDeletion `json:"scrub_geo"`
|
|
}
|
|
|
|
// StreamLimit indicates a stream matched more statuses than its rate limit
|
|
// allowed. The track number is the number of undelivered matches.
|
|
// https://dev.twitter.com/streaming/overview/messages-types#limit_notices
|
|
type StreamLimit struct {
|
|
Track int64 `json:"track"`
|
|
}
|
|
|
|
type streamLimitNotice struct {
|
|
Limit *StreamLimit `json:"limit"`
|
|
}
|
|
|
|
// StatusWithheld indicates a Tweet with the given ID, belonging to UserId,
|
|
// has been withheld in certain countries.
|
|
// https://dev.twitter.com/streaming/overview/messages-types#withheld_content_notices
|
|
type StatusWithheld struct {
|
|
ID int64 `json:"id"`
|
|
UserID int64 `json:"user_id"`
|
|
WithheldInCountries []string `json:"withheld_in_countries"`
|
|
}
|
|
|
|
type statusWithheldNotice struct {
|
|
StatusWithheld *StatusWithheld `json:"status_withheld"`
|
|
}
|
|
|
|
// UserWithheld indicates a User with the given ID has been withheld in
|
|
// certain countries.
|
|
// https://dev.twitter.com/streaming/overview/messages-types#withheld_content_notices
|
|
type UserWithheld struct {
|
|
ID int64 `json:"id"`
|
|
WithheldInCountries []string `json:"withheld_in_countries"`
|
|
}
|
|
type userWithheldNotice struct {
|
|
UserWithheld *UserWithheld `json:"user_withheld"`
|
|
}
|
|
|
|
// StreamDisconnect indicates the stream has been shutdown for some reason.
|
|
// https://dev.twitter.com/streaming/overview/messages-types#disconnect_messages
|
|
type StreamDisconnect struct {
|
|
Code int64 `json:"code"`
|
|
StreamName string `json:"stream_name"`
|
|
Reason string `json:"reason"`
|
|
}
|
|
|
|
type streamDisconnectNotice struct {
|
|
StreamDisconnect *StreamDisconnect `json:"disconnect"`
|
|
}
|
|
|
|
// StallWarning indicates the client is falling behind in the stream.
|
|
// https://dev.twitter.com/streaming/overview/messages-types#stall_warnings
|
|
type StallWarning struct {
|
|
Code string `json:"code"`
|
|
Message string `json:"message"`
|
|
PercentFull int `json:"percent_full"`
|
|
}
|
|
|
|
type stallWarningNotice struct {
|
|
StallWarning *StallWarning `json:"warning"`
|
|
}
|
|
|
|
// FriendsList is a list of some of a user's friends.
|
|
// https://dev.twitter.com/streaming/overview/messages-types#friends_list_friends
|
|
type FriendsList struct {
|
|
Friends []int64 `json:"friends"`
|
|
}
|
|
|
|
type directMessageNotice struct {
|
|
DirectMessage *DirectMessage `json:"direct_message"`
|
|
}
|
|
|
|
// Event is a non-Tweet notification message (e.g. like, retweet, follow).
|
|
// https://dev.twitter.com/streaming/overview/messages-types#Events_event
|
|
type Event struct {
|
|
Event string `json:"event"`
|
|
CreatedAt string `json:"created_at"`
|
|
Target *User `json:"target"`
|
|
Source *User `json:"source"`
|
|
// TODO: add List or deprecate it
|
|
TargetObject *Tweet `json:"target_object"`
|
|
}
|