discord-protos 1.2.78 → 1.2.80

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.78'
6
+ __version__ = '1.2.80'
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from google.protobuf.message import Message as _Message
@@ -255,8 +255,9 @@ message Experiment {
255
255
 
256
256
  enum AssignmentMode {
257
257
  ASSIGNMENT_MODE_FULL = 0;
258
- ASSIGNMENT_MODE_FORCE_DEFAULT = 1;
259
- ASSIGNMENT_MODE_OVERRIDE_ONLY = 2;
258
+ ASSIGNMENT_MODE_FORCE_CONTROL = 3;
259
+ ASSIGNMENT_MODE_OVERRIDES_ONLY = 4;
260
+ ASSIGNMENT_MODE_OFF = 5;
260
261
  }
261
262
 
262
263
  message DebugConfig {
@@ -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\"\x91H\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\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\x1a\x8e\x0e\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\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\"\xb7\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\x1b\n\x17PHASE_MEASUREMENT_ENDED\x10\x03\x12\x15\n\x11PHASE_ROLLING_OUT\x10\x04\x12\x14\n\x10PHASE_ROLLED_OUT\x10\x05\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\"p\n\x0e\x41ssignmentMode\x12\x18\n\x14\x41SSIGNMENT_MODE_FULL\x10\x00\x12!\n\x1d\x41SSIGNMENT_MODE_FORCE_DEFAULT\x10\x01\x12!\n\x1d\x41SSIGNMENT_MODE_OVERRIDE_ONLY\x10\x02\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\"\xacH\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\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\x1a\x8e\x0e\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\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\"\xb7\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\x1b\n\x17PHASE_MEASUREMENT_ENDED\x10\x03\x12\x15\n\x11PHASE_ROLLING_OUT\x10\x04\x12\x14\n\x10PHASE_ROLLED_OUT\x10\x05\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')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -48,7 +48,7 @@ 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=9389
51
+ _globals['_EXPERIMENT']._serialized_end=9416
52
52
  _globals['_EXPERIMENT_BUCKET']._serialized_start=1578
53
53
  _globals['_EXPERIMENT_BUCKET']._serialized_end=1689
54
54
  _globals['_EXPERIMENT_VARIATION']._serialized_start=1692
@@ -135,6 +135,6 @@ if not _descriptor._USE_C_DESCRIPTORS:
135
135
  _globals['_EXPERIMENT_SURFACE']._serialized_end=9090
136
136
  _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_start=9092
137
137
  _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_end=9173
138
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=9175
139
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=9287
138
+ _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=9176
139
+ _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=9314
140
140
  # @@protoc_insertion_point(module_scope)
@@ -128,6 +128,10 @@ export interface Experiment {
128
128
  * @generated from protobuf field: optional discord_protos.discord_experimentation.v1.Experiment.DebugConfig debug_config = 30
129
129
  */
130
130
  debugConfig?: Experiment_DebugConfig;
131
+ /**
132
+ * @generated from protobuf field: optional google.protobuf.Timestamp expected_end_date = 31
133
+ */
134
+ expectedEndDate?: Timestamp;
131
135
  }
132
136
  /**
133
137
  * @generated from protobuf message discord_protos.discord_experimentation.v1.Experiment.Bucket
@@ -901,13 +905,25 @@ export declare enum Experiment_AssignmentMode {
901
905
  */
902
906
  FULL = 0,
903
907
  /**
904
- * @generated from protobuf enum value: ASSIGNMENT_MODE_FORCE_DEFAULT = 1;
908
+ * @generated from protobuf enum value: ASSIGNMENT_MODE_DEPRECATED_FORCE_DEFAULT = 1;
909
+ */
910
+ DEPRECATED_FORCE_DEFAULT = 1,
911
+ /**
912
+ * @generated from protobuf enum value: ASSIGNMENT_MODE_DEPRECATED_OVERRIDE_ONLY = 2;
913
+ */
914
+ DEPRECATED_OVERRIDE_ONLY = 2,
915
+ /**
916
+ * @generated from protobuf enum value: ASSIGNMENT_MODE_FORCE_CONTROL = 3;
917
+ */
918
+ FORCE_CONTROL = 3,
919
+ /**
920
+ * @generated from protobuf enum value: ASSIGNMENT_MODE_OVERRIDES_ONLY = 4;
905
921
  */
906
- FORCE_DEFAULT = 1,
922
+ OVERRIDES_ONLY = 4,
907
923
  /**
908
- * @generated from protobuf enum value: ASSIGNMENT_MODE_OVERRIDE_ONLY = 2;
924
+ * @generated from protobuf enum value: ASSIGNMENT_MODE_OFF = 5;
909
925
  */
910
- OVERRIDE_ONLY = 2
926
+ OFF = 5
911
927
  }
912
928
  declare class Experiment$Type extends MessageType<Experiment> {
913
929
  constructor();
@@ -137,13 +137,25 @@ var Experiment_AssignmentMode;
137
137
  */
138
138
  Experiment_AssignmentMode[Experiment_AssignmentMode["FULL"] = 0] = "FULL";
139
139
  /**
140
- * @generated from protobuf enum value: ASSIGNMENT_MODE_FORCE_DEFAULT = 1;
140
+ * @generated from protobuf enum value: ASSIGNMENT_MODE_DEPRECATED_FORCE_DEFAULT = 1;
141
141
  */
142
- Experiment_AssignmentMode[Experiment_AssignmentMode["FORCE_DEFAULT"] = 1] = "FORCE_DEFAULT";
142
+ Experiment_AssignmentMode[Experiment_AssignmentMode["DEPRECATED_FORCE_DEFAULT"] = 1] = "DEPRECATED_FORCE_DEFAULT";
143
143
  /**
144
- * @generated from protobuf enum value: ASSIGNMENT_MODE_OVERRIDE_ONLY = 2;
144
+ * @generated from protobuf enum value: ASSIGNMENT_MODE_DEPRECATED_OVERRIDE_ONLY = 2;
145
145
  */
146
- Experiment_AssignmentMode[Experiment_AssignmentMode["OVERRIDE_ONLY"] = 2] = "OVERRIDE_ONLY";
146
+ Experiment_AssignmentMode[Experiment_AssignmentMode["DEPRECATED_OVERRIDE_ONLY"] = 2] = "DEPRECATED_OVERRIDE_ONLY";
147
+ /**
148
+ * @generated from protobuf enum value: ASSIGNMENT_MODE_FORCE_CONTROL = 3;
149
+ */
150
+ Experiment_AssignmentMode[Experiment_AssignmentMode["FORCE_CONTROL"] = 3] = "FORCE_CONTROL";
151
+ /**
152
+ * @generated from protobuf enum value: ASSIGNMENT_MODE_OVERRIDES_ONLY = 4;
153
+ */
154
+ Experiment_AssignmentMode[Experiment_AssignmentMode["OVERRIDES_ONLY"] = 4] = "OVERRIDES_ONLY";
155
+ /**
156
+ * @generated from protobuf enum value: ASSIGNMENT_MODE_OFF = 5;
157
+ */
158
+ Experiment_AssignmentMode[Experiment_AssignmentMode["OFF"] = 5] = "OFF";
147
159
  })(Experiment_AssignmentMode || (exports.Experiment_AssignmentMode = Experiment_AssignmentMode = {}));
