90 lines
3.5 KiB
Go
90 lines
3.5 KiB
Go
package discordrpc_presence
|
|
|
|
import (
|
|
discordrpc_client "seanime/internal/discordrpc/client"
|
|
"seanime/internal/hook_resolver"
|
|
)
|
|
|
|
// DiscordPresenceAnimeActivityRequestedEvent is triggered when anime activity is requested, after the [animeActivity] is processed, and right before the activity is sent to queue.
|
|
// There is no guarantee as to when or if the activity will be successfully sent to discord.
|
|
// Note that this event is triggered every 6 seconds or so, avoid heavy processing or perform it only when the activity is changed.
|
|
// Prevent default to stop the activity from being sent to discord.
|
|
type DiscordPresenceAnimeActivityRequestedEvent struct {
|
|
hook_resolver.Event
|
|
// Anime activity object used to generate the activity
|
|
AnimeActivity *AnimeActivity `json:"animeActivity"`
|
|
|
|
// Name of the activity
|
|
Name string `json:"name"`
|
|
// Details of the activity
|
|
Details string `json:"details"`
|
|
DetailsURL string `json:"detailsUrl"`
|
|
// State of the activity
|
|
State string `json:"state"`
|
|
// Timestamps of the activity
|
|
StartTimestamp *int64 `json:"startTimestamp"`
|
|
EndTimestamp *int64 `json:"endTimestamp"`
|
|
|
|
// Assets of the activity
|
|
LargeImage string `json:"largeImage"`
|
|
LargeText string `json:"largeText"`
|
|
LargeURL string `json:"largeUrl,omitempty"` // URL to large image, if any
|
|
SmallImage string `json:"smallImage"`
|
|
SmallText string `json:"smallText"`
|
|
SmallURL string `json:"smallUrl,omitempty"` // URL to small image, if any
|
|
|
|
// Buttons of the activity
|
|
Buttons []*discordrpc_client.Button `json:"buttons"`
|
|
|
|
// Whether the activity is an instance
|
|
Instance bool `json:"instance"`
|
|
// Type of the activity
|
|
Type int `json:"type"`
|
|
// StatusDisplayType controls formatting
|
|
StatusDisplayType int `json:"statusDisplayType,omitempty"`
|
|
}
|
|
|
|
// DiscordPresenceMangaActivityRequestedEvent is triggered when manga activity is requested, after the [mangaActivity] is processed, and right before the activity is sent to queue.
|
|
// There is no guarantee as to when or if the activity will be successfully sent to discord.
|
|
// Note that this event is triggered every 6 seconds or so, avoid heavy processing or perform it only when the activity is changed.
|
|
// Prevent default to stop the activity from being sent to discord.
|
|
type DiscordPresenceMangaActivityRequestedEvent struct {
|
|
hook_resolver.Event
|
|
// Manga activity object used to generate the activity
|
|
MangaActivity *MangaActivity `json:"mangaActivity"`
|
|
|
|
// Name of the activity
|
|
Name string `json:"name"`
|
|
// Details of the activity
|
|
Details string `json:"details"`
|
|
DetailsURL string `json:"detailsUrl"`
|
|
// State of the activity
|
|
State string `json:"state"`
|
|
// Timestamps of the activity
|
|
StartTimestamp *int64 `json:"startTimestamp"`
|
|
EndTimestamp *int64 `json:"endTimestamp"`
|
|
|
|
// Assets of the activity
|
|
LargeImage string `json:"largeImage"`
|
|
LargeText string `json:"largeText"`
|
|
LargeURL string `json:"largeUrl,omitempty"` // URL to large image, if any
|
|
SmallImage string `json:"smallImage"`
|
|
SmallText string `json:"smallText"`
|
|
SmallURL string `json:"smallUrl,omitempty"` // URL to small image, if any
|
|
|
|
// Buttons of the activity
|
|
Buttons []*discordrpc_client.Button `json:"buttons"`
|
|
|
|
// Whether the activity is an instance
|
|
Instance bool `json:"instance"`
|
|
// Type of the activity
|
|
Type int `json:"type"`
|
|
// StatusDisplayType controls formatting
|
|
StatusDisplayType int `json:"statusDisplayType,omitempty"`
|
|
}
|
|
|
|
// DiscordPresenceClientClosedEvent is triggered when the discord rpc client is closed.
|
|
type DiscordPresenceClientClosedEvent struct {
|
|
hook_resolver.Event
|
|
}
|