# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: steammessages_parental.steamclient.proto
# plugin: python-betterproto
# Last updated 10/08/2022

from dataclasses import dataclass

import betterproto

from .msg import UnifiedMessage


class EProfileCustomizationType(betterproto.Enum):
    Invalid = 0
    RareAchievementShowcase = 1
    GameCollector = 2
    ItemShowcase = 3
    TradeShowcase = 4
    Badges = 5
    FavoriteGame = 6
    ScreenshotShowcase = 7
    CustomText = 8
    FavoriteGroup = 9
    Recommendation = 10
    WorkshopItem = 11
    MyWorkshop = 12
    ArtworkShowcase = 13
    VideoShowcase = 14
    Guides = 15
    MyGuides = 16
    Achievements = 17
    Greenlight = 18
    MyGreenlight = 19
    Salien = 20
    LoyaltyRewardReactions = 21
    SingleArtworkShowcase = 22
    AchievementsCompletionist = 23


class EBanContentCheckResult(betterproto.Enum):
    NotScanned = 0
    Reset = 1
    NeedsChecking = 2
    VeryUnlikely = 5
    Unlikely = 30
    Possible = 50
    Likely = 75
    VeryLikely = 100


class EProfileCustomizationStyle(betterproto.Enum):
    Default = 0
    Selected = 1
    Rarest = 2
    MostRecent = 3
    Random = 4
    HighestRated = 5


class EAgreementType(betterproto.Enum):
    Invalid = -1
    GlobalSSA = 0
    ChinaSSA = 1


class ENotificationSetting(betterproto.Enum):
    UseDefault = 0
    Always = 1
    Never = 2


class ETextFilterSetting(betterproto.Enum):
    SteamLabOptedOut = 0
    Enabled = 1
    EnabledAllowProfanity = 2
    Disabled = 3


class GetMutualFriendsForIncomingInvitesRequest(UnifiedMessage, um_name="Player.GetMutualFriendsForIncomingInvites"):
    pass


@dataclass(eq=False, repr=False)
class IncomingInviteMutualFriendList(betterproto.Message):
    steamid: int = betterproto.fixed64_field(1)
    mutual_friend_account_ids: list[int] = betterproto.uint32_field(2)


class GetMutualFriendsForIncomingInvitesResponse(UnifiedMessage, um_name="Player.GetMutualFriendsForIncomingInvites"):
    incoming_invite_mutual_friends_lists: "list[IncomingInviteMutualFriendList]" = betterproto.message_field(1)


class GetOwnedGamesRequest(UnifiedMessage, um_name="Player.GetOwnedGames"):
    steamid: int = betterproto.uint64_field(1)
    include_appinfo: bool = betterproto.bool_field(2)
    include_played_free_games: bool = betterproto.bool_field(3)
    appids_filter: list[int] = betterproto.uint32_field(4)
    include_free_sub: bool = betterproto.bool_field(5)
    skip_unvetted_apps: bool = betterproto.bool_field(6)


class GetOwnedGamesResponse(UnifiedMessage, um_name="Player.GetOwnedGames"):
    game_count: int = betterproto.uint32_field(1)
    games: "list[GetOwnedGamesResponseGame]" = betterproto.message_field(2)


@dataclass(eq=False, repr=False)
class GetOwnedGamesResponseGame(betterproto.Message):
    appid: int = betterproto.int32_field(1)
    name: str = betterproto.string_field(2)
    playtime_2_weeks: int = betterproto.int32_field(3)
    playtime_forever: int = betterproto.int32_field(4)
    img_icon_url: str = betterproto.string_field(5)
    has_community_visible_stats: bool = betterproto.bool_field(7)
    playtime_windows_forever: int = betterproto.int32_field(8)
    playtime_mac_forever: int = betterproto.int32_field(9)
    playtime_linux_forever: int = betterproto.int32_field(10)
    rtime_last_played: int = betterproto.uint32_field(11)
    capsule_filename: str = betterproto.string_field(12)
    sort_as: str = betterproto.string_field(13)
    has_workshop: bool = betterproto.bool_field(14)
    has_market: bool = betterproto.bool_field(15)
    has_dlc: bool = betterproto.bool_field(16)
    has_leaderboards: bool = betterproto.bool_field(17)
    content_descriptorids: list[int] = betterproto.uint32_field(18)


class GetPlayNextRequest(UnifiedMessage, um_name="Player.GetPlayNext"):
    max_age_seconds: int = betterproto.uint32_field(1)
    ignore_appids: list[int] = betterproto.uint32_field(2)


class GetPlayNextResponse(UnifiedMessage, um_name="Player.GetPlayNext"):
    last_update_time: int = betterproto.uint32_field(1)
    appids: list[int] = betterproto.uint32_field(2)


