discord-protos 1.2.88 → 1.2.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  from enum import Enum as _Enum
4
4
  from typing import TYPE_CHECKING
5
5
 
6
- __version__ = '1.2.88'
6
+ __version__ = '1.2.90'
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from google.protobuf.message import Message as _Message
@@ -297,6 +297,7 @@ message Experiment {
297
297
  AssignmentMode assignment_mode = 25;
298
298
  bool enable_edit_raw_json_ui = 23;
299
299
  int32 winning_variation_id = 24;
300
+ string extra_outcome_context = 34;
300
301
  Type type = 26;
301
302
  bool is_template = 27;
302
303
  repeated int32 field_numbers_to_copy = 28;
@@ -304,4 +305,5 @@ message Experiment {
304
305
  optional DebugConfig debug_config = 30;
305
306
  optional google.protobuf.Timestamp expected_end_date = 31;
306
307
  bool is_automated_change = 32;
308
+ optional google.protobuf.Timestamp archive_at = 33;
307
309
  }
@@ -26,7 +26,7 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb
26
26
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
27
27
 
28
28
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+discord_experimentation/v1/Experiment.proto\x12)discord_protos.discord_experimentation.v1\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xefI\n\nExperiment\x12\n\n\x02id\x18\x01 \x01(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x33\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x12\n\ncreator_id\x18\x04 \x01(\x06\x12\x0f\n\x07version\x18\x05 \x01(\x05\x12\x32\n\tedited_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x11\n\teditor_id\x18\x07 \x01(\x06\x12\r\n\x05title\x18\x08 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\t \x01(\t\x12\x35\n\nhypothesis\x18\n \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x02\x88\x01\x01\x12\x39\n\x0etech_spec_link\x18\x0b \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x03\x88\x01\x01\x12\x10\n\x08revision\x18\x0c \x01(\x05\x12\x10\n\x08hash_key\x18\r \x01(\t\x12Q\n\tunit_type\x18\x0e \x01(\x0e\x32>.discord_protos.discord_experimentation.v1.Experiment.UnitType\x12S\n\nvariations\x18\x0f \x03(\x0b\x32?.discord_protos.discord_experimentation.v1.Experiment.Variation\x12I\n\x05rules\x18\x10 \x03(\x0b\x32:.discord_protos.discord_experimentation.v1.Experiment.Rule\x12J\n\x05phase\x18\x12 \x01(\x0e\x32;.discord_protos.discord_experimentation.v1.Experiment.Phase\x12O\n\x08surfaces\x18\x13 \x03(\x0e\x32=.discord_protos.discord_experimentation.v1.Experiment.Surface\x12\x16\n\x0eowning_team_id\x18\x14 \x01(\t\x12&\n\x1e\x63\x61\x63hed_notification_channel_id\x18\x15 \x01(\x06\x12\x61\n\x11\x65xposure_tracking\x18\x16 \x01(\x0e\x32\x46.discord_protos.discord_experimentation.v1.Experiment.ExposureTracking\x12]\n\x0f\x61ssignment_mode\x18\x19 \x01(\x0e\x32\x44.discord_protos.discord_experimentation.v1.Experiment.AssignmentMode\x12\x1f\n\x17\x65nable_edit_raw_json_ui\x18\x17 \x01(\x08\x12\x1c\n\x14winning_variation_id\x18\x18 \x01(\x05\x12H\n\x04type\x18\x1a \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x12\x13\n\x0bis_template\x18\x1b \x01(\x08\x12\x1d\n\x15\x66ield_numbers_to_copy\x18\x1c \x03(\x05\x12 \n\x14\x65ngine_feature_flags\x18\x1d \x03(\tB\x02\x10\x00\x12\\\n\x0c\x64\x65\x62ug_config\x18\x1e \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.DebugConfigH\x04\x88\x01\x01\x12:\n\x11\x65xpected_end_date\x18\x1f \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x05\x88\x01\x01\x12\x1b\n\x13is_automated_change\x18 \x01(\x08\x1ao\n\x06\x42ucket\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0c\n\x04stop\x18\x02 \x01(\x05\x12H\n\x04type\x18\x03 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x1a\xa6\x02\n\tVariation\x12\n\n\x02id\x18\x01 \x01(\x05\x12\r\n\x05label\x18\x02 \x01(\t\x12\x19\n\x11target_allocation\x18\x03 \x01(\x05\x12M\n\x07\x62uckets\x18\x04 \x03(\x0b\x32<.discord_protos.discord_experimentation.v1.Experiment.Bucket\x12H\n\x04type\x18\x05 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x12\x38\n\rconfiguration\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x00\x88\x01\x01\x42\x10\n\x0e_configuration\x1a\xa1\x01\n\x18PlatformVersionSpecifier\x12\r\n\x05major\x18\x01 \x01(\r\x12\x30\n\x05minor\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueH\x00\x88\x01\x01\x12\x30\n\x05\x62uild\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt64ValueH\x01\x88\x01\x01\x42\x08\n\x06_minorB\x08\n\x06_build\x1a\xa0\x01\n\x19PlatformVersionRangeBound\x12\x64\n\x07version\x18\x01 \x01(\x0b\x32N.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionSpecifierH\x00\x88\x01\x01\x12\x11\n\tinclusive\x18\x02 \x01(\x08\x42\n\n\x08_version\x1a\x8c\x02\n\x14PlatformVersionRange\x12i\n\x0blower_bound\x18\x01 \x01(\x0b\x32O.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionRangeBoundH\x00\x88\x01\x01\x12i\n\x0bupper_bound\x18\x02 \x01(\x0b\x32O.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionRangeBoundH\x01\x88\x01\x01\x42\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_bound\x1a\x8c\x01\n\x0fPlatformVersion\x12Z\n\x06ranges\x18\x01 \x03(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionRange\x12\x1d\n\x15work_around_pyoto_bug\x18\x02 \x01(\x08\x1a\x46\n\x15\x43lientRequiredChanges\x12\x19\n\rcommit_hashes\x18\x01 \x03(\tB\x02\x10\x00\x12\x12\n\npr_numbers\x18\x02 \x03(\x05\x1a\x8f\x05\n\x0e\x43lientPlatform\x12_\n\x0bios_version\x18\x01 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x00\x88\x01\x01\x12\x63\n\x0f\x61ndroid_version\x18\x02 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x01\x88\x01\x01\x12_\n\x0bweb_version\x18\x03 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x02\x88\x01\x01\x12\x62\n\x0enative_version\x18\x04 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x03\x88\x01\x01\x12\x1c\n\x14\x61llow_non_native_web\x18\x06 \x01(\x08\x12q\n\x17\x63lient_required_changes\x18\x05 \x01(\x0b\x32K.discord_protos.discord_experimentation.v1.Experiment.ClientRequiredChangesH\x04\x88\x01\x01\x42\x0e\n\x0c_ios_versionB\x12\n\x10_android_versionB\x0e\n\x0c_web_versionB\x11\n\x0f_native_versionB\x1a\n\x18_client_required_changes\x1a&\n\x13SDKVersionSpecifier\x12\x0f\n\x07version\x18\x01 \x01(\x05\x1a\x96\x01\n\x14SDKVersionRangeBound\x12_\n\x07version\x18\x01 \x01(\x0b\x32I.discord_protos.discord_experimentation.v1.Experiment.SDKVersionSpecifierH\x00\x88\x01\x01\x12\x11\n\tinclusive\x18\x02 \x01(\x08\x42\n\n\x08_version\x1a\xfd\x01\n\x0fSDKVersionRange\x12\x64\n\x0blower_bound\x18\x01 \x01(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.SDKVersionRangeBoundH\x00\x88\x01\x01\x12\x64\n\x0bupper_bound\x18\x02 \x01(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.SDKVersionRangeBoundH\x01\x88\x01\x01\x42\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_bound\x1a\x82\x01\n\nSDKVersion\x12U\n\x06ranges\x18\x01 \x03(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.SDKVersionRange\x12\x1d\n\x15work_around_pyoto_bug\x18\x02 \x01(\x08\x1a\xb5\x06\n\x15\x43lientOperatingSystem\x12Z\n\x0bios_version\x18\x01 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x00\x88\x01\x01\x12^\n\x0f\x61ndroid_version\x18\x02 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x01\x88\x01\x01\x12\\\n\rmacos_version\x18\x03 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x02\x88\x01\x01\x12^\n\x0fwindows_version\x18\x04 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x03\x88\x01\x01\x12\x62\n\x13playstation_version\x18\x05 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x04\x88\x01\x01\x12[\n\x0cxbox_version\x18\x06 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x05\x88\x01\x01\x12\\\n\rlinux_version\x18\x07 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x06\x88\x01\x01\x42\x0e\n\x0c_ios_versionB\x12\n\x10_android_versionB\x10\n\x0e_macos_versionB\x12\n\x10_windows_versionB\x16\n\x14_playstation_versionB\x0f\n\r_xbox_versionB\x10\n\x0e_linux_version\x1a>\n\nStaffUsers\x12\x15\n\rwork_accounts\x18\x01 \x01(\x08\x12\x19\n\x11personal_accounts\x18\x02 \x01(\x08\x1a \n\x0bUserInGuild\x12\x11\n\tguild_ids\x18\x01 \x03(\x06\x1a\x1b\n\x07UserIds\x12\x10\n\x08user_ids\x18\x01 \x03(\x06\x1a#\n\x0c\x43lientLocale\x12\x13\n\x07locales\x18\x01 \x03(\tB\x02\x10\x00\x1a\x39\n\tISORegion\x12\x13\n\x0biso_country\x18\x01 \x01(\t\x12\x17\n\x0fiso_subdivision\x18\x02 \x01(\t\x1a;\n\x05Place\x12\x0c\n\x04\x63ity\x18\x01 \x01(\t\x12\x13\n\x0bsubdivision\x18\x02 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x03 \x01(\t\x1a\xcc\x01\n\x08Location\x12U\n\niso_region\x18\x01 \x01(\x0b\x32?.discord_protos.discord_experimentation.v1.Experiment.ISORegionH\x00\x12\x0f\n\x05is_eu\x18\x02 \x01(\x08H\x00\x12L\n\x05place\x18\x03 \x01(\x0b\x32;.discord_protos.discord_experimentation.v1.Experiment.PlaceH\x00\x42\n\n\x08location\x1a\x63\n\x0e\x43lientLocation\x12Q\n\tlocations\x18\x01 \x03(\x0b\x32>.discord_protos.discord_experimentation.v1.Experiment.Location\x1a\x1e\n\x08\x43lientIP\x12\x12\n\x06\x62locks\x18\x01 \x03(\tB\x02\x10\x00\x1a!\n\nUserLocale\x12\x13\n\x07locales\x18\x01 \x03(\tB\x02\x10\x00\x1a\x1b\n\tUserIsBot\x12\x0e\n\x06is_bot\x18\x01 \x01(\x08\x1a\xa6\x01\n\x0cUserAgeRange\x12\x38\n\rmin_age_years\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueH\x00\x88\x01\x01\x12\x38\n\rmax_age_years\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueH\x01\x88\x01\x01\x42\x10\n\x0e_min_age_yearsB\x10\n\x0e_max_age_years\x1a\x1d\n\x0c\x46ixed64Value\x12\r\n\x05value\x18\x01 \x01(\x06\x1a\xd5\x01\n\x0bUserIDRange\x12W\n\x06min_id\x18\x01 \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.Fixed64ValueH\x00\x88\x01\x01\x12W\n\x06max_id\x18\x02 \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.Fixed64ValueH\x01\x88\x01\x01\x42\t\n\x07_min_idB\t\n\x07_max_id\x1a\x1b\n\x0bUserHasFlag\x12\x0c\n\x04mask\x18\x01 \x01(\x06\x1a\x37\n\x13UnitIdInRangeByHash\x12\x10\n\x08hash_key\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\r\x1a\x34\n\x14\x43lientReleaseChannel\x12\x1c\n\x10release_channels\x18\x01 \x03(\tB\x02\x10\x00\x1a\x17\n\x06\x41lways\x12\r\n\x05value\x18\x01 \x01(\x08\x1a)\n\x12\x43lientSystemLocale\x12\x13\n\x07locales\x18\x01 \x03(\tB\x02\x10\x00\x1a\x42\n\x12UnitIdInExperiment\x12\x15\n\rexperiment_id\x18\x01 \x01(\x06\x12\x15\n\rvariation_ids\x18\x02 \x03(\x05\x1a(\n\x0fUserPremiumType\x12\x15\n\rpremium_types\x18\x01 \x03(\x05\x1aY\n\x1bUnitIdMatchesFilterSnapshot\x12\x1c\n\x14\x66ilter_snapshot_name\x18\x01 \x01(\t\x12\x1c\n\x14target_filter_values\x18\x02 \x03(\x06\x1a\x8c\x0f\n\x06\x46ilter\x12^\n\x0e\x63lient_version\x18\x02 \x01(\x0b\x32\x44.discord_protos.discord_experimentation.v1.Experiment.ClientPlatformH\x00\x12`\n\tclient_os\x18\x03 \x01(\x0b\x32K.discord_protos.discord_experimentation.v1.Experiment.ClientOperatingSystemH\x00\x12Q\n\x05staff\x18\x04 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.StaffUsersH\x00\x12Z\n\ruser_in_guild\x18\x05 \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.UserInGuildH\x00\x12Q\n\x08user_ids\x18\x06 \x01(\x0b\x32=.discord_protos.discord_experimentation.v1.Experiment.UserIdsH\x00\x12[\n\rclient_locale\x18\x07 \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.ClientLocaleH\x00\x12_\n\x0f\x63lient_location\x18\x08 \x01(\x0b\x32\x44.discord_protos.discord_experimentation.v1.Experiment.ClientLocationH\x00\x12S\n\tclient_ip\x18\t \x01(\x0b\x32>.discord_protos.discord_experimentation.v1.Experiment.ClientIPH\x00\x12W\n\x0buser_locale\x18\n \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.UserLocaleH\x00\x12N\n\x03\x62ot\x18\x0b \x01(\x0b\x32?.discord_protos.discord_experimentation.v1.Experiment.UserIsBotH\x00\x12\\\n\x0euser_age_range\x18\x0c \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.UserAgeRangeH\x00\x12Z\n\ruser_id_range\x18\r \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.UserIDRangeH\x00\x12Z\n\ruser_has_flag\x18\x0e \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.UserHasFlagH\x00\x12m\n\x18unit_id_in_range_by_hash\x18\x0f \x01(\x0b\x32I.discord_protos.discord_experimentation.v1.Experiment.UnitIdInRangeByHashH\x00\x12l\n\x16\x63lient_release_channel\x18\x10 \x01(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.ClientReleaseChannelH\x00\x12N\n\x06\x61lways\x18\x11 \x01(\x0b\x32<.discord_protos.discord_experimentation.v1.Experiment.AlwaysH\x00\x12h\n\x14\x63lient_system_locale\x18\x12 \x01(\x0b\x32H.discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocaleH\x00\x12i\n\x15unit_id_in_experiment\x18\x13 \x01(\x0b\x32H.discord_protos.discord_experimentation.v1.Experiment.UnitIdInExperimentH\x00\x12\x62\n\x11user_premium_type\x18\x14 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.UserPremiumTypeH\x00\x12|\n\x1funit_id_matches_filter_snapshot\x18\x15 \x01(\x0b\x32Q.discord_protos.discord_experimentation.v1.Experiment.UnitIdMatchesFilterSnapshotH\x00\x42\x08\n\x06\x66ilter\x1a \n\x08Override\x12\x14\n\x0cvariation_id\x18\x01 \x01(\x05\x1a\x9b\x02\n\x04Rule\x12H\n\x04type\x18\x01 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x12M\n\x07\x66ilters\x18\x02 \x03(\x0b\x32<.discord_protos.discord_experimentation.v1.Experiment.Filter\x12U\n\x08override\x18\x03 \x01(\x0b\x32>.discord_protos.discord_experimentation.v1.Experiment.OverrideH\x00\x88\x01\x01\x12\x16\n\x0eis_sunset_rule\x18\x04 \x01(\x08\x42\x0b\n\t_override\x1a\xc2\x01\n\x0b\x44\x65\x62ugConfig\x12\x1f\n\x17\x65nable_decision_logging\x18\x01 \x01(\x08\x12\x1b\n\x13metrics_sample_rate\x18\x02 \x01(\x01\x12\x1e\n\x16log_context_on_failure\x18\x03 \x01(\x08\x12\x17\n\x0flog_raw_headers\x18\x04 \x01(\x08\x12\x1a\n\x12tag_filter_metrics\x18\x05 \x01(\x08\x12 \n\x18\x64\x65\x63ision_log_sample_rate\x18\x06 \x01(\x01\"9\n\x08UnitType\x12\x19\n\x15UNIT_TYPE_UNSPECIFIED\x10\x00\x12\x12\n\x0eUNIT_TYPE_USER\x10\x01\"O\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bTYPE_ACTIVE\x10\x01\x12\x0f\n\x0bTYPE_UNUSED\x10\x02\x12\x0f\n\x0bTYPE_BURNED\x10\x03\"\x84\x01\n\x05Phase\x12\x15\n\x11PHASE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPHASE_DRAFT\x10\x01\x12\x15\n\x11PHASE_MEASUREMENT\x10\x02\x12\x15\n\x11PHASE_ROLLING_OUT\x10\x04\x12\x12\n\x0ePHASE_ARCHIVED\x10\x06\x12\x11\n\rPHASE_AA_MODE\x10\x07\"\x96\x01\n\x07Surface\x12\x17\n\x13SURFACE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bSURFACE_API\x10\x01\x12\x0f\n\x0bSURFACE_APP\x10\x02\x12\x1c\n\x18SURFACE_DEVELOPER_PORTAL\x10\x03\x12\x17\n\x13SURFACE_ADMIN_PANEL\x10\x04\x12\x19\n\x15SURFACE_ADS_BUDGET_AB\x10\x05\"Q\n\x10\x45xposureTracking\x12\x1d\n\x19\x45XPOSURE_TRACKING_ENABLED\x10\x00\x12\x1e\n\x1a\x45XPOSURE_TRACKING_DISABLED\x10\x01\"\x8a\x01\n\x0e\x41ssignmentMode\x12\x18\n\x14\x41SSIGNMENT_MODE_FULL\x10\x00\x12!\n\x1d\x41SSIGNMENT_MODE_FORCE_CONTROL\x10\x03\x12\"\n\x1e\x41SSIGNMENT_MODE_OVERRIDES_ONLY\x10\x04\x12\x17\n\x13\x41SSIGNMENT_MODE_OFF\x10\x05\x42\r\n\x0b_created_atB\x0c\n\n_edited_atB\r\n\x0b_hypothesisB\x11\n\x0f_tech_spec_linkB\x0f\n\r_debug_configB\x14\n\x12_expected_end_dateb\x06proto3')
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+discord_experimentation/v1/Experiment.proto\x12)discord_protos.discord_experimentation.v1\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd2J\n\nExperiment\x12\n\n\x02id\x18\x01 \x01(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x33\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x12\n\ncreator_id\x18\x04 \x01(\x06\x12\x0f\n\x07version\x18\x05 \x01(\x05\x12\x32\n\tedited_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x11\n\teditor_id\x18\x07 \x01(\x06\x12\r\n\x05title\x18\x08 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\t \x01(\t\x12\x35\n\nhypothesis\x18\n \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x02\x88\x01\x01\x12\x39\n\x0etech_spec_link\x18\x0b \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x03\x88\x01\x01\x12\x10\n\x08revision\x18\x0c \x01(\x05\x12\x10\n\x08hash_key\x18\r \x01(\t\x12Q\n\tunit_type\x18\x0e \x01(\x0e\x32>.discord_protos.discord_experimentation.v1.Experiment.UnitType\x12S\n\nvariations\x18\x0f \x03(\x0b\x32?.discord_protos.discord_experimentation.v1.Experiment.Variation\x12I\n\x05rules\x18\x10 \x03(\x0b\x32:.discord_protos.discord_experimentation.v1.Experiment.Rule\x12J\n\x05phase\x18\x12 \x01(\x0e\x32;.discord_protos.discord_experimentation.v1.Experiment.Phase\x12O\n\x08surfaces\x18\x13 \x03(\x0e\x32=.discord_protos.discord_experimentation.v1.Experiment.Surface\x12\x16\n\x0eowning_team_id\x18\x14 \x01(\t\x12&\n\x1e\x63\x61\x63hed_notification_channel_id\x18\x15 \x01(\x06\x12\x61\n\x11\x65xposure_tracking\x18\x16 \x01(\x0e\x32\x46.discord_protos.discord_experimentation.v1.Experiment.ExposureTracking\x12]\n\x0f\x61ssignment_mode\x18\x19 \x01(\x0e\x32\x44.discord_protos.discord_experimentation.v1.Experiment.AssignmentMode\x12\x1f\n\x17\x65nable_edit_raw_json_ui\x18\x17 \x01(\x08\x12\x1c\n\x14winning_variation_id\x18\x18 \x01(\x05\x12\x1d\n\x15\x65xtra_outcome_context\x18\" \x01(\t\x12H\n\x04type\x18\x1a \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x12\x13\n\x0bis_template\x18\x1b \x01(\x08\x12\x1d\n\x15\x66ield_numbers_to_copy\x18\x1c \x03(\x05\x12 \n\x14\x65ngine_feature_flags\x18\x1d \x03(\tB\x02\x10\x00\x12\\\n\x0c\x64\x65\x62ug_config\x18\x1e \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.DebugConfigH\x04\x88\x01\x01\x12:\n\x11\x65xpected_end_date\x18\x1f \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x05\x88\x01\x01\x12\x1b\n\x13is_automated_change\x18 \x01(\x08\x12\x33\n\narchive_at\x18! \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x06\x88\x01\x01\x1ao\n\x06\x42ucket\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0c\n\x04stop\x18\x02 \x01(\x05\x12H\n\x04type\x18\x03 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x1a\xa6\x02\n\tVariation\x12\n\n\x02id\x18\x01 \x01(\x05\x12\r\n\x05label\x18\x02 \x01(\t\x12\x19\n\x11target_allocation\x18\x03 \x01(\x05\x12M\n\x07\x62uckets\x18\x04 \x03(\x0b\x32<.discord_protos.discord_experimentation.v1.Experiment.Bucket\x12H\n\x04type\x18\x05 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x12\x38\n\rconfiguration\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValueH\x00\x88\x01\x01\x42\x10\n\x0e_configuration\x1a\xa1\x01\n\x18PlatformVersionSpecifier\x12\r\n\x05major\x18\x01 \x01(\r\x12\x30\n\x05minor\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueH\x00\x88\x01\x01\x12\x30\n\x05\x62uild\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt64ValueH\x01\x88\x01\x01\x42\x08\n\x06_minorB\x08\n\x06_build\x1a\xa0\x01\n\x19PlatformVersionRangeBound\x12\x64\n\x07version\x18\x01 \x01(\x0b\x32N.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionSpecifierH\x00\x88\x01\x01\x12\x11\n\tinclusive\x18\x02 \x01(\x08\x42\n\n\x08_version\x1a\x8c\x02\n\x14PlatformVersionRange\x12i\n\x0blower_bound\x18\x01 \x01(\x0b\x32O.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionRangeBoundH\x00\x88\x01\x01\x12i\n\x0bupper_bound\x18\x02 \x01(\x0b\x32O.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionRangeBoundH\x01\x88\x01\x01\x42\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_bound\x1a\x8c\x01\n\x0fPlatformVersion\x12Z\n\x06ranges\x18\x01 \x03(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionRange\x12\x1d\n\x15work_around_pyoto_bug\x18\x02 \x01(\x08\x1a\x46\n\x15\x43lientRequiredChanges\x12\x19\n\rcommit_hashes\x18\x01 \x03(\tB\x02\x10\x00\x12\x12\n\npr_numbers\x18\x02 \x03(\x05\x1a\x8f\x05\n\x0e\x43lientPlatform\x12_\n\x0bios_version\x18\x01 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x00\x88\x01\x01\x12\x63\n\x0f\x61ndroid_version\x18\x02 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x01\x88\x01\x01\x12_\n\x0bweb_version\x18\x03 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x02\x88\x01\x01\x12\x62\n\x0enative_version\x18\x04 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.PlatformVersionH\x03\x88\x01\x01\x12\x1c\n\x14\x61llow_non_native_web\x18\x06 \x01(\x08\x12q\n\x17\x63lient_required_changes\x18\x05 \x01(\x0b\x32K.discord_protos.discord_experimentation.v1.Experiment.ClientRequiredChangesH\x04\x88\x01\x01\x42\x0e\n\x0c_ios_versionB\x12\n\x10_android_versionB\x0e\n\x0c_web_versionB\x11\n\x0f_native_versionB\x1a\n\x18_client_required_changes\x1a&\n\x13SDKVersionSpecifier\x12\x0f\n\x07version\x18\x01 \x01(\x05\x1a\x96\x01\n\x14SDKVersionRangeBound\x12_\n\x07version\x18\x01 \x01(\x0b\x32I.discord_protos.discord_experimentation.v1.Experiment.SDKVersionSpecifierH\x00\x88\x01\x01\x12\x11\n\tinclusive\x18\x02 \x01(\x08\x42\n\n\x08_version\x1a\xfd\x01\n\x0fSDKVersionRange\x12\x64\n\x0blower_bound\x18\x01 \x01(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.SDKVersionRangeBoundH\x00\x88\x01\x01\x12\x64\n\x0bupper_bound\x18\x02 \x01(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.SDKVersionRangeBoundH\x01\x88\x01\x01\x42\x0e\n\x0c_lower_boundB\x0e\n\x0c_upper_bound\x1a\x82\x01\n\nSDKVersion\x12U\n\x06ranges\x18\x01 \x03(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.SDKVersionRange\x12\x1d\n\x15work_around_pyoto_bug\x18\x02 \x01(\x08\x1a\xb5\x06\n\x15\x43lientOperatingSystem\x12Z\n\x0bios_version\x18\x01 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x00\x88\x01\x01\x12^\n\x0f\x61ndroid_version\x18\x02 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x01\x88\x01\x01\x12\\\n\rmacos_version\x18\x03 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x02\x88\x01\x01\x12^\n\x0fwindows_version\x18\x04 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x03\x88\x01\x01\x12\x62\n\x13playstation_version\x18\x05 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x04\x88\x01\x01\x12[\n\x0cxbox_version\x18\x06 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x05\x88\x01\x01\x12\\\n\rlinux_version\x18\x07 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.SDKVersionH\x06\x88\x01\x01\x42\x0e\n\x0c_ios_versionB\x12\n\x10_android_versionB\x10\n\x0e_macos_versionB\x12\n\x10_windows_versionB\x16\n\x14_playstation_versionB\x0f\n\r_xbox_versionB\x10\n\x0e_linux_version\x1a>\n\nStaffUsers\x12\x15\n\rwork_accounts\x18\x01 \x01(\x08\x12\x19\n\x11personal_accounts\x18\x02 \x01(\x08\x1a \n\x0bUserInGuild\x12\x11\n\tguild_ids\x18\x01 \x03(\x06\x1a\x1b\n\x07UserIds\x12\x10\n\x08user_ids\x18\x01 \x03(\x06\x1a#\n\x0c\x43lientLocale\x12\x13\n\x07locales\x18\x01 \x03(\tB\x02\x10\x00\x1a\x39\n\tISORegion\x12\x13\n\x0biso_country\x18\x01 \x01(\t\x12\x17\n\x0fiso_subdivision\x18\x02 \x01(\t\x1a;\n\x05Place\x12\x0c\n\x04\x63ity\x18\x01 \x01(\t\x12\x13\n\x0bsubdivision\x18\x02 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x03 \x01(\t\x1a\xcc\x01\n\x08Location\x12U\n\niso_region\x18\x01 \x01(\x0b\x32?.discord_protos.discord_experimentation.v1.Experiment.ISORegionH\x00\x12\x0f\n\x05is_eu\x18\x02 \x01(\x08H\x00\x12L\n\x05place\x18\x03 \x01(\x0b\x32;.discord_protos.discord_experimentation.v1.Experiment.PlaceH\x00\x42\n\n\x08location\x1a\x63\n\x0e\x43lientLocation\x12Q\n\tlocations\x18\x01 \x03(\x0b\x32>.discord_protos.discord_experimentation.v1.Experiment.Location\x1a\x1e\n\x08\x43lientIP\x12\x12\n\x06\x62locks\x18\x01 \x03(\tB\x02\x10\x00\x1a!\n\nUserLocale\x12\x13\n\x07locales\x18\x01 \x03(\tB\x02\x10\x00\x1a\x1b\n\tUserIsBot\x12\x0e\n\x06is_bot\x18\x01 \x01(\x08\x1a\xa6\x01\n\x0cUserAgeRange\x12\x38\n\rmin_age_years\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueH\x00\x88\x01\x01\x12\x38\n\rmax_age_years\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueH\x01\x88\x01\x01\x42\x10\n\x0e_min_age_yearsB\x10\n\x0e_max_age_years\x1a\x1d\n\x0c\x46ixed64Value\x12\r\n\x05value\x18\x01 \x01(\x06\x1a\xd5\x01\n\x0bUserIDRange\x12W\n\x06min_id\x18\x01 \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.Fixed64ValueH\x00\x88\x01\x01\x12W\n\x06max_id\x18\x02 \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.Fixed64ValueH\x01\x88\x01\x01\x42\t\n\x07_min_idB\t\n\x07_max_id\x1a\x1b\n\x0bUserHasFlag\x12\x0c\n\x04mask\x18\x01 \x01(\x06\x1a\x37\n\x13UnitIdInRangeByHash\x12\x10\n\x08hash_key\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\r\x1a\x34\n\x14\x43lientReleaseChannel\x12\x1c\n\x10release_channels\x18\x01 \x03(\tB\x02\x10\x00\x1a\x17\n\x06\x41lways\x12\r\n\x05value\x18\x01 \x01(\x08\x1a)\n\x12\x43lientSystemLocale\x12\x13\n\x07locales\x18\x01 \x03(\tB\x02\x10\x00\x1a\x42\n\x12UnitIdInExperiment\x12\x15\n\rexperiment_id\x18\x01 \x01(\x06\x12\x15\n\rvariation_ids\x18\x02 \x03(\x05\x1a(\n\x0fUserPremiumType\x12\x15\n\rpremium_types\x18\x01 \x03(\x05\x1aY\n\x1bUnitIdMatchesFilterSnapshot\x12\x1c\n\x14\x66ilter_snapshot_name\x18\x01 \x01(\t\x12\x1c\n\x14target_filter_values\x18\x02 \x03(\x06\x1a\x8c\x0f\n\x06\x46ilter\x12^\n\x0e\x63lient_version\x18\x02 \x01(\x0b\x32\x44.discord_protos.discord_experimentation.v1.Experiment.ClientPlatformH\x00\x12`\n\tclient_os\x18\x03 \x01(\x0b\x32K.discord_protos.discord_experimentation.v1.Experiment.ClientOperatingSystemH\x00\x12Q\n\x05staff\x18\x04 \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.StaffUsersH\x00\x12Z\n\ruser_in_guild\x18\x05 \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.UserInGuildH\x00\x12Q\n\x08user_ids\x18\x06 \x01(\x0b\x32=.discord_protos.discord_experimentation.v1.Experiment.UserIdsH\x00\x12[\n\rclient_locale\x18\x07 \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.ClientLocaleH\x00\x12_\n\x0f\x63lient_location\x18\x08 \x01(\x0b\x32\x44.discord_protos.discord_experimentation.v1.Experiment.ClientLocationH\x00\x12S\n\tclient_ip\x18\t \x01(\x0b\x32>.discord_protos.discord_experimentation.v1.Experiment.ClientIPH\x00\x12W\n\x0buser_locale\x18\n \x01(\x0b\x32@.discord_protos.discord_experimentation.v1.Experiment.UserLocaleH\x00\x12N\n\x03\x62ot\x18\x0b \x01(\x0b\x32?.discord_protos.discord_experimentation.v1.Experiment.UserIsBotH\x00\x12\\\n\x0euser_age_range\x18\x0c \x01(\x0b\x32\x42.discord_protos.discord_experimentation.v1.Experiment.UserAgeRangeH\x00\x12Z\n\ruser_id_range\x18\r \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.UserIDRangeH\x00\x12Z\n\ruser_has_flag\x18\x0e \x01(\x0b\x32\x41.discord_protos.discord_experimentation.v1.Experiment.UserHasFlagH\x00\x12m\n\x18unit_id_in_range_by_hash\x18\x0f \x01(\x0b\x32I.discord_protos.discord_experimentation.v1.Experiment.UnitIdInRangeByHashH\x00\x12l\n\x16\x63lient_release_channel\x18\x10 \x01(\x0b\x32J.discord_protos.discord_experimentation.v1.Experiment.ClientReleaseChannelH\x00\x12N\n\x06\x61lways\x18\x11 \x01(\x0b\x32<.discord_protos.discord_experimentation.v1.Experiment.AlwaysH\x00\x12h\n\x14\x63lient_system_locale\x18\x12 \x01(\x0b\x32H.discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocaleH\x00\x12i\n\x15unit_id_in_experiment\x18\x13 \x01(\x0b\x32H.discord_protos.discord_experimentation.v1.Experiment.UnitIdInExperimentH\x00\x12\x62\n\x11user_premium_type\x18\x14 \x01(\x0b\x32\x45.discord_protos.discord_experimentation.v1.Experiment.UserPremiumTypeH\x00\x12|\n\x1funit_id_matches_filter_snapshot\x18\x15 \x01(\x0b\x32Q.discord_protos.discord_experimentation.v1.Experiment.UnitIdMatchesFilterSnapshotH\x00\x42\x08\n\x06\x66ilter\x1a \n\x08Override\x12\x14\n\x0cvariation_id\x18\x01 \x01(\x05\x1a\x9b\x02\n\x04Rule\x12H\n\x04type\x18\x01 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\x12M\n\x07\x66ilters\x18\x02 \x03(\x0b\x32<.discord_protos.discord_experimentation.v1.Experiment.Filter\x12U\n\x08override\x18\x03 \x01(\x0b\x32>.discord_protos.discord_experimentation.v1.Experiment.OverrideH\x00\x88\x01\x01\x12\x16\n\x0eis_sunset_rule\x18\x04 \x01(\x08\x42\x0b\n\t_override\x1a\xc2\x01\n\x0b\x44\x65\x62ugConfig\x12\x1f\n\x17\x65nable_decision_logging\x18\x01 \x01(\x08\x12\x1b\n\x13metrics_sample_rate\x18\x02 \x01(\x01\x12\x1e\n\x16log_context_on_failure\x18\x03 \x01(\x08\x12\x17\n\x0flog_raw_headers\x18\x04 \x01(\x08\x12\x1a\n\x12tag_filter_metrics\x18\x05 \x01(\x08\x12 \n\x18\x64\x65\x63ision_log_sample_rate\x18\x06 \x01(\x01\"9\n\x08UnitType\x12\x19\n\x15UNIT_TYPE_UNSPECIFIED\x10\x00\x12\x12\n\x0eUNIT_TYPE_USER\x10\x01\"O\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bTYPE_ACTIVE\x10\x01\x12\x0f\n\x0bTYPE_UNUSED\x10\x02\x12\x0f\n\x0bTYPE_BURNED\x10\x03\"\x84\x01\n\x05Phase\x12\x15\n\x11PHASE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPHASE_DRAFT\x10\x01\x12\x15\n\x11PHASE_MEASUREMENT\x10\x02\x12\x15\n\x11PHASE_ROLLING_OUT\x10\x04\x12\x12\n\x0ePHASE_ARCHIVED\x10\x06\x12\x11\n\rPHASE_AA_MODE\x10\x07\"\x96\x01\n\x07Surface\x12\x17\n\x13SURFACE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bSURFACE_API\x10\x01\x12\x0f\n\x0bSURFACE_APP\x10\x02\x12\x1c\n\x18SURFACE_DEVELOPER_PORTAL\x10\x03\x12\x17\n\x13SURFACE_ADMIN_PANEL\x10\x04\x12\x19\n\x15SURFACE_ADS_BUDGET_AB\x10\x05\"Q\n\x10\x45xposureTracking\x12\x1d\n\x19\x45XPOSURE_TRACKING_ENABLED\x10\x00\x12\x1e\n\x1a\x45XPOSURE_TRACKING_DISABLED\x10\x01\"\x8a\x01\n\x0e\x41ssignmentMode\x12\x18\n\x14\x41SSIGNMENT_MODE_FULL\x10\x00\x12!\n\x1d\x41SSIGNMENT_MODE_FORCE_CONTROL\x10\x03\x12\"\n\x1e\x41SSIGNMENT_MODE_OVERRIDES_ONLY\x10\x04\x12\x17\n\x13\x41SSIGNMENT_MODE_OFF\x10\x05\x42\r\n\x0b_created_atB\x0c\n\n_edited_atB\r\n\x0b_hypothesisB\x11\n\x0f_tech_spec_linkB\x0f\n\r_debug_configB\x14\n\x12_expected_end_dateB\r\n\x0b_archive_atb\x06proto3')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -48,95 +48,95 @@ if not _descriptor._USE_C_DESCRIPTORS:
48
48
  _globals['_EXPERIMENT'].fields_by_name['engine_feature_flags']._loaded_options = None
49
49
  _globals['_EXPERIMENT'].fields_by_name['engine_feature_flags']._serialized_options = b'\020\000'
50
50
  _globals['_EXPERIMENT']._serialized_start=156
51
- _globals['_EXPERIMENT']._serialized_end=9611
52
- _globals['_EXPERIMENT_BUCKET']._serialized_start=1607
53
- _globals['_EXPERIMENT_BUCKET']._serialized_end=1718
54
- _globals['_EXPERIMENT_VARIATION']._serialized_start=1721
55
- _globals['_EXPERIMENT_VARIATION']._serialized_end=2015
56
- _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_start=2018
57
- _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_end=2179
58
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_start=2182
59
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_end=2342
60
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_start=2345
61
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_end=2613
62
- _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_start=2616
63
- _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_end=2756
64
- _globals['_EXPERIMENT_CLIENTREQUIREDCHANGES']._serialized_start=2758
65
- _globals['_EXPERIMENT_CLIENTREQUIREDCHANGES']._serialized_end=2828
66
- _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_start=2831
67
- _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_end=3486
68
- _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_start=3488
69
- _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_end=3526
70
- _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_start=3529
71
- _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_end=3679
72
- _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_start=3682
73
- _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_end=3935
74
- _globals['_EXPERIMENT_SDKVERSION']._serialized_start=3938
75
- _globals['_EXPERIMENT_SDKVERSION']._serialized_end=4068
76
- _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_start=4071
77
- _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_end=4892
78
- _globals['_EXPERIMENT_STAFFUSERS']._serialized_start=4894
79
- _globals['_EXPERIMENT_STAFFUSERS']._serialized_end=4956
80
- _globals['_EXPERIMENT_USERINGUILD']._serialized_start=4958
81
- _globals['_EXPERIMENT_USERINGUILD']._serialized_end=4990
82
- _globals['_EXPERIMENT_USERIDS']._serialized_start=4992
83
- _globals['_EXPERIMENT_USERIDS']._serialized_end=5019
84
- _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_start=5021
85
- _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_end=5056
86
- _globals['_EXPERIMENT_ISOREGION']._serialized_start=5058
87
- _globals['_EXPERIMENT_ISOREGION']._serialized_end=5115
88
- _globals['_EXPERIMENT_PLACE']._serialized_start=5117
89
- _globals['_EXPERIMENT_PLACE']._serialized_end=5176
90
- _globals['_EXPERIMENT_LOCATION']._serialized_start=5179
91
- _globals['_EXPERIMENT_LOCATION']._serialized_end=5383
92
- _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_start=5385
93
- _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_end=5484
94
- _globals['_EXPERIMENT_CLIENTIP']._serialized_start=5486
95
- _globals['_EXPERIMENT_CLIENTIP']._serialized_end=5516
96
- _globals['_EXPERIMENT_USERLOCALE']._serialized_start=5518
97
- _globals['_EXPERIMENT_USERLOCALE']._serialized_end=5551
98
- _globals['_EXPERIMENT_USERISBOT']._serialized_start=5553
99
- _globals['_EXPERIMENT_USERISBOT']._serialized_end=5580
100
- _globals['_EXPERIMENT_USERAGERANGE']._serialized_start=5583
101
- _globals['_EXPERIMENT_USERAGERANGE']._serialized_end=5749
102
- _globals['_EXPERIMENT_FIXED64VALUE']._serialized_start=5751
103
- _globals['_EXPERIMENT_FIXED64VALUE']._serialized_end=5780
104
- _globals['_EXPERIMENT_USERIDRANGE']._serialized_start=5783
105
- _globals['_EXPERIMENT_USERIDRANGE']._serialized_end=5996
106
- _globals['_EXPERIMENT_USERHASFLAG']._serialized_start=5998
107
- _globals['_EXPERIMENT_USERHASFLAG']._serialized_end=6025
108
- _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_start=6027
109
- _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_end=6082
110
- _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_start=6084
111
- _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_end=6136
112
- _globals['_EXPERIMENT_ALWAYS']._serialized_start=6138
113
- _globals['_EXPERIMENT_ALWAYS']._serialized_end=6161
114
- _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_start=6163
115
- _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_end=6204
116
- _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_start=6206
117
- _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_end=6272
118
- _globals['_EXPERIMENT_USERPREMIUMTYPE']._serialized_start=6274
119
- _globals['_EXPERIMENT_USERPREMIUMTYPE']._serialized_end=6314
120
- _globals['_EXPERIMENT_UNITIDMATCHESFILTERSNAPSHOT']._serialized_start=6316
121
- _globals['_EXPERIMENT_UNITIDMATCHESFILTERSNAPSHOT']._serialized_end=6405
122
- _globals['_EXPERIMENT_FILTER']._serialized_start=6408
123
- _globals['_EXPERIMENT_FILTER']._serialized_end=8340
124
- _globals['_EXPERIMENT_OVERRIDE']._serialized_start=8342
125
- _globals['_EXPERIMENT_OVERRIDE']._serialized_end=8374
126
- _globals['_EXPERIMENT_RULE']._serialized_start=8377
127
- _globals['_EXPERIMENT_RULE']._serialized_end=8660
128
- _globals['_EXPERIMENT_DEBUGCONFIG']._serialized_start=8663
129
- _globals['_EXPERIMENT_DEBUGCONFIG']._serialized_end=8857
130
- _globals['_EXPERIMENT_UNITTYPE']._serialized_start=8859
131
- _globals['_EXPERIMENT_UNITTYPE']._serialized_end=8916
132
- _globals['_EXPERIMENT_TYPE']._serialized_start=8918
133
- _globals['_EXPERIMENT_TYPE']._serialized_end=8997
134
- _globals['_EXPERIMENT_PHASE']._serialized_start=9000
135
- _globals['_EXPERIMENT_PHASE']._serialized_end=9132
136
- _globals['_EXPERIMENT_SURFACE']._serialized_start=9135
137
- _globals['_EXPERIMENT_SURFACE']._serialized_end=9285
138
- _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_start=9287
139
- _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_end=9368
140
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=9371
141
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=9509
51
+ _globals['_EXPERIMENT']._serialized_end=9710
52
+ _globals['_EXPERIMENT_BUCKET']._serialized_start=1691
53
+ _globals['_EXPERIMENT_BUCKET']._serialized_end=1802
54
+ _globals['_EXPERIMENT_VARIATION']._serialized_start=1805
55
+ _globals['_EXPERIMENT_VARIATION']._serialized_end=2099
56
+ _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_start=2102
57
+ _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_end=2263
58
+ _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_start=2266
59
+ _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_end=2426
60
+ _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_start=2429
61
+ _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_end=2697
62
+ _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_start=2700
63
+ _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_end=2840
64
+ _globals['_EXPERIMENT_CLIENTREQUIREDCHANGES']._serialized_start=2842
65
+ _globals['_EXPERIMENT_CLIENTREQUIREDCHANGES']._serialized_end=2912
66
+ _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_start=2915
67
+ _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_end=3570
68
+ _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_start=3572
69
+ _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_end=3610
70
+ _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_start=3613
71
+ _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_end=3763
72
+ _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_start=3766
73
+ _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_end=4019
74
+ _globals['_EXPERIMENT_SDKVERSION']._serialized_start=4022
75
+ _globals['_EXPERIMENT_SDKVERSION']._serialized_end=4152
76
+ _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_start=4155
77
+ _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_end=4976
78
+ _globals['_EXPERIMENT_STAFFUSERS']._serialized_start=4978
79
+ _globals['_EXPERIMENT_STAFFUSERS']._serialized_end=5040
80
+ _globals['_EXPERIMENT_USERINGUILD']._serialized_start=5042
81
+ _globals['_EXPERIMENT_USERINGUILD']._serialized_end=5074
82
+ _globals['_EXPERIMENT_USERIDS']._serialized_start=5076
83
+ _globals['_EXPERIMENT_USERIDS']._serialized_end=5103
84
+ _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_start=5105
85
+ _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_end=5140
86
+ _globals['_EXPERIMENT_ISOREGION']._serialized_start=5142
87
+ _globals['_EXPERIMENT_ISOREGION']._serialized_end=5199
88
+ _globals['_EXPERIMENT_PLACE']._serialized_start=5201
89
+ _globals['_EXPERIMENT_PLACE']._serialized_end=5260
90
+ _globals['_EXPERIMENT_LOCATION']._serialized_start=5263
91
+ _globals['_EXPERIMENT_LOCATION']._serialized_end=5467
92
+ _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_start=5469
93
+ _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_end=5568
94
+ _globals['_EXPERIMENT_CLIENTIP']._serialized_start=5570
95
+ _globals['_EXPERIMENT_CLIENTIP']._serialized_end=5600
96
+ _globals['_EXPERIMENT_USERLOCALE']._serialized_start=5602
97
+ _globals['_EXPERIMENT_USERLOCALE']._serialized_end=5635
98
+ _globals['_EXPERIMENT_USERISBOT']._serialized_start=5637
99
+ _globals['_EXPERIMENT_USERISBOT']._serialized_end=5664
100
+ _globals['_EXPERIMENT_USERAGERANGE']._serialized_start=5667
101
+ _globals['_EXPERIMENT_USERAGERANGE']._serialized_end=5833
102
+ _globals['_EXPERIMENT_FIXED64VALUE']._serialized_start=5835
103
+ _globals['_EXPERIMENT_FIXED64VALUE']._serialized_end=5864
104
+ _globals['_EXPERIMENT_USERIDRANGE']._serialized_start=5867
105
+ _globals['_EXPERIMENT_USERIDRANGE']._serialized_end=6080
106
+ _globals['_EXPERIMENT_USERHASFLAG']._serialized_start=6082
107
+ _globals['_EXPERIMENT_USERHASFLAG']._serialized_end=6109
108
+ _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_start=6111
109
+ _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_end=6166
110
+ _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_start=6168
111
+ _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_end=6220
112
+ _globals['_EXPERIMENT_ALWAYS']._serialized_start=6222
113
+ _globals['_EXPERIMENT_ALWAYS']._serialized_end=6245
114
+ _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_start=6247
115
+ _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_end=6288
116
+ _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_start=6290
117
+ _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_end=6356
118
+ _globals['_EXPERIMENT_USERPREMIUMTYPE']._serialized_start=6358
119
+ _globals['_EXPERIMENT_USERPREMIUMTYPE']._serialized_end=6398
120
+ _globals['_EXPERIMENT_UNITIDMATCHESFILTERSNAPSHOT']._serialized_start=6400
121
+ _globals['_EXPERIMENT_UNITIDMATCHESFILTERSNAPSHOT']._serialized_end=6489
122
+ _globals['_EXPERIMENT_FILTER']._serialized_start=6492
123
+ _globals['_EXPERIMENT_FILTER']._serialized_end=8424
124
+ _globals['_EXPERIMENT_OVERRIDE']._serialized_start=8426
125
+ _globals['_EXPERIMENT_OVERRIDE']._serialized_end=8458
126
+ _globals['_EXPERIMENT_RULE']._serialized_start=8461
127
+ _globals['_EXPERIMENT_RULE']._serialized_end=8744
128
+ _globals['_EXPERIMENT_DEBUGCONFIG']._serialized_start=8747
129
+ _globals['_EXPERIMENT_DEBUGCONFIG']._serialized_end=8941
130
+ _globals['_EXPERIMENT_UNITTYPE']._serialized_start=8943
131
+ _globals['_EXPERIMENT_UNITTYPE']._serialized_end=9000
132
+ _globals['_EXPERIMENT_TYPE']._serialized_start=9002
133
+ _globals['_EXPERIMENT_TYPE']._serialized_end=9081
134
+ _globals['_EXPERIMENT_PHASE']._serialized_start=9084
135
+ _globals['_EXPERIMENT_PHASE']._serialized_end=9216
136
+ _globals['_EXPERIMENT_SURFACE']._serialized_start=9219
137
+ _globals['_EXPERIMENT_SURFACE']._serialized_end=9369
138
+ _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_start=9371
139
+ _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_end=9452
140
+ _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=9455
141
+ _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=9593
142
142
  # @@protoc_insertion_point(module_scope)
@@ -89,6 +89,68 @@ message PremiumMarketingComponentProperties {
89
89
  optional CTAButton button = 5;
90
90
  }
91
91
 
92
+ message Gradient {
93
+ repeated string colors = 1 [packed = false];
94
+ float angle = 2;
95
+ }
96
+
97
+ message GiftIcon {
98
+ string box_animation_url = 1;
99
+ string trinket_animation_url = 2;
100
+ string trinket_glow_animation_url = 3;
101
+ optional Gradient gradient = 4;
102
+ }
103
+
104
+ message GiftIconCoachmark {
105
+ string header_key = 1;
106
+ string body_key = 2;
107
+ string asset_url = 3;
108
+ }
109
+
110
+ message ThemeAwareAsset {
111
+ string light_url = 1;
112
+ string dark_url = 2;
113
+ }
114
+
115
+ message GiftPlanSelectionCardBanner {
116
+ string header_key = 1;
117
+ string desktop_body_key = 2;
118
+ string mobile_body_key = 3;
119
+ optional ThemeAwareAsset avatar_asset = 4;
120
+ string banner_asset_url = 5;
121
+ string background_asset_url = 6;
122
+ string card_asset_url = 7;
123
+ optional Gradient gradient = 8;
124
+ }
125
+
126
+ message GiftCustomizationBanner {
127
+ string asset_url = 1;
128
+ string desktop_body_key = 2;
129
+ string mobile_body_key = 3;
130
+ optional Gradient gradient = 4;
131
+ string background_asset_url = 5;
132
+ }
133
+
134
+ message BillingSettingsNitroGiftBanner {
135
+ string asset_url = 1;
136
+ string header_key = 2;
137
+ string body_key = 3;
138
+ string background_asset_url = 4;
139
+ optional Gradient gradient = 5;
140
+ string text_color = 6;
141
+ string additional_terms_key = 7;
142
+ }
143
+
144
+ message GiftReminderNagbar {
145
+ string body_key = 1;
146
+ }
147
+
148
+ message GiftReminderCoachmark {
149
+ string header_key = 1;
150
+ string body_key = 2;
151
+ string asset_url = 3;
152
+ }
153
+
92
154
  string content_identifier = 3;
93
155
  oneof properties {
94
156
  string placeholder = 1;
@@ -97,6 +159,13 @@ message PremiumMarketingComponentProperties {
97
159
  MarketingPageBanner marketing_page_banner = 5;
98
160
  PaymentModalBanner payment_modal_banner = 6;
99
161
  MobileBottomSheet mobile_bottom_sheet = 7;
162
+ GiftIcon gift_icon = 8;
163
+ GiftIconCoachmark gift_icon_coachmark = 9;
164
+ GiftPlanSelectionCardBanner gift_plan_selection_card_banner = 10;
165
+ GiftCustomizationBanner gift_customization_banner = 11;
166
+ BillingSettingsNitroGiftBanner billing_settings_nitro_gift_banner = 12;
167
+ GiftReminderNagbar gift_reminder_nagbar = 13;
168
+ GiftReminderCoachmark gift_reminder_coachmark = 14;
100
169
  }
101
170
 
102
171
  }
@@ -24,7 +24,7 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
 
26
26
 
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n>premium_marketing/v1/PremiumMarketingComponentProperties.proto\x12#discord_protos.premium_marketing.v1\"\x9e\x1c\n#PremiumMarketingComponentProperties\x12\x1a\n\x12\x63ontent_identifier\x18\x03 \x01(\t\x12\x15\n\x0bplaceholder\x18\x01 \x01(\tH\x00\x12\x94\x01\n\x1c\x61nnouncement_modal_variant_1\x18\x02 \x01(\x0b\x32l.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.AnnouncementModalVariant1PropertiesH\x00\x12j\n\x0bpremium_tab\x18\x04 \x01(\x0b\x32S.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PremiumTabH\x00\x12}\n\x15marketing_page_banner\x18\x05 \x01(\x0b\x32\\.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MarketingPageBannerH\x00\x12{\n\x14payment_modal_banner\x18\x06 \x01(\x0b\x32[.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PaymentModalBannerH\x00\x12y\n\x13mobile_bottom_sheet\x18\x07 \x01(\x0b\x32Z.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MobileBottomSheetH\x00\x1am\n\x0b\x46\x65\x61tureCard\x12\x0e\n\x06header\x18\x01 \x01(\t\x12\x0c\n\x04pill\x18\x02 \x01(\t\x12\x0c\n\x04\x62ody\x18\x03 \x01(\t\x12\x12\n\nimage_link\x18\x04 \x01(\t\x12\x1e\n\x16image_link_light_theme\x18\x05 \x01(\t\x1a\x90\x01\n\x12SubscriptionButton\x12\x0c\n\x04\x63opy\x18\x01 \x01(\t\x12l\n\rbutton_action\x18\x02 \x01(\x0e\x32U.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.ButtonAction\x1a<\n\x08Subtitle\x12\x0c\n\x04link\x18\x01 \x01(\t\x12\x0e\n\x06locale\x18\x02 \x01(\t\x12\x12\n\nis_default\x18\x03 \x01(\x08\x1a\xff\x05\n\x0fVariant1Storage\x12\xb5\x01\n)hero_art_localized_video_links_dark_theme\x18\x01 \x03(\x0b\x32\x81\x01.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.Variant1Storage.HeroArtLocalizedVideoLinksDarkThemeEntry\x12\xb7\x01\n*hero_art_localized_video_links_light_theme\x18\x02 \x03(\x0b\x32\x82\x01.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.Variant1Storage.HeroArtLocalizedVideoLinksLightThemeEntry\x12\x9e\x01\n\x1dhero_art_video_subtitle_links\x18\x03 \x03(\x0b\x32w.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.Variant1Storage.HeroArtVideoSubtitleLinksEntry\x1aJ\n(HeroArtLocalizedVideoLinksDarkThemeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aK\n)HeroArtLocalizedVideoLinksLightThemeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a@\n\x1eHeroArtVideoSubtitleLinksEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x85\x06\n#AnnouncementModalVariant1Properties\x12\x0e\n\x06header\x18\x01 \x01(\t\x12\x11\n\tsubheader\x18\x02 \x01(\t\x12\x12\n\nvideo_link\x18\x03 \x01(\t\x12\x17\n\x0fhelp_article_id\x18\x04 \x01(\t\x12k\n\rfeature_cards\x18\x05 \x03(\x0b\x32T.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.FeatureCard\x12p\n\x06\x62utton\x18\x06 \x01(\x0b\x32[.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.SubscriptionButtonH\x00\x88\x01\x01\x12\x13\n\x0b\x64ismiss_key\x18\x07 \x01(\t\x12\'\n\x1fhero_art_video_link_light_theme\x18\x08 \x01(\t\x12&\n\x1ehero_art_image_link_dark_theme\x18\t \x01(\t\x12\'\n\x1fhero_art_image_link_light_theme\x18\n \x01(\t\x12\x16\n\x0emodal_top_pill\x18\x0b \x01(\t\x12\x0c\n\x04\x62ody\x18\x0c \x01(\t\x12s\n\x18hero_art_video_subtitles\x18\r \x03(\x0b\x32Q.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.Subtitle\x12n\n\x07storage\x18\x0e \x01(\x0b\x32X.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.Variant1StorageH\x01\x88\x01\x01\x42\t\n\x07_buttonB\n\n\x08_storage\x1a\x43\n\nPremiumTab\x12\x13\n\x0b\x62\x61\x64ge_label\x18\x01 \x01(\t\x12 \n\x18\x61\x63knowledged_badge_label\x18\x02 \x01(\t\x1a\x97\x01\n\x19MarketingPageBannerButton\x12\x0c\n\x04\x63opy\x18\x01 \x01(\t\x12l\n\rbutton_action\x18\x02 \x01(\x0e\x32U.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.ButtonAction\x1a\xe3\x01\n\x13MarketingPageBanner\x12\x11\n\tasset_url\x18\x01 \x01(\t\x12\x0e\n\x06header\x18\x02 \x01(\t\x12\x0c\n\x04\x62ody\x18\x03 \x01(\t\x12\x17\n\x0fhelp_article_id\x18\x04 \x01(\t\x12w\n\x06\x62utton\x18\x05 \x01(\x0b\x32\x62.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MarketingPageBannerButtonH\x00\x88\x01\x01\x42\t\n\x07_button\x1a\x45\n\x12PaymentModalBanner\x12\x11\n\tasset_url\x18\x01 \x01(\t\x12\x0e\n\x06header\x18\x02 \x01(\t\x12\x0c\n\x04\x62ody\x18\x03 \x01(\t\x1a\x19\n\tCTAButton\x12\x0c\n\x04\x63opy\x18\x01 \x01(\t\x1a\xd1\x01\n\x11MobileBottomSheet\x12\x11\n\tasset_url\x18\x01 \x01(\t\x12\x0e\n\x06header\x18\x02 \x01(\t\x12\x0c\n\x04\x62ody\x18\x03 \x01(\t\x12\x17\n\x0fhelp_article_id\x18\x04 \x01(\t\x12g\n\x06\x62utton\x18\x05 \x01(\x0b\x32R.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.CTAButtonH\x00\x88\x01\x01\x42\t\n\x07_button\"\xf6\x01\n\x0c\x42uttonAction\x12\x1d\n\x19\x42UTTON_ACTION_UNSPECIFIED\x10\x00\x12%\n!BUTTON_ACTION_OPEN_MARKETING_PAGE\x10\x01\x12+\n\'BUTTON_ACTION_OPEN_TIER_2_PAYMENT_MODAL\x10\x02\x12+\n\'BUTTON_ACTION_OPEN_TIER_1_PAYMENT_MODAL\x10\x03\x12\x46\nBBUTTON_ACTION_OPEN_TIER_2_PAYMENT_MODAL_CUSTOM_CONFIRMATION_FOOTER\x10\x04\x42\x0c\n\npropertiesb\x06proto3')
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n>premium_marketing/v1/PremiumMarketingComponentProperties.proto\x12#discord_protos.premium_marketing.v1\"\x93/\n#PremiumMarketingComponentProperties\x12\x1a\n\x12\x63ontent_identifier\x18\x03 \x01(\t\x12\x15\n\x0bplaceholder\x18\x01 \x01(\tH\x00\x12\x94\x01\n\x1c\x61nnouncement_modal_variant_1\x18\x02 \x01(\x0b\x32l.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.AnnouncementModalVariant1PropertiesH\x00\x12j\n\x0bpremium_tab\x18\x04 \x01(\x0b\x32S.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PremiumTabH\x00\x12}\n\x15marketing_page_banner\x18\x05 \x01(\x0b\x32\\.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MarketingPageBannerH\x00\x12{\n\x14payment_modal_banner\x18\x06 \x01(\x0b\x32[.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PaymentModalBannerH\x00\x12y\n\x13mobile_bottom_sheet\x18\x07 \x01(\x0b\x32Z.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MobileBottomSheetH\x00\x12\x66\n\tgift_icon\x18\x08 \x01(\x0b\x32Q.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.GiftIconH\x00\x12y\n\x13gift_icon_coachmark\x18\t \x01(\x0b\x32Z.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.GiftIconCoachmarkH\x00\x12\x8f\x01\n\x1fgift_plan_selection_card_banner\x18\n \x01(\x0b\x32\x64.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.GiftPlanSelectionCardBannerH\x00\x12\x85\x01\n\x19gift_customization_banner\x18\x0b \x01(\x0b\x32`.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.GiftCustomizationBannerH\x00\x12\x95\x01\n\"billing_settings_nitro_gift_banner\x18\x0c \x01(\x0b\x32g.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.BillingSettingsNitroGiftBannerH\x00\x12{\n\x14gift_reminder_nagbar\x18\r \x01(\x0b\x32[.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.GiftReminderNagbarH\x00\x12\x81\x01\n\x17gift_reminder_coachmark\x18\x0e \x01(\x0b\x32^.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.GiftReminderCoachmarkH\x00\x1am\n\x0b\x46\x65\x61tureCard\x12\x0e\n\x06header\x18\x01 \x01(\t\x12\x0c\n\x04pill\x18\x02 \x01(\t\x12\x0c\n\x04\x62ody\x18\x03 \x01(\t\x12\x12\n\nimage_link\x18\x04 \x01(\t\x12\x1e\n\x16image_link_light_theme\x18\x05 \x01(\t\x1a\x90\x01\n\x12SubscriptionButton\x12\x0c\n\x04\x63opy\x18\x01 \x01(\t\x12l\n\rbutton_action\x18\x02 \x01(\x0e\x32U.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.ButtonAction\x1a<\n\x08Subtitle\x12\x0c\n\x04link\x18\x01 \x01(\t\x12\x0e\n\x06locale\x18\x02 \x01(\t\x12\x12\n\nis_default\x18\x03 \x01(\x08\x1a\xff\x05\n\x0fVariant1Storage\x12\xb5\x01\n)hero_art_localized_video_links_dark_theme\x18\x01 \x03(\x0b\x32\x81\x01.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.Variant1Storage.HeroArtLocalizedVideoLinksDarkThemeEntry\x12\xb7\x01\n*hero_art_localized_video_links_light_theme\x18\x02 \x03(\x0b\x32\x82\x01.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.Variant1Storage.HeroArtLocalizedVideoLinksLightThemeEntry\x12\x9e\x01\n\x1dhero_art_video_subtitle_links\x18\x03 \x03(\x0b\x32w.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.Variant1Storage.HeroArtVideoSubtitleLinksEntry\x1aJ\n(HeroArtLocalizedVideoLinksDarkThemeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aK\n)HeroArtLocalizedVideoLinksLightThemeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a@\n\x1eHeroArtVideoSubtitleLinksEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x85\x06\n#AnnouncementModalVariant1Properties\x12\x0e\n\x06header\x18\x01 \x01(\t\x12\x11\n\tsubheader\x18\x02 \x01(\t\x12\x12\n\nvideo_link\x18\x03 \x01(\t\x12\x17\n\x0fhelp_article_id\x18\x04 \x01(\t\x12k\n\rfeature_cards\x18\x05 \x03(\x0b\x32T.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.FeatureCard\x12p\n\x06\x62utton\x18\x06 \x01(\x0b\x32[.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.SubscriptionButtonH\x00\x88\x01\x01\x12\x13\n\x0b\x64ismiss_key\x18\x07 \x01(\t\x12\'\n\x1fhero_art_video_link_light_theme\x18\x08 \x01(\t\x12&\n\x1ehero_art_image_link_dark_theme\x18\t \x01(\t\x12\'\n\x1fhero_art_image_link_light_theme\x18\n \x01(\t\x12\x16\n\x0emodal_top_pill\x18\x0b \x01(\t\x12\x0c\n\x04\x62ody\x18\x0c \x01(\t\x12s\n\x18hero_art_video_subtitles\x18\r \x03(\x0b\x32Q.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.Subtitle\x12n\n\x07storage\x18\x0e \x01(\x0b\x32X.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.Variant1StorageH\x01\x88\x01\x01\x42\t\n\x07_buttonB\n\n\x08_storage\x1a\x43\n\nPremiumTab\x12\x13\n\x0b\x62\x61\x64ge_label\x18\x01 \x01(\t\x12 \n\x18\x61\x63knowledged_badge_label\x18\x02 \x01(\t\x1a\x97\x01\n\x19MarketingPageBannerButton\x12\x0c\n\x04\x63opy\x18\x01 \x01(\t\x12l\n\rbutton_action\x18\x02 \x01(\x0e\x32U.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.ButtonAction\x1a\xe3\x01\n\x13MarketingPageBanner\x12\x11\n\tasset_url\x18\x01 \x01(\t\x12\x0e\n\x06header\x18\x02 \x01(\t\x12\x0c\n\x04\x62ody\x18\x03 \x01(\t\x12\x17\n\x0fhelp_article_id\x18\x04 \x01(\t\x12w\n\x06\x62utton\x18\x05 \x01(\x0b\x32\x62.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MarketingPageBannerButtonH\x00\x88\x01\x01\x42\t\n\x07_button\x1a\x45\n\x12PaymentModalBanner\x12\x11\n\tasset_url\x18\x01 \x01(\t\x12\x0e\n\x06header\x18\x02 \x01(\t\x12\x0c\n\x04\x62ody\x18\x03 \x01(\t\x1a\x19\n\tCTAButton\x12\x0c\n\x04\x63opy\x18\x01 \x01(\t\x1a\xd1\x01\n\x11MobileBottomSheet\x12\x11\n\tasset_url\x18\x01 \x01(\t\x12\x0e\n\x06header\x18\x02 \x01(\t\x12\x0c\n\x04\x62ody\x18\x03 \x01(\t\x12\x17\n\x0fhelp_article_id\x18\x04 \x01(\t\x12g\n\x06\x62utton\x18\x05 \x01(\x0b\x32R.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.CTAButtonH\x00\x88\x01\x01\x42\t\n\x07_button\x1a-\n\x08Gradient\x12\x12\n\x06\x63olors\x18\x01 \x03(\tB\x02\x10\x00\x12\r\n\x05\x61ngle\x18\x02 \x01(\x02\x1a\xdf\x01\n\x08GiftIcon\x12\x19\n\x11\x62ox_animation_url\x18\x01 \x01(\t\x12\x1d\n\x15trinket_animation_url\x18\x02 \x01(\t\x12\"\n\x1atrinket_glow_animation_url\x18\x03 \x01(\t\x12h\n\x08gradient\x18\x04 \x01(\x0b\x32Q.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.GradientH\x00\x88\x01\x01\x42\x0b\n\t_gradient\x1aL\n\x11GiftIconCoachmark\x12\x12\n\nheader_key\x18\x01 \x01(\t\x12\x10\n\x08\x62ody_key\x18\x02 \x01(\t\x12\x11\n\tasset_url\x18\x03 \x01(\t\x1a\x36\n\x0fThemeAwareAsset\x12\x11\n\tlight_url\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61rk_url\x18\x02 \x01(\t\x1a\xb1\x03\n\x1bGiftPlanSelectionCardBanner\x12\x12\n\nheader_key\x18\x01 \x01(\t\x12\x18\n\x10\x64\x65sktop_body_key\x18\x02 \x01(\t\x12\x17\n\x0fmobile_body_key\x18\x03 \x01(\t\x12s\n\x0c\x61vatar_asset\x18\x04 \x01(\x0b\x32X.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.ThemeAwareAssetH\x00\x88\x01\x01\x12\x18\n\x10\x62\x61nner_asset_url\x18\x05 \x01(\t\x12\x1c\n\x14\x62\x61\x63kground_asset_url\x18\x06 \x01(\t\x12\x16\n\x0e\x63\x61rd_asset_url\x18\x07 \x01(\t\x12h\n\x08gradient\x18\x08 \x01(\x0b\x32Q.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.GradientH\x01\x88\x01\x01\x42\x0f\n\r_avatar_assetB\x0b\n\t_gradient\x1a\xf4\x01\n\x17GiftCustomizationBanner\x12\x11\n\tasset_url\x18\x01 \x01(\t\x12\x18\n\x10\x64\x65sktop_body_key\x18\x02 \x01(\t\x12\x17\n\x0fmobile_body_key\x18\x03 \x01(\t\x12h\n\x08gradient\x18\x04 \x01(\x0b\x32Q.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.GradientH\x00\x88\x01\x01\x12\x1c\n\x14\x62\x61\x63kground_asset_url\x18\x05 \x01(\tB\x0b\n\t_gradient\x1a\xa0\x02\n\x1e\x42illingSettingsNitroGiftBanner\x12\x11\n\tasset_url\x18\x01 \x01(\t\x12\x12\n\nheader_key\x18\x02 \x01(\t\x12\x10\n\x08\x62ody_key\x18\x03 \x01(\t\x12\x1c\n\x14\x62\x61\x63kground_asset_url\x18\x04 \x01(\t\x12h\n\x08gradient\x18\x05 \x01(\x0b\x32Q.discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.GradientH\x00\x88\x01\x01\x12\x12\n\ntext_color\x18\x06 \x01(\t\x12\x1c\n\x14\x61\x64\x64itional_terms_key\x18\x07 \x01(\tB\x0b\n\t_gradient\x1a&\n\x12GiftReminderNagbar\x12\x10\n\x08\x62ody_key\x18\x01 \x01(\t\x1aP\n\x15GiftReminderCoachmark\x12\x12\n\nheader_key\x18\x01 \x01(\t\x12\x10\n\x08\x62ody_key\x18\x02 \x01(\t\x12\x11\n\tasset_url\x18\x03 \x01(\t\"\xf6\x01\n\x0c\x42uttonAction\x12\x1d\n\x19\x42UTTON_ACTION_UNSPECIFIED\x10\x00\x12%\n!BUTTON_ACTION_OPEN_MARKETING_PAGE\x10\x01\x12+\n\'BUTTON_ACTION_OPEN_TIER_2_PAYMENT_MODAL\x10\x02\x12+\n\'BUTTON_ACTION_OPEN_TIER_1_PAYMENT_MODAL\x10\x03\x12\x46\nBBUTTON_ACTION_OPEN_TIER_2_PAYMENT_MODAL_CUSTOM_CONFIRMATION_FOOTER\x10\x04\x42\x0c\n\npropertiesb\x06proto3')
28
28
 
29
29
  _globals = globals()
30
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -37,36 +37,56 @@ if not _descriptor._USE_C_DESCRIPTORS:
37
37
  _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTLOCALIZEDVIDEOLINKSLIGHTTHEMEENTRY']._serialized_options = b'8\001'
38
38
  _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTVIDEOSUBTITLELINKSENTRY']._loaded_options = None
39
39
  _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTVIDEOSUBTITLELINKSENTRY']._serialized_options = b'8\001'
40
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GRADIENT'].fields_by_name['colors']._loaded_options = None
41
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GRADIENT'].fields_by_name['colors']._serialized_options = b'\020\000'
40
42
  _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES']._serialized_start=104
41
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES']._serialized_end=3718
42
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_FEATURECARD']._serialized_start=828
43
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_FEATURECARD']._serialized_end=937
44
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_SUBSCRIPTIONBUTTON']._serialized_start=940
45
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_SUBSCRIPTIONBUTTON']._serialized_end=1084
46
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_SUBTITLE']._serialized_start=1086
47
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_SUBTITLE']._serialized_end=1146
48
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE']._serialized_start=1149
49
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE']._serialized_end=1916
50
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTLOCALIZEDVIDEOLINKSDARKTHEMEENTRY']._serialized_start=1699
51
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTLOCALIZEDVIDEOLINKSDARKTHEMEENTRY']._serialized_end=1773
52
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTLOCALIZEDVIDEOLINKSLIGHTTHEMEENTRY']._serialized_start=1775
53
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTLOCALIZEDVIDEOLINKSLIGHTTHEMEENTRY']._serialized_end=1850
54
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTVIDEOSUBTITLELINKSENTRY']._serialized_start=1852
55
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTVIDEOSUBTITLELINKSENTRY']._serialized_end=1916
56
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_ANNOUNCEMENTMODALVARIANT1PROPERTIES']._serialized_start=1919
57
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_ANNOUNCEMENTMODALVARIANT1PROPERTIES']._serialized_end=2692
58
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_PREMIUMTAB']._serialized_start=2694
59
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_PREMIUMTAB']._serialized_end=2761
60
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_MARKETINGPAGEBANNERBUTTON']._serialized_start=2764
61
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_MARKETINGPAGEBANNERBUTTON']._serialized_end=2915
62
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_MARKETINGPAGEBANNER']._serialized_start=2918
63
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_MARKETINGPAGEBANNER']._serialized_end=3145
64
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_PAYMENTMODALBANNER']._serialized_start=3147
65
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_PAYMENTMODALBANNER']._serialized_end=3216
66
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_CTABUTTON']._serialized_start=3218
67
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_CTABUTTON']._serialized_end=3243
68
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_MOBILEBOTTOMSHEET']._serialized_start=3246
69
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_MOBILEBOTTOMSHEET']._serialized_end=3455
70
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_BUTTONACTION']._serialized_start=3458
71
- _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_BUTTONACTION']._serialized_end=3704
43
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES']._serialized_end=6139
44
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_FEATURECARD']._serialized_start=1746
45
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_FEATURECARD']._serialized_end=1855
46
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_SUBSCRIPTIONBUTTON']._serialized_start=1858
47
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_SUBSCRIPTIONBUTTON']._serialized_end=2002
48
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_SUBTITLE']._serialized_start=2004
49
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_SUBTITLE']._serialized_end=2064
50
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE']._serialized_start=2067
51
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE']._serialized_end=2834
52
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTLOCALIZEDVIDEOLINKSDARKTHEMEENTRY']._serialized_start=2617
53
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTLOCALIZEDVIDEOLINKSDARKTHEMEENTRY']._serialized_end=2691
54
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTLOCALIZEDVIDEOLINKSLIGHTTHEMEENTRY']._serialized_start=2693
55
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTLOCALIZEDVIDEOLINKSLIGHTTHEMEENTRY']._serialized_end=2768
56
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTVIDEOSUBTITLELINKSENTRY']._serialized_start=2770
57
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_VARIANT1STORAGE_HEROARTVIDEOSUBTITLELINKSENTRY']._serialized_end=2834
58
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_ANNOUNCEMENTMODALVARIANT1PROPERTIES']._serialized_start=2837
59
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_ANNOUNCEMENTMODALVARIANT1PROPERTIES']._serialized_end=3610
60
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_PREMIUMTAB']._serialized_start=3612
61
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_PREMIUMTAB']._serialized_end=3679
62
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_MARKETINGPAGEBANNERBUTTON']._serialized_start=3682
63
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_MARKETINGPAGEBANNERBUTTON']._serialized_end=3833
64
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_MARKETINGPAGEBANNER']._serialized_start=3836
65
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_MARKETINGPAGEBANNER']._serialized_end=4063
66
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_PAYMENTMODALBANNER']._serialized_start=4065
67
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_PAYMENTMODALBANNER']._serialized_end=4134
68
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_CTABUTTON']._serialized_start=4136
69
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_CTABUTTON']._serialized_end=4161
70
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_MOBILEBOTTOMSHEET']._serialized_start=4164
71
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_MOBILEBOTTOMSHEET']._serialized_end=4373
72
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GRADIENT']._serialized_start=4375
73
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GRADIENT']._serialized_end=4420
74
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GIFTICON']._serialized_start=4423
75
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GIFTICON']._serialized_end=4646
76
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GIFTICONCOACHMARK']._serialized_start=4648
77
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GIFTICONCOACHMARK']._serialized_end=4724
78
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_THEMEAWAREASSET']._serialized_start=4726
79
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_THEMEAWAREASSET']._serialized_end=4780
80
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GIFTPLANSELECTIONCARDBANNER']._serialized_start=4783
81
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GIFTPLANSELECTIONCARDBANNER']._serialized_end=5216
82
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GIFTCUSTOMIZATIONBANNER']._serialized_start=5219
83
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GIFTCUSTOMIZATIONBANNER']._serialized_end=5463
84
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_BILLINGSETTINGSNITROGIFTBANNER']._serialized_start=5466
85
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_BILLINGSETTINGSNITROGIFTBANNER']._serialized_end=5754
86
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GIFTREMINDERNAGBAR']._serialized_start=5756
87
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GIFTREMINDERNAGBAR']._serialized_end=5794
88
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GIFTREMINDERCOACHMARK']._serialized_start=5796
89
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_GIFTREMINDERCOACHMARK']._serialized_end=5876
90
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_BUTTONACTION']._serialized_start=5879
91
+ _globals['_PREMIUMMARKETINGCOMPONENTPROPERTIES_BUTTONACTION']._serialized_end=6125
72
92
  # @@protoc_insertion_point(module_scope)
@@ -108,6 +108,10 @@ export interface Experiment {
108
108
  * @generated from protobuf field: int32 winning_variation_id = 24
109
109
  */
110
110
  winningVariationId: number;
111
+ /**
112
+ * @generated from protobuf field: string extra_outcome_context = 34
113
+ */
114
+ extraOutcomeContext: string;
111
115
  /**
112
116
  * @generated from protobuf field: discord_protos.discord_experimentation.v1.Experiment.Type type = 26
113
117
  */
@@ -136,6 +140,10 @@ export interface Experiment {
136
140
  * @generated from protobuf field: bool is_automated_change = 32
137
141
  */
138
142
  isAutomatedChange: boolean;
143
+ /**
144
+ * @generated from protobuf field: optional google.protobuf.Timestamp archive_at = 33
145
+ */
146
+ archiveAt?: Timestamp;
139
147
  }
140
148
  /**
141
149
  * @generated from protobuf message discord_protos.discord_experimentation.v1.Experiment.Bucket
@@ -856,18 +864,10 @@ export declare enum Experiment_Phase {
856
864
  * @generated from protobuf enum value: PHASE_MEASUREMENT = 2;
857
865
  */
858
866
  MEASUREMENT = 2,
859
- /**
860
- * @generated from protobuf enum value: PHASE_MEASUREMENT_ENDED = 3;
861
- */
862
- MEASUREMENT_ENDED = 3,
863
867
  /**
864
868
  * @generated from protobuf enum value: PHASE_ROLLING_OUT = 4;
865
869
  */
866
870
  ROLLING_OUT = 4,
867
- /**
868
- * @generated from protobuf enum value: PHASE_ROLLED_OUT = 5;
869
- */
870
- ROLLED_OUT = 5,
871
871
  /**
872
872
  * @generated from protobuf enum value: PHASE_ARCHIVED = 6;
873
873
  */
@@ -62,18 +62,10 @@ var Experiment_Phase;
62
62
  * @generated from protobuf enum value: PHASE_MEASUREMENT = 2;
63
63
  */
64
64
  Experiment_Phase[Experiment_Phase["MEASUREMENT"] = 2] = "MEASUREMENT";
65
- /**
66
- * @generated from protobuf enum value: PHASE_MEASUREMENT_ENDED = 3;
67
- */
68
- Experiment_Phase[Experiment_Phase["MEASUREMENT_ENDED"] = 3] = "MEASUREMENT_ENDED";
69
65
  /**
70
66
  * @generated from protobuf enum value: PHASE_ROLLING_OUT = 4;
71
67
  */
72
68
  Experiment_Phase[Experiment_Phase["ROLLING_OUT"] = 4] = "ROLLING_OUT";
73
- /**
74
- * @generated from protobuf enum value: PHASE_ROLLED_OUT = 5;
75
- */
76
- Experiment_Phase[Experiment_Phase["ROLLED_OUT"] = 5] = "ROLLED_OUT";
77
69
  /**
78
70
  * @generated from protobuf enum value: PHASE_ARCHIVED = 6;
79
71
  */
@@ -177,13 +169,15 @@ class Experiment$Type extends runtime_4.MessageType {
177
169
  { no: 25, name: "assignment_mode", kind: "enum", T: () => ["discord_protos.discord_experimentation.v1.Experiment.AssignmentMode", Experiment_AssignmentMode, "ASSIGNMENT_MODE_"] },
178
170
  { no: 23, name: "enable_edit_raw_json_ui", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
179
171
  { no: 24, name: "winning_variation_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
172
+ { no: 34, name: "extra_outcome_context", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
180
173
  { no: 26, name: "type", kind: "enum", T: () => ["discord_protos.discord_experimentation.v1.Experiment.Type", Experiment_Type, "TYPE_"] },
181
174
  { no: 27, name: "is_template", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
182
175
  { no: 28, name: "field_numbers_to_copy", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/ },
183
176
  { no: 29, name: "engine_feature_flags", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
184
177
  { no: 30, name: "debug_config", kind: "message", T: () => exports.Experiment_DebugConfig },
185
178
  { no: 31, name: "expected_end_date", kind: "message", T: () => timestamp_1.Timestamp },
186
- { no: 32, name: "is_automated_change", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
179
+ { no: 32, name: "is_automated_change", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
180
+ { no: 33, name: "archive_at", kind: "message", T: () => timestamp_1.Timestamp }
187
181
  ]);
188
182
  }
189
183
  create(value) {
@@ -208,6 +202,7 @@ class Experiment$Type extends runtime_4.MessageType {
208
202
  message.assignmentMode = 0;
209
203
  message.enableEditRawJsonUi = false;
210
204
  message.winningVariationId = 0;
205
+ message.extraOutcomeContext = "";
211
206
  message.type = 0;
212
207
  message.isTemplate = false;
213
208
  message.fieldNumbersToCopy = [];
@@ -298,6 +293,9 @@ class Experiment$Type extends runtime_4.MessageType {
298
293
  case /* int32 winning_variation_id */ 24:
299
294
  message.winningVariationId = reader.int32();
300
295
  break;
296
+ case /* string extra_outcome_context */ 34:
297
+ message.extraOutcomeContext = reader.string();
298
+ break;
301
299
  case /* discord_protos.discord_experimentation.v1.Experiment.Type type */ 26:
302
300
  message.type = reader.int32();
303
301
  break;
@@ -323,6 +321,9 @@ class Experiment$Type extends runtime_4.MessageType {
323
321
  case /* bool is_automated_change */ 32:
324
322
  message.isAutomatedChange = reader.bool();
325
323
  break;
324
+ case /* optional google.protobuf.Timestamp archive_at */ 33:
325
+ message.archiveAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.archiveAt);
326
+ break;
326
327
  default:
327
328
  let u = options.readUnknownField;
328
329
  if (u === "throw")
@@ -436,6 +437,12 @@ class Experiment$Type extends runtime_4.MessageType {
436
437
  /* bool is_automated_change = 32; */
437
438
  if (message.isAutomatedChange !== false)
438
439
  writer.tag(32, runtime_2.WireType.Varint).bool(message.isAutomatedChange);
440
+ /* optional google.protobuf.Timestamp archive_at = 33; */
441
+ if (message.archiveAt)
442
+ timestamp_1.Timestamp.internalBinaryWrite(message.archiveAt, writer.tag(33, runtime_2.WireType.LengthDelimited).fork(), options).join();
443
+ /* string extra_outcome_context = 34; */
444
+ if (message.extraOutcomeContext !== "")
445
+ writer.tag(34, runtime_2.WireType.LengthDelimited).string(message.extraOutcomeContext);
439
446
  let u = options.writeUnknownFields;
440
447
  if (u !== false)
441
448
  (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -751,6 +751,10 @@ export interface PreloadedUserSettings_NotificationSettings {
751
751
  * @generated from protobuf field: optional google.protobuf.BoolValue enable_game_update_notifications = 15
752
752
  */
753
753
  enableGameUpdateNotifications?: BoolValue;
754
+ /**
755
+ * @generated from protobuf field: optional google.protobuf.BoolValue enable_profile_updates_notifications = 16
756
+ */
757
+ enableProfileUpdatesNotifications?: BoolValue;
754
758
  }
755
759
  /**
756
760
  * @generated from protobuf message discord_protos.discord_users.v1.PreloadedUserSettings.PrivacySettings
@@ -2402,7 +2402,8 @@ class PreloadedUserSettings_NotificationSettings$Type extends runtime_4.MessageT
2402
2402
  { no: 12, name: "enable_friend_online_notifications", kind: "message", T: () => wrappers_5.BoolValue },
2403
2403
  { no: 13, name: "enable_user_resurrection_notifications", kind: "message", T: () => wrappers_5.BoolValue },
2404
2404
  { no: 14, name: "enable_friend_anniversary_notifications", kind: "message", T: () => wrappers_5.BoolValue },
2405
- { no: 15, name: "enable_game_update_notifications", kind: "message", T: () => wrappers_5.BoolValue }
2405
+ { no: 15, name: "enable_game_update_notifications", kind: "message", T: () => wrappers_5.BoolValue },
2406
+ { no: 16, name: "enable_profile_updates_notifications", kind: "message", T: () => wrappers_5.BoolValue }
2406
2407
  ]);
2407
2408
  }
2408
2409
  create(value) {
@@ -2466,6 +2467,9 @@ class PreloadedUserSettings_NotificationSettings$Type extends runtime_4.MessageT
2466
2467
  case /* optional google.protobuf.BoolValue enable_game_update_notifications */ 15:
2467
2468
  message.enableGameUpdateNotifications = wrappers_5.BoolValue.internalBinaryRead(reader, reader.uint32(), options, message.enableGameUpdateNotifications);
2468
2469
  break;
2470
+ case /* optional google.protobuf.BoolValue enable_profile_updates_notifications */ 16:
2471
+ message.enableProfileUpdatesNotifications = wrappers_5.BoolValue.internalBinaryRead(reader, reader.uint32(), options, message.enableProfileUpdatesNotifications);
2472
+ break;
2469
2473
  default:
2470
2474
  let u = options.readUnknownField;
2471
2475
  if (u === "throw")
@@ -2523,6 +2527,9 @@ class PreloadedUserSettings_NotificationSettings$Type extends runtime_4.MessageT
2523
2527
  /* optional google.protobuf.BoolValue enable_game_update_notifications = 15; */
2524
2528
  if (message.enableGameUpdateNotifications)
2525
2529
  wrappers_5.BoolValue.internalBinaryWrite(message.enableGameUpdateNotifications, writer.tag(15, runtime_1.WireType.LengthDelimited).fork(), options).join();
2530
+ /* optional google.protobuf.BoolValue enable_profile_updates_notifications = 16; */
2531
+ if (message.enableProfileUpdatesNotifications)
2532
+ wrappers_5.BoolValue.internalBinaryWrite(message.enableProfileUpdatesNotifications, writer.tag(16, runtime_1.WireType.LengthDelimited).fork(), options).join();
2526
2533
  let u = options.writeUnknownFields;
2527
2534
  if (u !== false)
2528
2535
  (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "discord-protos",
3
- "version": "1.2.88",
3
+ "version": "1.2.90",
4
4
  "description": "A parser for Discord's protobufs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",