use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GameDiscovery {
pub enabled: bool,
pub poll_interval_s: u64,
pub discord_rich_presence: DiscordRichPresence,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DiscordRichPresence {
pub enabled: bool,
pub enable_promo: bool,
pub display_profile: bool,
pub custom: Option<CustomDiscordRichPresence>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CustomDiscordRichPresence {
pub state: String,
pub details: String,
pub activity_type: CustomDiscordRichPresenceActivityType,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[allow(missing_docs)]
pub enum CustomDiscordRichPresenceActivityType {
Playing,
Watching,
Listening,
Competing,
}
impl Default for GameDiscovery {
fn default() -> Self {
Self {
enabled: true,
poll_interval_s: 20,
discord_rich_presence: DiscordRichPresence {
enabled: true,
enable_promo: true,
display_profile: true,
custom: None,
},
}
}
}