class GetFriendsGameplayInfoRequest(UnifiedMessage, um_name="Player.GetFriendsGameplayInfo"):
    appid: int = betterproto.uint32_field(1)


class GetFriendsGameplayInfoResponse(UnifiedMessage, um_name="Player.GetFriendsGameplayInfo"):
    your_info: "GetFriendsGameplayInfoResponseOwnGameplayInfo" = betterproto.message_field(1)
    in_game: "list[GetFriendsGameplayInfoResponseFriendsGameplayInfo]" = betterproto.message_field(2)
    played_recently: "list[GetFriendsGameplayInfoResponseFriendsGameplayInfo]" = betterproto.message_field(3)
    played_ever: "list[GetFriendsGameplayInfoResponseFriendsGameplayInfo]" = betterproto.message_field(4)
    owns: "list[GetFriendsGameplayInfoResponseFriendsGameplayInfo]" = betterproto.message_field(5)
    in_wishlist: "list[GetFriendsGameplayInfoResponseFriendsGameplayInfo]" = betterproto.message_field(6)


@dataclass(eq=False, repr=False)
class GetFriendsGameplayInfoResponseFriendsGameplayInfo(betterproto.Message):
    steamid: int = betterproto.fixed64_field(1)
    minutes_played: int = betterproto.uint32_field(2)
    minutes_played_forever: int = betterproto.uint32_field(3)


@dataclass(eq=False, repr=False)
class GetFriendsGameplayInfoResponseOwnGameplayInfo(betterproto.Message):
    steamid: int = betterproto.fixed64_field(1)
    minutes_played: int = betterproto.uint32_field(2)
    minutes_played_forever: int = betterproto.uint32_field(3)
    in_wishlist: bool = betterproto.bool_field(4)
    owned: bool = betterproto.bool_field(5)


class GetFriendsAppsActivityRequest(UnifiedMessage, um_name="Player.GetFriendsAppsActivity"):
    news_language: str = betterproto.string_field(1)
    request_flags: int = betterproto.uint32_field(2)


class GetFriendsAppsActivityResponse(UnifiedMessage, um_name="Player.GetFriendsAppsActivity"):
    trending: "list[GetFriendsAppsActivityResponseAppFriendsInfo]" = betterproto.message_field(1)
    recent_purchases: "list[GetFriendsAppsActivityResponseAppFriendsInfo]" = betterproto.message_field(2)
    unowned: "list[GetFriendsAppsActivityResponseAppFriendsInfo]" = betterproto.message_field(3)
    popular: "list[GetFriendsAppsActivityResponseAppFriendsInfo]" = betterproto.message_field(4)
    dont_forget: "list[GetFriendsAppsActivityResponseAppFriendsInfo]" = betterproto.message_field(5)
    being_discussed: "list[GetFriendsAppsActivityResponseAppFriendsInfo]" = betterproto.message_field(6)
    new_to_group: "list[GetFriendsAppsActivityResponseAppFriendsInfo]" = betterproto.message_field(7)
    returned_to_group: "list[GetFriendsAppsActivityResponseAppFriendsInfo]" = betterproto.message_field(8)
    active_friend_count: int = betterproto.uint32_field(9)


@dataclass(eq=False, repr=False)
class GetFriendsAppsActivityResponseFriendPlayTime(betterproto.Message):
    steamid: int = betterproto.fixed64_field(1)
    minutes_played_this_week: int = betterproto.uint32_field(2)
    minutes_played_two_weeks: int = betterproto.uint32_field(3)
    minutes_played_forever: int = betterproto.uint32_field(4)
    event_count: int = betterproto.uint32_field(5)