148
160
  // @generated message type with reflection information, may provide speed optimized methods
149
161
  class Experiment$Type extends runtime_4.MessageType {
@@ -177,7 +189,8 @@ class Experiment$Type extends runtime_4.MessageType {
177
189
  { no: 27, name: "is_template", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
178
190
  { no: 28, name: "field_numbers_to_copy", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/ },
179
191
  { no: 29, name: "engine_feature_flags", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
180
- { no: 30, name: "debug_config", kind: "message", T: () => exports.Experiment_DebugConfig }
192
+ { no: 30, name: "debug_config", kind: "message", T: () => exports.Experiment_DebugConfig },
193
+ { no: 31, name: "expected_end_date", kind: "message", T: () => timestamp_1.Timestamp }
181
194
  ]);
182
195
  }
183
196
  create(value) {
@@ -310,6 +323,9 @@ class Experiment$Type extends runtime_4.MessageType {
310
323
  case /* optional discord_protos.discord_experimentation.v1.Experiment.DebugConfig debug_config */ 30:
311
324
  message.debugConfig = exports.Experiment_DebugConfig.internalBinaryRead(reader, reader.uint32(), options, message.debugConfig);
312
325
  break;
326
+ case /* optional google.protobuf.Timestamp expected_end_date */ 31:
327
+ message.expectedEndDate = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expectedEndDate);
328
+ break;
313
329
  default:
314
330
  let u = options.readUnknownField;
315
331
  if (u === "throw")
@@ -417,6 +433,9 @@ class Experiment$Type extends runtime_4.MessageType {
417
433
  /* optional discord_protos.discord_experimentation.v1.Experiment.DebugConfig debug_config = 30; */
418
434
  if (message.debugConfig)
419
435
  exports.Experiment_DebugConfig.internalBinaryWrite(message.debugConfig, writer.tag(30, runtime_2.WireType.LengthDelimited).fork(), options).join();
436
+ /* optional google.protobuf.Timestamp expected_end_date = 31; */
437
+ if (message.expectedEndDate)
438
+ timestamp_1.Timestamp.internalBinaryWrite(message.expectedEndDate, writer.tag(31, runtime_2.WireType.LengthDelimited).fork(), options).join();
420
439
  let u = options.writeUnknownFields;
421
440
  if (u !== false)
422
441
  (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -731,6 +731,14 @@ export interface PreloadedUserSettings_NotificationSettings {
731
731
  * @generated from protobuf field: optional google.protobuf.BoolValue enable_voice_activity_notifications = 11
732
732
  */
733
733
  enableVoiceActivityNotifications?: BoolValue;
734
+ /**
735
+ * @generated from protobuf field: optional google.protobuf.BoolValue enable_friend_online_notifications = 12
736
+ */
737
+ enableFriendOnlineNotifications?: BoolValue;
738
+ /**
739
+ * @generated from protobuf field: optional google.protobuf.BoolValue enable_user_resurrection_notifications = 13
740
+ */
741
+ enableUserResurrectionNotifications?: BoolValue;
734
742
  }
735
743
  /**
736
744
  * @generated from protobuf message discord_protos.discord_users.v1.PreloadedUserSettings.PrivacySettings
@@ -2391,7 +2391,9 @@ class PreloadedUserSettings_NotificationSettings$Type extends runtime_4.MessageT
2391
2391
  { no: 8, name: "game_activity_notifications", kind: "enum", T: () => ["discord_protos.discord_users.v1.PreloadedUserSettings.GameActivityNotificationType", PreloadedUserSettings_GameActivityNotificationType, "GAME_ACTIVITY_NOTIFICATION_TYPE_"] },
2392
2392
  { no: 9, name: "custom_status_push_notifications", kind: "enum", T: () => ["discord_protos.discord_users.v1.PreloadedUserSettings.CustomStatusPushNotificationType", PreloadedUserSettings_CustomStatusPushNotificationType, "CUSTOM_STATUS_PUSH_NOTIFICATION_TYPE_"] },
2393
2393
  { no: 10, name: "game_activity_exclude_steam_notifications", kind: "message", T: () => wrappers_5.BoolValue },
2394
- { no: 11, name: "enable_voice_activity_notifications", kind: "message", T: () => wrappers_5.BoolValue }
2394
+ { no: 11, name: "enable_voice_activity_notifications", kind: "message", T: () => wrappers_5.BoolValue },
2395
+ { no: 12, name: "enable_friend_online_notifications", kind: "message", T: () => wrappers_5.BoolValue },
2396
+ { no: 13, name: "enable_user_resurrection_notifications", kind: "message", T: () => wrappers_5.BoolValue }
2395
2397
  ]);
2396
2398
  }
2397
2399
  create(value) {
@@ -2443,6 +2445,12 @@ class PreloadedUserSettings_NotificationSettings$Type extends runtime_4.MessageT
2443
2445
  case /* optional google.protobuf.BoolValue enable_voice_activity_notifications */ 11:
2444
2446
  message.enableVoiceActivityNotifications = wrappers_5.BoolValue.internalBinaryRead(reader, reader.uint32(), options, message.enableVoiceActivityNotifications);
2445
2447
  break;
2448
+ case /* optional google.protobuf.BoolValue enable_friend_online_notifications */ 12:
2449
+ message.enableFriendOnlineNotifications = wrappers_5.BoolValue.internalBinaryRead(reader, reader.uint32(), options, message.enableFriendOnlineNotifications);
2450
+ break;
2451
+ case /* optional google.protobuf.BoolValue enable_user_resurrection_notifications */ 13:
2452
+ message.enableUserResurrectionNotifications = wrappers_5.BoolValue.internalBinaryRead(reader, reader.uint32(), options, message.enableUserResurrectionNotifications);
2453
+ break;
2446
2454
  default:
2447
2455
  let u = options.readUnknownField;
2448
2456
  if (u === "throw")
@@ -2488,6 +2496,12 @@ class PreloadedUserSettings_NotificationSettings$Type extends runtime_4.MessageT
2488
2496
  /* optional google.protobuf.BoolValue enable_voice_activity_notifications = 11; */
2489
2497
  if (message.enableVoiceActivityNotifications)
2490
2498
  wrappers_5.BoolValue.internalBinaryWrite(message.enableVoiceActivityNotifications, writer.tag(11, runtime_1.WireType.LengthDelimited).fork(), options).join();
2499
+ /* optional google.protobuf.BoolValue enable_friend_online_notifications = 12; */
2500
+ if (message.enableFriendOnlineNotifications)
2501
+ wrappers_5.BoolValue.internalBinaryWrite(message.enableFriendOnlineNotifications, writer.tag(12, runtime_1.WireType.LengthDelimited).fork(), options).join();
2502
+ /* optional google.protobuf.BoolValue enable_user_resurrection_notifications = 13; */
2503
+ if (message.enableUserResurrectionNotifications)
2504
+ wrappers_5.BoolValue.internalBinaryWrite(message.enableUserResurrectionNotifications, writer.tag(13, runtime_1.WireType.LengthDelimited).fork(), options).join();
2491
2505
  let u = options.writeUnknownFields;
2492
2506
  if (u !== false)
2493
2507
  (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -27,6 +27,30 @@ export interface PremiumMarketingComponentProperties {
27
27
  * @generated from protobuf field: discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.AnnouncementModalVariant1Properties announcement_modal_variant_1 = 2
28
28
  */
29
29
  announcementModalVariant1: PremiumMarketingComponentProperties_AnnouncementModalVariant1Properties;
30
+ } | {
31
+ oneofKind: "premiumTab";
32
+ /**
33
+ * @generated from protobuf field: discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PremiumTab premium_tab = 4
34
+ */
35
+ premiumTab: PremiumMarketingComponentProperties_PremiumTab;
36
+ } | {
37
+ oneofKind: "marketingPageBanner";
38
+ /**
39
+ * @generated from protobuf field: discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MarketingPageBanner marketing_page_banner = 5
40
+ */
41
+ marketingPageBanner: PremiumMarketingComponentProperties_MarketingPageBanner;
42
+ } | {
43
+ oneofKind: "paymentModalBanner";
44
+ /**
45
+ * @generated from protobuf field: discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PaymentModalBanner payment_modal_banner = 6
46
+ */
47
+ paymentModalBanner: PremiumMarketingComponentProperties_PaymentModalBanner;
48
+ } | {
49
+ oneofKind: "mobileBottomSheet";
50
+ /**
51
+ * @generated from protobuf field: discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MobileBottomSheet mobile_bottom_sheet = 7
52
+ */
53
+ mobileBottomSheet: PremiumMarketingComponentProperties_MobileBottomSheet;
30
54
  } | {
31
55
  oneofKind: undefined;
32
56
  };
@@ -170,6 +194,91 @@ export interface PremiumMarketingComponentProperties_AnnouncementModalVariant1Pr
170
194
  */
171
195
  storage?: PremiumMarketingComponentProperties_Variant1Storage;
172
196
  }
197
+ /**
198
+ * @generated from protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PremiumTab
199
+ */
200
+ export interface PremiumMarketingComponentProperties_PremiumTab {
201
+ /**
202
+ * @generated from protobuf field: string badge_label = 1
203
+ */
204
+ badgeLabel: string;
205
+ /**
206
+ * @generated from protobuf field: string acknowledged_badge_label = 2
207
+ */
208
+ acknowledgedBadgeLabel: string;
209
+ }
210
+ /**
211
+ * @generated from protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MarketingPageBanner
212
+ */
213
+ export interface PremiumMarketingComponentProperties_MarketingPageBanner {
214
+ /**
215
+ * @generated from protobuf field: string asset_url = 1
216
+ */
217
+ assetUrl: string;
218
+ /**
219
+ * @generated from protobuf field: string header = 2
220
+ */
221
+ header: string;
222
+ /**
223
+ * @generated from protobuf field: string body = 3
224
+ */
225
+ body: string;
226
+ /**
227
+ * @generated from protobuf field: string help_article_id = 4
228
+ */
229
+ helpArticleId: string;
230
+ }
231
+ /**
232
+ * @generated from protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PaymentModalBanner
233
+ */
234
+ export interface PremiumMarketingComponentProperties_PaymentModalBanner {
235
+ /**
236
+ * @generated from protobuf field: string asset_url = 1
237
+ */
238
+ assetUrl: string;
239
+ /**
240
+ * @generated from protobuf field: string header = 2
241
+ */
242
+ header: string;
243
+ /**
244
+ * @generated from protobuf field: string body = 3
245
+ */
246
+ body: string;
247
+ }
248
+ /**
249
+ * @generated from protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.CTAButton
250
+ */
251
+ export interface PremiumMarketingComponentProperties_CTAButton {
252
+ /**
253
+ * @generated from protobuf field: string copy = 1
254
+ */
255
+ copy: string;
256
+ }
257
+ /**
258
+ * @generated from protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MobileBottomSheet
259
+ */
260
+ export interface PremiumMarketingComponentProperties_MobileBottomSheet {
261
+ /**
262
+ * @generated from protobuf field: string asset_url = 1
263
+ */
264
+ assetUrl: string;
265
+ /**
266
+ * @generated from protobuf field: string header = 2
267
+ */
268
+ header: string;
269
+ /**
270
+ * @generated from protobuf field: string body = 3
271
+ */
272
+ body: string;
273
+ /**
274
+ * @generated from protobuf field: string help_article_id = 4
275
+ */
276
+ helpArticleId: string;
277
+ /**
278
+ * @generated from protobuf field: optional discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.CTAButton button = 5
279
+ */
280
+ button?: PremiumMarketingComponentProperties_CTAButton;
281
+ }
173
282
  /**
174
283
  * @generated from protobuf enum discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.ButtonAction
175
284
  */
@@ -258,4 +367,54 @@ declare class PremiumMarketingComponentProperties_AnnouncementModalVariant1Prope
258
367
  * @generated MessageType for protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.AnnouncementModalVariant1Properties
259
368
  */
260
369
  export declare const PremiumMarketingComponentProperties_AnnouncementModalVariant1Properties: PremiumMarketingComponentProperties_AnnouncementModalVariant1Properties$Type;
370
+ declare class PremiumMarketingComponentProperties_PremiumTab$Type extends MessageType<PremiumMarketingComponentProperties_PremiumTab> {
371
+ constructor();
372
+ create(value?: PartialMessage<PremiumMarketingComponentProperties_PremiumTab>): PremiumMarketingComponentProperties_PremiumTab;
373
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PremiumMarketingComponentProperties_PremiumTab): PremiumMarketingComponentProperties_PremiumTab;
374
+ internalBinaryWrite(message: PremiumMarketingComponentProperties_PremiumTab, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
375
+ }
376
+ /**
377
+ * @generated MessageType for protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PremiumTab
378
+ */
379
+ export declare const PremiumMarketingComponentProperties_PremiumTab: PremiumMarketingComponentProperties_PremiumTab$Type;
380
+ declare class PremiumMarketingComponentProperties_MarketingPageBanner$Type extends MessageType<PremiumMarketingComponentProperties_MarketingPageBanner> {
381
+ constructor();
382
+ create(value?: PartialMessage<PremiumMarketingComponentProperties_MarketingPageBanner>): PremiumMarketingComponentProperties_MarketingPageBanner;
383
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PremiumMarketingComponentProperties_MarketingPageBanner): PremiumMarketingComponentProperties_MarketingPageBanner;
384
+ internalBinaryWrite(message: PremiumMarketingComponentProperties_MarketingPageBanner, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
385
+ }
386
+ /**
387
+ * @generated MessageType for protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MarketingPageBanner
388
+ */
389
+ export declare const PremiumMarketingComponentProperties_MarketingPageBanner: PremiumMarketingComponentProperties_MarketingPageBanner$Type;
390
+ declare class PremiumMarketingComponentProperties_PaymentModalBanner$Type extends MessageType<PremiumMarketingComponentProperties_PaymentModalBanner> {
391
+ constructor();
392
+ create(value?: PartialMessage<PremiumMarketingComponentProperties_PaymentModalBanner>): PremiumMarketingComponentProperties_PaymentModalBanner;
393
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PremiumMarketingComponentProperties_PaymentModalBanner): PremiumMarketingComponentProperties_PaymentModalBanner;
394
+ internalBinaryWrite(message: PremiumMarketingComponentProperties_PaymentModalBanner, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
395
+ }
396
+ /**
397
+ * @generated MessageType for protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PaymentModalBanner
398
+ */
399
+ export declare const PremiumMarketingComponentProperties_PaymentModalBanner: PremiumMarketingComponentProperties_PaymentModalBanner$Type;
400
+ declare class PremiumMarketingComponentProperties_CTAButton$Type extends MessageType<PremiumMarketingComponentProperties_CTAButton> {
401
+ constructor();
402
+ create(value?: PartialMessage<PremiumMarketingComponentProperties_CTAButton>): PremiumMarketingComponentProperties_CTAButton;
403
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PremiumMarketingComponentProperties_CTAButton): PremiumMarketingComponentProperties_CTAButton;
404
+ internalBinaryWrite(message: PremiumMarketingComponentProperties_CTAButton, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
405
+ }
406
+ /**
407
+ * @generated MessageType for protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.CTAButton
408
+ */
409
+ export declare const PremiumMarketingComponentProperties_CTAButton: PremiumMarketingComponentProperties_CTAButton$Type;
410
+ declare class PremiumMarketingComponentProperties_MobileBottomSheet$Type extends MessageType<PremiumMarketingComponentProperties_MobileBottomSheet> {
411
+ constructor();
412
+ create(value?: PartialMessage<PremiumMarketingComponentProperties_MobileBottomSheet>): PremiumMarketingComponentProperties_MobileBottomSheet;
413
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PremiumMarketingComponentProperties_MobileBottomSheet): PremiumMarketingComponentProperties_MobileBottomSheet;
414
+ internalBinaryWrite(message: PremiumMarketingComponentProperties_MobileBottomSheet, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
415
+ }
416
+ /**
417
+ * @generated MessageType for protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MobileBottomSheet
418
+ */
419
+ export declare const PremiumMarketingComponentProperties_MobileBottomSheet: PremiumMarketingComponentProperties_MobileBottomSheet$Type;
261
420
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PremiumMarketingComponentProperties_AnnouncementModalVariant1Properties = exports.PremiumMarketingComponentProperties_Variant1Storage = exports.PremiumMarketingComponentProperties_Subtitle = exports.PremiumMarketingComponentProperties_SubscriptionButton = exports.PremiumMarketingComponentProperties_FeatureCard = exports.PremiumMarketingComponentProperties = exports.PremiumMarketingComponentProperties_ButtonAction = void 0;
3
+ exports.PremiumMarketingComponentProperties_MobileBottomSheet = exports.PremiumMarketingComponentProperties_CTAButton = exports.PremiumMarketingComponentProperties_PaymentModalBanner = exports.PremiumMarketingComponentProperties_MarketingPageBanner = exports.PremiumMarketingComponentProperties_PremiumTab = exports.PremiumMarketingComponentProperties_AnnouncementModalVariant1Properties = exports.PremiumMarketingComponentProperties_Variant1Storage = exports.PremiumMarketingComponentProperties_Subtitle = exports.PremiumMarketingComponentProperties_SubscriptionButton = exports.PremiumMarketingComponentProperties_FeatureCard = exports.PremiumMarketingComponentProperties = exports.PremiumMarketingComponentProperties_ButtonAction = void 0;
4
4
  const runtime_1 = require("@protobuf-ts/runtime");
5
5
  const runtime_2 = require("@protobuf-ts/runtime");
6
6
  const runtime_3 = require("@protobuf-ts/runtime");
@@ -37,7 +37,11 @@ class PremiumMarketingComponentProperties$Type extends runtime_4.MessageType {
37
37
  super("discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties", [
38
38
  { no: 3, name: "content_identifier", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
39
39
  { no: 1, name: "placeholder", kind: "scalar", oneof: "properties", T: 9 /*ScalarType.STRING*/ },
40
- { no: 2, name: "announcement_modal_variant_1", kind: "message", oneof: "properties", T: () => exports.PremiumMarketingComponentProperties_AnnouncementModalVariant1Properties }
40
+ { no: 2, name: "announcement_modal_variant_1", kind: "message", oneof: "properties", T: () => exports.PremiumMarketingComponentProperties_AnnouncementModalVariant1Properties },
41
+ { no: 4, name: "premium_tab", kind: "message", oneof: "properties", T: () => exports.PremiumMarketingComponentProperties_PremiumTab },
42
+ { no: 5, name: "marketing_page_banner", kind: "message", oneof: "properties", T: () => exports.PremiumMarketingComponentProperties_MarketingPageBanner },
43
+ { no: 6, name: "payment_modal_banner", kind: "message", oneof: "properties", T: () => exports.PremiumMarketingComponentProperties_PaymentModalBanner },
44
+ { no: 7, name: "mobile_bottom_sheet", kind: "message", oneof: "properties", T: () => exports.PremiumMarketingComponentProperties_MobileBottomSheet }
41
45
  ]);
42
46
  }
43
47
  create(value) {
@@ -68,6 +72,30 @@ class PremiumMarketingComponentProperties$Type extends runtime_4.MessageType {
68
72
  announcementModalVariant1: exports.PremiumMarketingComponentProperties_AnnouncementModalVariant1Properties.internalBinaryRead(reader, reader.uint32(), options, message.properties.announcementModalVariant1)
69
73
  };
70
74
  break;
75
+ case /* discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PremiumTab premium_tab */ 4:
76
+ message.properties = {
77
+ oneofKind: "premiumTab",
78
+ premiumTab: exports.PremiumMarketingComponentProperties_PremiumTab.internalBinaryRead(reader, reader.uint32(), options, message.properties.premiumTab)
79
+ };
80
+ break;
81
+ case /* discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MarketingPageBanner marketing_page_banner */ 5:
82
+ message.properties = {
83
+ oneofKind: "marketingPageBanner",
84
+ marketingPageBanner: exports.PremiumMarketingComponentProperties_MarketingPageBanner.internalBinaryRead(reader, reader.uint32(), options, message.properties.marketingPageBanner)
85
+ };
86
+ break;
87
+ case /* discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PaymentModalBanner payment_modal_banner */ 6:
88
+ message.properties = {
89
+ oneofKind: "paymentModalBanner",
90
+ paymentModalBanner: exports.PremiumMarketingComponentProperties_PaymentModalBanner.internalBinaryRead(reader, reader.uint32(), options, message.properties.paymentModalBanner)
91
+ };
92
+ break;
93
+ case /* discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MobileBottomSheet mobile_bottom_sheet */ 7:
94
+ message.properties = {
95
+ oneofKind: "mobileBottomSheet",
96
+ mobileBottomSheet: exports.PremiumMarketingComponentProperties_MobileBottomSheet.internalBinaryRead(reader, reader.uint32(), options, message.properties.mobileBottomSheet)
97
+ };
98
+ break;
71
99
  default:
72
100
  let u = options.readUnknownField;
73
101
  if (u === "throw")
@@ -89,6 +117,18 @@ class PremiumMarketingComponentProperties$Type extends runtime_4.MessageType {
89
117
  /* string content_identifier = 3; */
90
118
  if (message.contentIdentifier !== "")
91
119
  writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.contentIdentifier);
120
+ /* discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PremiumTab premium_tab = 4; */
121
+ if (message.properties.oneofKind === "premiumTab")
122
+ exports.PremiumMarketingComponentProperties_PremiumTab.internalBinaryWrite(message.properties.premiumTab, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
123
+ /* discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MarketingPageBanner marketing_page_banner = 5; */
124
+ if (message.properties.oneofKind === "marketingPageBanner")
125
+ exports.PremiumMarketingComponentProperties_MarketingPageBanner.internalBinaryWrite(message.properties.marketingPageBanner, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
126
+ /* discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PaymentModalBanner payment_modal_banner = 6; */
127
+ if (message.properties.oneofKind === "paymentModalBanner")
128
+ exports.PremiumMarketingComponentProperties_PaymentModalBanner.internalBinaryWrite(message.properties.paymentModalBanner, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
129
+ /* discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MobileBottomSheet mobile_bottom_sheet = 7; */
130
+ if (message.properties.oneofKind === "mobileBottomSheet")
131
+ exports.PremiumMarketingComponentProperties_MobileBottomSheet.internalBinaryWrite(message.properties.mobileBottomSheet, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
92
132
  let u = options.writeUnknownFields;
93
133
  if (u !== false)
94
134
  (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -556,3 +596,317 @@ class PremiumMarketingComponentProperties_AnnouncementModalVariant1Properties$Ty
556
596
  * @generated MessageType for protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.AnnouncementModalVariant1Properties
557
597
  */
558
598
  exports.PremiumMarketingComponentProperties_AnnouncementModalVariant1Properties = new PremiumMarketingComponentProperties_AnnouncementModalVariant1Properties$Type();
599
+ // @generated message type with reflection information, may provide speed optimized methods
600
+ class PremiumMarketingComponentProperties_PremiumTab$Type extends runtime_4.MessageType {
601
+ constructor() {
602
+ super("discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PremiumTab", [
603
+ { no: 1, name: "badge_label", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
604
+ { no: 2, name: "acknowledged_badge_label", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
605
+ ]);
606
+ }
607
+ create(value) {
608
+ const message = globalThis.Object.create((this.messagePrototype));
609
+ message.badgeLabel = "";
610
+ message.acknowledgedBadgeLabel = "";
611
+ if (value !== undefined)
612
+ (0, runtime_3.reflectionMergePartial)(this, message, value);
613
+ return message;
614
+ }
615
+ internalBinaryRead(reader, length, options, target) {
616
+ let message = target ?? this.create(), end = reader.pos + length;
617
+ while (reader.pos < end) {
618
+ let [fieldNo, wireType] = reader.tag();
619
+ switch (fieldNo) {
620
+ case /* string badge_label */ 1:
621
+ message.badgeLabel = reader.string();
622
+ break;
623
+ case /* string acknowledged_badge_label */ 2:
624
+ message.acknowledgedBadgeLabel = reader.string();
625
+ break;
626
+ default:
627
+ let u = options.readUnknownField;
628
+ if (u === "throw")
629
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
630
+ let d = reader.skip(wireType);
631
+ if (u !== false)
632
+ (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
633
+ }
634
+ }
635
+ return message;
636
+ }
637
+ internalBinaryWrite(message, writer, options) {
638
+ /* string badge_label = 1; */
639
+ if (message.badgeLabel !== "")
640
+ writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.badgeLabel);
641
+ /* string acknowledged_badge_label = 2; */
642
+ if (message.acknowledgedBadgeLabel !== "")
643
+ writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.acknowledgedBadgeLabel);
644
+ let u = options.writeUnknownFields;
645
+ if (u !== false)
646
+ (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
647
+ return writer;
648
+ }
649
+ }
650
+ /**
651
+ * @generated MessageType for protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PremiumTab
652
+ */
653
+ exports.PremiumMarketingComponentProperties_PremiumTab = new PremiumMarketingComponentProperties_PremiumTab$Type();
654
+ // @generated message type with reflection information, may provide speed optimized methods
655
+ class PremiumMarketingComponentProperties_MarketingPageBanner$Type extends runtime_4.MessageType {
656
+ constructor() {
657
+ super("discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MarketingPageBanner", [
658
+ { no: 1, name: "asset_url", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
659
+ { no: 2, name: "header", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
660
+ { no: 3, name: "body", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
661
+ { no: 4, name: "help_article_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
662
+ ]);
663
+ }
664
+ create(value) {
665
+ const message = globalThis.Object.create((this.messagePrototype));
666
+ message.assetUrl = "";
667
+ message.header = "";
668
+ message.body = "";
669
+ message.helpArticleId = "";
670
+ if (value !== undefined)
671
+ (0, runtime_3.reflectionMergePartial)(this, message, value);
672
+ return message;
673
+ }
674
+ internalBinaryRead(reader, length, options, target) {
675
+ let message = target ?? this.create(), end = reader.pos + length;
676
+ while (reader.pos < end) {
677
+ let [fieldNo, wireType] = reader.tag();
678
+ switch (fieldNo) {
679
+ case /* string asset_url */ 1:
680
+ message.assetUrl = reader.string();
681
+ break;
682
+ case /* string header */ 2:
683
+ message.header = reader.string();
684
+ break;
685
+ case /* string body */ 3:
686
+ message.body = reader.string();
687
+ break;
688
+ case /* string help_article_id */ 4:
689
+ message.helpArticleId = reader.string();
690
+ break;
691
+ default:
692
+ let u = options.readUnknownField;
693
+ if (u === "throw")
694
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
695
+ let d = reader.skip(wireType);
696
+ if (u !== false)
697
+ (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
698
+ }
699
+ }
700
+ return message;
701
+ }
702
+ internalBinaryWrite(message, writer, options) {
703
+ /* string asset_url = 1; */
704
+ if (message.assetUrl !== "")
705
+ writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.assetUrl);
706
+ /* string header = 2; */
707
+ if (message.header !== "")
708
+ writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.header);
709
+ /* string body = 3; */
710
+ if (message.body !== "")
711
+ writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.body);
712
+ /* string help_article_id = 4; */
713
+ if (message.helpArticleId !== "")
714
+ writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.helpArticleId);
715
+ let u = options.writeUnknownFields;
716
+ if (u !== false)
717
+ (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
718
+ return writer;
719
+ }
720
+ }
721
+ /**
722
+ * @generated MessageType for protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MarketingPageBanner
723
+ */
724
+ exports.PremiumMarketingComponentProperties_MarketingPageBanner = new PremiumMarketingComponentProperties_MarketingPageBanner$Type();
725
+ // @generated message type with reflection information, may provide speed optimized methods
726
+ class PremiumMarketingComponentProperties_PaymentModalBanner$Type extends runtime_4.MessageType {
727
+ constructor() {
728
+ super("discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PaymentModalBanner", [
729
+ { no: 1, name: "asset_url", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
730
+ { no: 2, name: "header", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
731
+ { no: 3, name: "body", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
732
+ ]);
733
+ }
734
+ create(value) {
735
+ const message = globalThis.Object.create((this.messagePrototype));
736
+ message.assetUrl = "";
737
+ message.header = "";
738
+ message.body = "";
739
+ if (value !== undefined)
740
+ (0, runtime_3.reflectionMergePartial)(this, message, value);
741
+ return message;
742
+ }
743
+ internalBinaryRead(reader, length, options, target) {
744
+ let message = target ?? this.create(), end = reader.pos + length;
745
+ while (reader.pos < end) {
746
+ let [fieldNo, wireType] = reader.tag();
747
+ switch (fieldNo) {
748
+ case /* string asset_url */ 1:
749
+ message.assetUrl = reader.string();
750
+ break;
751
+ case /* string header */ 2:
752
+ message.header = reader.string();
753
+ break;
754
+ case /* string body */ 3:
755
+ message.body = reader.string();
756
+ break;
757
+ default:
758
+ let u = options.readUnknownField;
759
+ if (u === "throw")
760
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
761
+ let d = reader.skip(wireType);
762
+ if (u !== false)
763
+ (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
764
+ }
765
+ }
766
+ return message;
767
+ }
768
+ internalBinaryWrite(message, writer, options) {
769
+ /* string asset_url = 1; */
770
+ if (message.assetUrl !== "")
771
+ writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.assetUrl);
772
+ /* string header = 2; */
773
+ if (message.header !== "")
774
+ writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.header);
775
+ /* string body = 3; */
776
+ if (message.body !== "")
777
+ writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.body);
778
+ let u = options.writeUnknownFields;
779
+ if (u !== false)
780
+ (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
781
+ return writer;
782
+ }
783
+ }
784
+ /**
785
+ * @generated MessageType for protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.PaymentModalBanner
786
+ */
787
+ exports.PremiumMarketingComponentProperties_PaymentModalBanner = new PremiumMarketingComponentProperties_PaymentModalBanner$Type();
788
+ // @generated message type with reflection information, may provide speed optimized methods
789
+ class PremiumMarketingComponentProperties_CTAButton$Type extends runtime_4.MessageType {
790
+ constructor() {
791
+ super("discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.CTAButton", [
792
+ { no: 1, name: "copy", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
793
+ ]);
794
+ }
795
+ create(value) {
796
+ const message = globalThis.Object.create((this.messagePrototype));
797
+ message.copy = "";
798
+ if (value !== undefined)
799
+ (0, runtime_3.reflectionMergePartial)(this, message, value);
800
+ return message;
801
+ }
802
+ internalBinaryRead(reader, length, options, target) {
803
+ let message = target ?? this.create(), end = reader.pos + length;
804
+ while (reader.pos < end) {
805
+ let [fieldNo, wireType] = reader.tag();
806
+ switch (fieldNo) {
807
+ case /* string copy */ 1:
808
+ message.copy = reader.string();
809
+ break;
810
+ default:
811
+ let u = options.readUnknownField;
812
+ if (u === "throw")
813
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
814
+ let d = reader.skip(wireType);
815
+ if (u !== false)
816
+ (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
817
+ }
818
+ }
819
+ return message;
820
+ }
821
+ internalBinaryWrite(message, writer, options) {
822
+ /* string copy = 1; */
823
+ if (message.copy !== "")
824
+ writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.copy);
825
+ let u = options.writeUnknownFields;
826
+ if (u !== false)
827
+ (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
828
+ return writer;
829
+ }
830
+ }
831
+ /**
832
+ * @generated MessageType for protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.CTAButton
833
+ */
834
+ exports.PremiumMarketingComponentProperties_CTAButton = new PremiumMarketingComponentProperties_CTAButton$Type();
835
+ // @generated message type with reflection information, may provide speed optimized methods
836
+ class PremiumMarketingComponentProperties_MobileBottomSheet$Type extends runtime_4.MessageType {
837
+ constructor() {
838
+ super("discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MobileBottomSheet", [
839
+ { no: 1, name: "asset_url", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
840
+ { no: 2, name: "header", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
841
+ { no: 3, name: "body", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
842
+ { no: 4, name: "help_article_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
843
+ { no: 5, name: "button", kind: "message", T: () => exports.PremiumMarketingComponentProperties_CTAButton }
844
+ ]);
845
+ }
846
+ create(value) {
847
+ const message = globalThis.Object.create((this.messagePrototype));
848
+ message.assetUrl = "";
849
+ message.header = "";
850
+ message.body = "";
851
+ message.helpArticleId = "";
852
+ if (value !== undefined)
853
+ (0, runtime_3.reflectionMergePartial)(this, message, value);
854
+ return message;
855
+ }
856
+ internalBinaryRead(reader, length, options, target) {
857
+ let message = target ?? this.create(), end = reader.pos + length;
858
+ while (reader.pos < end) {
859
+ let [fieldNo, wireType] = reader.tag();
860
+ switch (fieldNo) {
861
+ case /* string asset_url */ 1:
862
+ message.assetUrl = reader.string();
863
+ break;
864
+ case /* string header */ 2:
865
+ message.header = reader.string();
866
+ break;
867
+ case /* string body */ 3:
868
+ message.body = reader.string();
869
+ break;
870
+ case /* string help_article_id */ 4:
871
+ message.helpArticleId = reader.string();
872
+ break;
873
+ case /* optional discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.CTAButton button */ 5:
874
+ message.button = exports.PremiumMarketingComponentProperties_CTAButton.internalBinaryRead(reader, reader.uint32(), options, message.button);
875
+ break;
876
+ default:
877
+ let u = options.readUnknownField;
878
+ if (u === "throw")
879
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
880
+ let d = reader.skip(wireType);
881
+ if (u !== false)
882
+ (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
883
+ }
884
+ }
885
+ return message;
886
+ }
887
+ internalBinaryWrite(message, writer, options) {
888
+ /* string asset_url = 1; */
889
+ if (message.assetUrl !== "")
890
+ writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.assetUrl);
891
+ /* string header = 2; */
892
+ if (message.header !== "")
893
+ writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.header);
894
+ /* string body = 3; */
895
+ if (message.body !== "")
896
+ writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.body);
897
+ /* string help_article_id = 4; */
898
+ if (message.helpArticleId !== "")
899
+ writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.helpArticleId);
900
+ /* optional discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.CTAButton button = 5; */
901
+ if (message.button)
902
+ exports.PremiumMarketingComponentProperties_CTAButton.internalBinaryWrite(message.button, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
903
+ let u = options.writeUnknownFields;
904
+ if (u !== false)
905
+ (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
906
+ return writer;
907
+ }
908
+ }
909
+ /**
910
+ * @generated MessageType for protobuf message discord_protos.premium_marketing.v1.PremiumMarketingComponentProperties.MobileBottomSheet
911
+ */
912
+ exports.PremiumMarketingComponentProperties_MobileBottomSheet = new PremiumMarketingComponentProperties_MobileBottomSheet$Type();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "discord-protos",
3
- "version": "1.2.78",
3
+ "version": "1.2.80",
4
4
  "description": "A parser for Discord's protobufs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",