@dataclass(eq=False, repr=False)
class GetFriendsAppsActivityResponseAppFriendsInfo(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    friends: "list[GetFriendsAppsActivityResponseFriendPlayTime]" = betterproto.message_field(2)
    display_order: int = betterproto.uint32_field(3)


class GetGameBadgeLevelsRequest(UnifiedMessage, um_name="Player.GetGameBadgeLevels"):
    appid: int = betterproto.uint32_field(1)


class GetGameBadgeLevelsResponse(UnifiedMessage, um_name="Player.GetGameBadgeLevels"):
    player_level: int = betterproto.uint32_field(1)
    badges: "list[GetGameBadgeLevelsResponseBadge]" = betterproto.message_field(2)


@dataclass(eq=False, repr=False)
class GetGameBadgeLevelsResponseBadge(betterproto.Message):
    level: int = betterproto.int32_field(1)
    series: int = betterproto.int32_field(2)
    border_color: int = betterproto.uint32_field(3)


class GetProfileBackgroundRequest(UnifiedMessage, um_name="Player.GetProfileBackground"):
    steamid: int = betterproto.fixed64_field(1)
    language: str = betterproto.string_field(2)


@dataclass(eq=False, repr=False)
class ProfileItem(betterproto.Message):
    communityitemid: int = betterproto.uint64_field(1)
    image_small: str = betterproto.string_field(2)
    image_large: str = betterproto.string_field(3)
    name: str = betterproto.string_field(4)
    item_title: str = betterproto.string_field(5)
    item_description: str = betterproto.string_field(6)
    appid: int = betterproto.uint32_field(7)
    item_type: int = betterproto.uint32_field(8)
    item_class: int = betterproto.uint32_field(9)
    movie_webm: str = betterproto.string_field(10)
    movie_mp4: str = betterproto.string_field(11)
    movie_webm_small: str = betterproto.string_field(13)
    movie_mp4_small: str = betterproto.string_field(14)
    equipped_flags: int = betterproto.uint32_field(12)


class GetProfileBackgroundResponse(UnifiedMessage, um_name="Player.GetProfileBackground"):
    profile_background: "ProfileItem" = betterproto.message_field(1)


class SetProfileBackgroundRequest(UnifiedMessage, um_name="Player.SetProfileBackground"):
    communityitemid: int = betterproto.uint64_field(1)


class SetProfileBackgroundResponse(UnifiedMessage, um_name="Player.SetProfileBackground"):
    pass


class GetMiniProfileBackgroundRequest(UnifiedMessage, um_name="Player.GetMiniProfileBackground"):
    steamid: int = betterproto.fixed64_field(1)
    language: str = betterproto.string_field(2)


class GetMiniProfileBackgroundResponse(UnifiedMessage, um_name="Player.GetMiniProfileBackground"):
    profile_background: "ProfileItem" = betterproto.message_field(1)


class SetMiniProfileBackgroundRequest(UnifiedMessage, um_name="Player.SetMiniProfileBackground"):
    communityitemid: int = betterproto.uint64_field(1)


class SetMiniProfileBackgroundResponse(UnifiedMessage, um_name="Player.SetMiniProfileBackground"):
    pass


class GetAvatarFrameRequest(UnifiedMessage, um_name="Player.GetAvatarFrame"):
    steamid: int = betterproto.fixed64_field(1)
    language: str = betterproto.string_field(2)


class GetAvatarFrameResponse(UnifiedMessage, um_name="Player.GetAvatarFrame"):
    avatar_frame: "ProfileItem" = betterproto.message_field(1)


class SetAvatarFrameRequest(UnifiedMessage, um_name="Player.SetAvatarFrame"):
    communityitemid: int = betterproto.uint64_field(1)


class SetAvatarFrameResponse(UnifiedMessage, um_name="Player.SetAvatarFrame"):
    pass


class GetAnimatedAvatarRequest(UnifiedMessage, um_name="Player.GetAnimatedAvatar"):
    steamid: int = betterproto.fixed64_field(1)
    language: str = betterproto.string_field(2)


class GetAnimatedAvatarResponse(UnifiedMessage, um_name="Player.GetAnimatedAvatar"):
    avatar: "ProfileItem" = betterproto.message_field(1)


class SetAnimatedAvatarRequest(UnifiedMessage, um_name="Player.SetAnimatedAvatar"):
    communityitemid: int = betterproto.uint64_field(1)


class SetAnimatedAvatarResponse(UnifiedMessage, um_name="Player.SetAnimatedAvatar"):
    pass


class GetProfileItemsOwnedRequest(UnifiedMessage, um_name="Player.GetProfileItemsOwned"):
    language: str = betterproto.string_field(1)


class GetProfileItemsOwnedResponse(UnifiedMessage, um_name="Player.GetProfileItemsOwned"):
    profile_backgrounds: "list[ProfileItem]" = betterproto.message_field(1)
    mini_profile_backgrounds: "list[ProfileItem]" = betterproto.message_field(2)
    avatar_frames: "list[ProfileItem]" = betterproto.message_field(3)
    animated_avatars: "list[ProfileItem]" = betterproto.message_field(4)
    profile_modifiers: "list[ProfileItem]" = betterproto.message_field(5)


class GetProfileItemsEquippedRequest(UnifiedMessage, um_name="Player.GetProfileItemsEquipped"):
    steamid: int = betterproto.fixed64_field(1)
    language: str = betterproto.string_field(2)


class GetProfileItemsEquippedResponse(UnifiedMessage, um_name="Player.GetProfileItemsEquipped"):
    profile_background: "ProfileItem" = betterproto.message_field(1)
    mini_profile_background: "ProfileItem" = betterproto.message_field(2)
    avatar_frame: "ProfileItem" = betterproto.message_field(3)
    animated_avatar: "ProfileItem" = betterproto.message_field(4)
    profile_modifier: "ProfileItem" = betterproto.message_field(5)


class SetEquippedProfileItemFlagsRequest(UnifiedMessage, um_name="Player.SetEquippedProfileItemFlags"):
    communityitemid: int = betterproto.uint64_field(1)
    flags: int = betterproto.uint32_field(2)


class SetEquippedProfileItemFlagsResponse(UnifiedMessage, um_name="Player.SetEquippedProfileItemFlags"):
    pass


class GetEmoticonListRequest(UnifiedMessage, um_name="Player.GetEmoticonList"):
    pass


class GetEmoticonListResponse(UnifiedMessage, um_name="Player.GetEmoticonList"):
    emoticons: "list[GetEmoticonListResponseEmoticon]" = betterproto.message_field(1)


@dataclass(eq=False, repr=False)
class GetEmoticonListResponseEmoticon(betterproto.Message):
    name: str = betterproto.string_field(1)
    count: int = betterproto.int32_field(2)
    time_last_used: int = betterproto.uint32_field(3)
    use_count: int = betterproto.uint32_field(4)
    time_received: int = betterproto.uint32_field(5)
    appid: int = betterproto.uint32_field(6)


class GetTopAchievementsForGamesRequest(UnifiedMessage, um_name="Player.GetTopAchievementsForGames"):
    steamid: int = betterproto.uint64_field(1)
    language: str = betterproto.string_field(2)
    max_achievements: int = betterproto.uint32_field(3)
    appids: list[int] = betterproto.uint32_field(4)


@dataclass(eq=False, repr=False)
class GetTopAchievementsForGamesResponseGameAchievement(betterproto.Message):
    statid: int = betterproto.uint32_field(1)
    bit: int = betterproto.uint32_field(2)
    name: str = betterproto.string_field(3)
    desc: str = betterproto.string_field(4)
    icon: str = betterproto.string_field(5)
    icon_gray: str = betterproto.string_field(6)
    hidden: bool = betterproto.bool_field(7)
    player_percent_unlocked: str = betterproto.string_field(8)


@dataclass(eq=False, repr=False)
class GetTopAchievementsForGamesResponseGame(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    total_achievements: int = betterproto.uint32_field(2)
    achievements: list[GetTopAchievementsForGamesResponseGameAchievement] = betterproto.message_field(3)


class GetTopAchievementsForGamesResponse(UnifiedMessage, um_name="Player.GetTopAchievementsForGames"):
    games: "list[GetTopAchievementsForGamesResponseGame]" = betterproto.message_field(1)


class GetAchievementsProgressRequest(UnifiedMessage, um_name="Player.GetAchievementsProgress"):
    steamid: int = betterproto.uint64_field(1)
    language: str = betterproto.string_field(2)
    appids: list[int] = betterproto.uint32_field(3)


class GetAchievementsProgressResponse(UnifiedMessage, um_name="Player.GetAchievementsProgress"):
    achievement_progress: "list[GetAchievementsProgressResponseAchievementProgress]" = betterproto.message_field(1)


@dataclass(eq=False, repr=False)
class GetAchievementsProgressResponseAchievementProgress(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    unlocked: int = betterproto.uint32_field(2)
    total: int = betterproto.uint32_field(3)
    percentage: float = betterproto.float_field(4)
    all_unlocked: bool = betterproto.bool_field(5)
    cache_time: int = betterproto.uint32_field(6)


class GetGameAchievementsRequest(UnifiedMessage, um_name="Player.GetGameAchievements"):
    appid: int = betterproto.uint32_field(1)
    language: str = betterproto.string_field(2)


@dataclass(eq=False, repr=False)
class GetGameAchievementsResponseAchievement(betterproto.Message):
    internal_name: str = betterproto.string_field(1)
    localized_name: str = betterproto.string_field(2)
    localized_desc: str = betterproto.string_field(3)
    icon: str = betterproto.string_field(4)
    icon_gray: str = betterproto.string_field(5)
    hidden: bool = betterproto.bool_field(6)
    player_percent_unlocked: str = betterproto.string_field(7)


class GetGameAchievementsResponse(UnifiedMessage, um_name="Player.GetGameAchievements"):
    achievements: list[GetGameAchievementsResponseAchievement] = betterproto.message_field(1)


class GetFavoriteBadgeRequest(UnifiedMessage, um_name="Player.GetFavoriteBadge"):
    steamid: int = betterproto.uint64_field(1)


class GetFavoriteBadgeResponse(UnifiedMessage, um_name="Player.GetFavoriteBadge"):
    has_favorite_badge: bool = betterproto.bool_field(1)
    badgeid: int = betterproto.uint32_field(2)
    communityitemid: int = betterproto.uint64_field(3)
    item_type: int = betterproto.uint32_field(4)
    border_color: int = betterproto.uint32_field(5)
    appid: int = betterproto.uint32_field(6)
    level: int = betterproto.uint32_field(7)


class SetFavoriteBadgeRequest(UnifiedMessage, um_name="Player.SetFavoriteBadge"):
    communityitemid: int = betterproto.uint64_field(1)
    badgeid: int = betterproto.uint32_field(2)


class SetFavoriteBadgeResponse(UnifiedMessage, um_name="Player.SetFavoriteBadge"):
    pass


class GetProfileCustomizationRequest(UnifiedMessage, um_name="Player.GetProfileCustomization"):
    steamid: int = betterproto.fixed64_field(1)
    include_inactive_customizations: bool = betterproto.bool_field(2)
    include_purchased_customizations: bool = betterproto.bool_field(3)


@dataclass(eq=False, repr=False)
class ProfileCustomizationSlot(betterproto.Message):
    slot: int = betterproto.uint32_field(1)
    appid: int = betterproto.uint32_field(2)
    publishedfileid: int = betterproto.uint64_field(3)
    item_assetid: int = betterproto.uint64_field(4)
    item_contextid: int = betterproto.uint64_field(5)
    notes: str = betterproto.string_field(6)
    title: str = betterproto.string_field(7)
    accountid: int = betterproto.uint32_field(8)
    badgeid: int = betterproto.uint32_field(9)
    border_color: int = betterproto.uint32_field(10)
    item_classid: int = betterproto.uint64_field(11)
    item_instanceid: int = betterproto.uint64_field(12)
    ban_check_result: "EBanContentCheckResult" = betterproto.enum_field(13)
    replay_year: int = betterproto.uint32_field(14)


@dataclass(eq=False, repr=False)
class ProfileCustomization(betterproto.Message):
    customization_type: "EProfileCustomizationType" = betterproto.enum_field(1)
    large: bool = betterproto.bool_field(2)
    slots: "list[ProfileCustomizationSlot]" = betterproto.message_field(3)
    active: bool = betterproto.bool_field(4)
    customization_style: "EProfileCustomizationStyle" = betterproto.enum_field(5)
    purchaseid: int = betterproto.uint64_field(6)
    level: int = betterproto.uint32_field(7)


@dataclass(eq=False, repr=False)
class ProfileTheme(betterproto.Message):
    theme_id: str = betterproto.string_field(1)
    title: str = betterproto.string_field(2)


@dataclass(eq=False, repr=False)
class ProfilePreferences(betterproto.Message):
    hide_profile_awards: bool = betterproto.bool_field(1)


class GetProfileCustomizationResponse(UnifiedMessage, um_name="Player.GetProfileCustomization"):
    customizations: "list[ProfileCustomization]" = betterproto.message_field(1)
    slots_available: int = betterproto.uint32_field(2)
    profile_theme: "ProfileTheme" = betterproto.message_field(3)
    purchased_customizations: "list[GetProfileCustomizationResponsePurchasedCustomization]" = betterproto.message_field(
        4
    )
    profile_preferences: "ProfilePreferences" = betterproto.message_field(5)


@dataclass(eq=False, repr=False)
class GetProfileCustomizationResponsePurchasedCustomization(betterproto.Message):
    purchaseid: int = betterproto.uint64_field(1)
    customization_type: "EProfileCustomizationType" = betterproto.enum_field(2)
    level: int = betterproto.uint32_field(3)


class GetPurchasedProfileCustomizationsRequest(UnifiedMessage, um_name="Player.GetPurchasedProfileCustomizations"):
    steamid: int = betterproto.fixed64_field(1)


class GetPurchasedProfileCustomizationsResponse(UnifiedMessage, um_name="Player.GetPurchasedProfileCustomizations"):
    purchased_customizations: "list[GetPurchasedProfileCustomizationsResponsePurchasedCustomization]" = (
        betterproto.message_field(1)
    )


@dataclass(eq=False, repr=False)
class GetPurchasedProfileCustomizationsResponsePurchasedCustomization(betterproto.Message):
    purchaseid: int = betterproto.uint64_field(1)
    customization_type: "EProfileCustomizationType" = betterproto.enum_field(2)


class GetPurchasedAndUpgradedProfileCustomizationsRequest(
    UnifiedMessage, um_name="Player.GetPurchasedAndUpgradedProfileCustomizations"
):
    steamid: int = betterproto.fixed64_field(1)


class GetPurchasedAndUpgradedProfileCustomizationsResponse(
    UnifiedMessage, um_name="Player.GetPurchasedAndUpgradedProfileCustomizations"
):
    purchased_customizations: "list[GetPurchasedAndUpgradedProfileCustomizationsResponsePurchasedCustomization]" = (
        betterproto.message_field(1)
    )
    upgraded_customizations: "list[GetPurchasedAndUpgradedProfileCustomizationsResponseUpgradedCustomization]" = (
        betterproto.message_field(2)
    )


@dataclass(eq=False, repr=False)
class GetPurchasedAndUpgradedProfileCustomizationsResponsePurchasedCustomization(betterproto.Message):
    customization_type: "EProfileCustomizationType" = betterproto.enum_field(1)
    count: int = betterproto.uint32_field(2)


@dataclass(eq=False, repr=False)
class GetPurchasedAndUpgradedProfileCustomizationsResponseUpgradedCustomization(betterproto.Message):
    customization_type: "EProfileCustomizationType" = betterproto.enum_field(1)
    level: int = betterproto.uint32_field(2)


class GetProfileThemesAvailableRequest(UnifiedMessage, um_name="Player.GetProfileThemesAvailable"):
    pass


class GetProfileThemesAvailableResponse(UnifiedMessage, um_name="Player.GetProfileThemesAvailable"):
    profile_themes: "list[ProfileTheme]" = betterproto.message_field(1)


class SetProfileThemeRequest(UnifiedMessage, um_name="Player.SetProfileTheme"):
    theme_id: str = betterproto.string_field(1)


class SetProfileThemeResponse(UnifiedMessage, um_name="Player.SetProfileTheme"):
    pass


class SetProfilePreferencesRequest(UnifiedMessage, um_name="Player.SetProfilePreferences"):
    profile_preferences: "ProfilePreferences" = betterproto.message_field(1)


class SetProfilePreferencesResponse(UnifiedMessage, um_name="Player.SetProfilePreferences"):
    pass


class PostStatusToFriendsRequest(UnifiedMessage, um_name="Player.PostStatusToFriends"):
    appid: int = betterproto.uint32_field(1)
    status_text: str = betterproto.string_field(2)


class PostStatusToFriendsResponse(UnifiedMessage, um_name="Player.PostStatusToFriends"):
    pass


class GetPostedStatusRequest(UnifiedMessage, um_name="Player.GetPostedStatus"):
    steamid: int = betterproto.uint64_field(1)
    postid: int = betterproto.uint64_field(2)


class GetPostedStatusResponse(UnifiedMessage, um_name="Player.GetPostedStatus"):
    accountid: int = betterproto.uint32_field(1)
    postid: int = betterproto.uint64_field(2)
    status_text: str = betterproto.string_field(3)
    deleted: bool = betterproto.bool_field(4)
    appid: int = betterproto.uint32_field(5)


class DeletePostedStatusRequest(UnifiedMessage, um_name="Player.DeletePostedStatus"):
    postid: int = betterproto.uint64_field(1)


class DeletePostedStatusResponse(UnifiedMessage, um_name="Player.DeletePostedStatus"):
    pass


class GetLastPlayedTimesRequest(UnifiedMessage, um_name="Player.ClientGetLastPlayedTimes"):
    min_last_played: int = betterproto.uint32_field(1)


class GetLastPlayedTimesResponse(UnifiedMessage, um_name="Player.ClientGetLastPlayedTimes"):
    games: "list[GetLastPlayedTimesResponseGame]" = betterproto.message_field(1)


@dataclass(eq=False, repr=False)
class GetLastPlayedTimesResponseGame(betterproto.Message):
    appid: int = betterproto.int32_field(1)
    last_playtime: int = betterproto.uint32_field(2)
    playtime_2_weeks: int = betterproto.int32_field(3)
    playtime_forever: int = betterproto.int32_field(4)
    first_playtime: int = betterproto.uint32_field(5)
    playtime_windows_forever: int = betterproto.int32_field(6)
    playtime_mac_forever: int = betterproto.int32_field(7)
    playtime_linux_forever: int = betterproto.int32_field(8)
    first_windows_playtime: int = betterproto.uint32_field(9)
    first_mac_playtime: int = betterproto.uint32_field(10)
    first_linux_playtime: int = betterproto.uint32_field(11)
    last_windows_playtime: int = betterproto.uint32_field(12)
    last_mac_playtime: int = betterproto.uint32_field(13)
    last_linux_playtime: int = betterproto.uint32_field(14)


class AcceptSsaRequest(UnifiedMessage, um_name="Player.AcceptSSA"):
    agreement_type: "EAgreementType" = betterproto.enum_field(1)
    time_signed_utc: int = betterproto.uint32_field(2)


class AcceptSsaResponse(UnifiedMessage, um_name="Player.AcceptSSA"):
    pass


class GetNicknameListRequest(UnifiedMessage, um_name="Player.GetNicknameList"):
    pass


class GetNicknameListResponse(UnifiedMessage, um_name="Player.GetNicknameList"):
    nicknames: "list[GetNicknameListResponsePlayerNickname]" = betterproto.message_field(1)


@dataclass(eq=False, repr=False)
class GetNicknameListResponsePlayerNickname(betterproto.Message):
    accountid: int = betterproto.fixed32_field(1)
    nickname: str = betterproto.string_field(2)


class GetPerFriendPreferencesRequest(UnifiedMessage, um_name="Player.GetPerFriendPreferences"):
    pass


@dataclass(eq=False, repr=False)
class PerFriendPreferences(betterproto.Message):
    accountid: int = betterproto.fixed32_field(1)
    nickname: str = betterproto.string_field(2)
    notifications_showingame: "ENotificationSetting" = betterproto.enum_field(3)
    notifications_showonline: "ENotificationSetting" = betterproto.enum_field(4)
    notifications_showmessages: "ENotificationSetting" = betterproto.enum_field(5)
    sounds_showingame: "ENotificationSetting" = betterproto.enum_field(6)
    sounds_showonline: "ENotificationSetting" = betterproto.enum_field(7)
    sounds_showmessages: "ENotificationSetting" = betterproto.enum_field(8)
    notifications_sendmobile: "ENotificationSetting" = betterproto.enum_field(9)


class GetPerFriendPreferencesResponse(UnifiedMessage, um_name="Player.GetPerFriendPreferences"):
    preferences: "list[PerFriendPreferences]" = betterproto.message_field(1)


class SetPerFriendPreferencesRequest(UnifiedMessage, um_name="Player.SetPerFriendPreferences"):
    preferences: "PerFriendPreferences" = betterproto.message_field(1)


class SetPerFriendPreferencesResponse(UnifiedMessage, um_name="Player.SetPerFriendPreferences"):
    pass


class AddFriendRequest(UnifiedMessage, um_name="Player.AddFriend"):
    steamid: int = betterproto.fixed64_field(1)


class AddFriendResponse(UnifiedMessage, um_name="Player.AddFriend"):
    invite_sent: bool = betterproto.bool_field(1)
    friend_relationship: int = betterproto.uint32_field(2)
    eresult: int = betterproto.int32_field(3)


class RemoveFriendRequest(UnifiedMessage, um_name="Player.RemoveFriend"):
    steamid: int = betterproto.fixed64_field(1)


class RemoveFriendResponse(UnifiedMessage, um_name="Player.RemoveFriend"):
    friend_relationship: int = betterproto.uint32_field(1)


class IgnoreFriendRequest(UnifiedMessage, um_name="Player.IgnoreFriend"):
    steamid: int = betterproto.fixed64_field(1)
    unignore: bool = betterproto.bool_field(2)


class IgnoreFriendResponse(UnifiedMessage, um_name="Player.IgnoreFriend"):
    friend_relationship: int = betterproto.uint32_field(1)


class GetCommunityPreferencesRequest(UnifiedMessage, um_name="Player.GetCommunityPreferences"):
    pass


@dataclass(eq=False, repr=False)
class CommunityPreferences(betterproto.Message):
    hide_adult_content_violence: bool = betterproto.bool_field(1)
    hide_adult_content_sex: bool = betterproto.bool_field(2)
    parenthesize_nicknames: bool = betterproto.bool_field(4)
    text_filter_setting: "ETextFilterSetting" = betterproto.enum_field(5)
    text_filter_ignore_friends: bool = betterproto.bool_field(6)
    text_filter_words_revision: int = betterproto.uint32_field(7)
    timestamp_updated: int = betterproto.uint32_field(3)


class GetCommunityPreferencesResponse(UnifiedMessage, um_name="Player.GetCommunityPreferences"):
    preferences: "CommunityPreferences" = betterproto.message_field(1)


class SetCommunityPreferencesRequest(UnifiedMessage, um_name="Player.SetCommunityPreferences"):
    preferences: "CommunityPreferences" = betterproto.message_field(1)


class SetCommunityPreferencesResponse(UnifiedMessage, um_name="Player.SetCommunityPreferences"):
    pass


class GetTextFilterWordsRequest(UnifiedMessage, um_name="Player.GetTextFilterWords"):
    pass


@dataclass(eq=False, repr=False)
class TextFilterWords(betterproto.Message):
    text_filter_custom_banned_words: list[str] = betterproto.string_field(1)
    text_filter_custom_clean_words: list[str] = betterproto.string_field(2)
    text_filter_words_revision: int = betterproto.uint32_field(3)


class GetTextFilterWordsResponse(UnifiedMessage, um_name="Player.GetTextFilterWords"):
    words: "TextFilterWords" = betterproto.message_field(1)


class GetNewSteamAnnouncementStateRequest(UnifiedMessage, um_name="Player.GetNewSteamAnnouncementState"):
    language: int = betterproto.int32_field(1)


class GetNewSteamAnnouncementStateResponse(UnifiedMessage, um_name="Player.GetNewSteamAnnouncementState"):
    state: int = betterproto.int32_field(1)
    announcement_headline: str = betterproto.string_field(2)
    announcement_url: str = betterproto.string_field(3)
    time_posted: int = betterproto.uint32_field(4)
    announcement_gid: int = betterproto.uint64_field(5)


class UpdateSteamAnnouncementLastReadRequest(UnifiedMessage, um_name="Player.UpdateSteamAnnouncementLastRead"):
    announcement_gid: int = betterproto.uint64_field(1)
    time_posted: int = betterproto.uint32_field(2)


class UpdateSteamAnnouncementLastReadResponse(UnifiedMessage, um_name="Player.UpdateSteamAnnouncementLastRead"):
    pass


class GetPrivacySettingsRequest(UnifiedMessage, um_name="Player.GetPrivacySettings"):
    pass


@dataclass(eq=False, repr=False)
class CPrivacySettings(betterproto.Message):
    privacy_state: int = betterproto.int32_field(1)
    privacy_state_inventory: int = betterproto.int32_field(2)
    privacy_state_gifts: int = betterproto.int32_field(3)
    privacy_state_ownedgames: int = betterproto.int32_field(4)
    privacy_state_playtime: int = betterproto.int32_field(5)
    privacy_state_friendslist: int = betterproto.int32_field(6)


class GetPrivacySettingsResponse(UnifiedMessage, um_name="Player.GetPrivacySettings"):
    privacy_settings: "CPrivacySettings" = betterproto.message_field(1)


class GetDurationControlRequest(UnifiedMessage, um_name="Player.GetDurationControl"):
    appid: int = betterproto.uint32_field(1)


class GetDurationControlResponse(UnifiedMessage, um_name="Player.GetDurationControl"):
    is_enabled: bool = betterproto.bool_field(1)
    seconds: int = betterproto.int32_field(2)
    seconds_today: int = betterproto.int32_field(3)
    is_steamchina_account: bool = betterproto.bool_field(4)
    is_age_verified: bool = betterproto.bool_field(5)
    seconds_allowed_today: int = betterproto.uint32_field(6)


@dataclass(eq=False, repr=False)
class LastPlayedTimesNotification(betterproto.Message):
    games: "list[GetLastPlayedTimesResponseGame]" = betterproto.message_field(1)


@dataclass(eq=False, repr=False)
class FriendNicknameChangedNotification(betterproto.Message):
    accountid: int = betterproto.fixed32_field(1)
    nickname: str = betterproto.string_field(2)
    is_echo_to_self: bool = betterproto.bool_field(3)


@dataclass(eq=False, repr=False)
class FriendEquippedProfileItemsChangedNotification(betterproto.Message):
    accountid: int = betterproto.fixed32_field(1)


@dataclass(eq=False, repr=False)
class NewSteamAnnouncementStateNotification(betterproto.Message):
    state: int = betterproto.int32_field(1)
    announcement_headline: str = betterproto.string_field(2)
    announcement_url: str = betterproto.string_field(3)
    time_posted: int = betterproto.uint32_field(4)
    announcement_gid: int = betterproto.uint64_field(5)


@dataclass(eq=False, repr=False)
class CommunityPreferencesChangedNotification(betterproto.Message):
    preferences: "CommunityPreferences" = betterproto.message_field(1)


@dataclass(eq=False, repr=False)
class TextFilterWordsChangedNotification(betterproto.Message):
    words: "TextFilterWords" = betterproto.message_field(1)


@dataclass(eq=False, repr=False)
class PerFriendPreferencesChangedNotification(betterproto.Message):
    accountid: int = betterproto.fixed32_field(1)
    preferences: "PerFriendPreferences" = betterproto.message_field(2)


@dataclass(eq=False, repr=False)
class PrivacySettingsChangedNotification(betterproto.Message):
    privacy_settings: "CPrivacySettings" = betterproto.message_field(1)
