discord-protos 1.2.68 → 1.2.70

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.68'
6
+ __version__ = '1.2.70'
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from google.protobuf.message import Message as _Message
@@ -64,6 +64,7 @@ message Experiment {
64
64
  optional PlatformVersion android_version = 2;
65
65
  optional PlatformVersion web_version = 3;
66
66
  optional PlatformVersion native_version = 4;
67
+ bool allow_non_native_web = 6;
67
68
  optional ClientRequiredChanges client_required_changes = 5;
68
69
  }
69
70
 
@@ -239,6 +240,7 @@ message Experiment {
239
240
  SURFACE_APP = 2;
240
241
  SURFACE_DEVELOPER_PORTAL = 3;
241
242
  SURFACE_ADMIN_PANEL = 4;
243
+ SURFACE_ADS_BUDGET_AB = 5;
242
244
  }
243
245
 
244
246
  enum ExposureTracking {
@@ -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\"\xa3\x43\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\x18\n\x10owning_team_name\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\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\xf1\x04\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\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\xaa\r\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\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\"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\"{\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\"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\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\"\xdd\x43\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\x18\n\x10owning_team_name\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\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\xaa\r\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\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\"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\x06proto3')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -46,7 +46,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
46
46
  _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE'].fields_by_name['locales']._loaded_options = None
47
47
  _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE'].fields_by_name['locales']._serialized_options = b'\020\000'
48
48
  _globals['_EXPERIMENT']._serialized_start=156
49
- _globals['_EXPERIMENT']._serialized_end=8767
49
+ _globals['_EXPERIMENT']._serialized_end=8825
50
50
  _globals['_EXPERIMENT_BUCKET']._serialized_start=1392
51
51
  _globals['_EXPERIMENT_BUCKET']._serialized_end=1503
52
52
  _globals['_EXPERIMENT_VARIATION']._serialized_start=1506
@@ -62,73 +62,73 @@ if not _descriptor._USE_C_DESCRIPTORS:
62
62
  _globals['_EXPERIMENT_CLIENTREQUIREDCHANGES']._serialized_start=2543
63
63
  _globals['_EXPERIMENT_CLIENTREQUIREDCHANGES']._serialized_end=2613
64
64
  _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_start=2616
65
- _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_end=3241
66
- _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_start=3243
67
- _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_end=3281
68
- _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_start=3284
69
- _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_end=3434
70
- _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_start=3437
71
- _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_end=3690
72
- _globals['_EXPERIMENT_SDKVERSION']._serialized_start=3693
73
- _globals['_EXPERIMENT_SDKVERSION']._serialized_end=3823
74
- _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_start=3826
75
- _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_end=4647
76
- _globals['_EXPERIMENT_STAFFUSERS']._serialized_start=4649
77
- _globals['_EXPERIMENT_STAFFUSERS']._serialized_end=4711
78
- _globals['_EXPERIMENT_USERINGUILD']._serialized_start=4713
79
- _globals['_EXPERIMENT_USERINGUILD']._serialized_end=4745
80
- _globals['_EXPERIMENT_USERIDS']._serialized_start=4747
81
- _globals['_EXPERIMENT_USERIDS']._serialized_end=4774
82
- _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_start=4776
83
- _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_end=4811
84
- _globals['_EXPERIMENT_ISOREGION']._serialized_start=4813
85
- _globals['_EXPERIMENT_ISOREGION']._serialized_end=4870
86
- _globals['_EXPERIMENT_PLACE']._serialized_start=4872
87
- _globals['_EXPERIMENT_PLACE']._serialized_end=4931
88
- _globals['_EXPERIMENT_LOCATION']._serialized_start=4934
89
- _globals['_EXPERIMENT_LOCATION']._serialized_end=5138
90
- _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_start=5140
91
- _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_end=5239
92
- _globals['_EXPERIMENT_CLIENTIP']._serialized_start=5241
93
- _globals['_EXPERIMENT_CLIENTIP']._serialized_end=5271
94
- _globals['_EXPERIMENT_USERLOCALE']._serialized_start=5273
95
- _globals['_EXPERIMENT_USERLOCALE']._serialized_end=5306
96
- _globals['_EXPERIMENT_USERISBOT']._serialized_start=5308
97
- _globals['_EXPERIMENT_USERISBOT']._serialized_end=5335
98
- _globals['_EXPERIMENT_USERAGERANGE']._serialized_start=5338
99
- _globals['_EXPERIMENT_USERAGERANGE']._serialized_end=5504
100
- _globals['_EXPERIMENT_FIXED64VALUE']._serialized_start=5506
101
- _globals['_EXPERIMENT_FIXED64VALUE']._serialized_end=5535
102
- _globals['_EXPERIMENT_USERIDRANGE']._serialized_start=5538
103
- _globals['_EXPERIMENT_USERIDRANGE']._serialized_end=5751
104
- _globals['_EXPERIMENT_USERHASFLAG']._serialized_start=5753
105
- _globals['_EXPERIMENT_USERHASFLAG']._serialized_end=5780
106
- _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_start=5782
107
- _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_end=5837
108
- _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_start=5839
109
- _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_end=5891
110
- _globals['_EXPERIMENT_ALWAYS']._serialized_start=5893
111
- _globals['_EXPERIMENT_ALWAYS']._serialized_end=5916
112
- _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_start=5918
113
- _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_end=5959
114
- _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_start=5961
115
- _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_end=6027
116
- _globals['_EXPERIMENT_FILTER']._serialized_start=6030
117
- _globals['_EXPERIMENT_FILTER']._serialized_end=7736
118
- _globals['_EXPERIMENT_OVERRIDE']._serialized_start=7738
119
- _globals['_EXPERIMENT_OVERRIDE']._serialized_end=7770
120
- _globals['_EXPERIMENT_RULE']._serialized_start=7773
121
- _globals['_EXPERIMENT_RULE']._serialized_end=8056
122
- _globals['_EXPERIMENT_UNITTYPE']._serialized_start=8058
123
- _globals['_EXPERIMENT_UNITTYPE']._serialized_end=8115
124
- _globals['_EXPERIMENT_TYPE']._serialized_start=8117
125
- _globals['_EXPERIMENT_TYPE']._serialized_end=8196
126
- _globals['_EXPERIMENT_PHASE']._serialized_start=8199
127
- _globals['_EXPERIMENT_PHASE']._serialized_end=8382
128
- _globals['_EXPERIMENT_SURFACE']._serialized_start=8384
129
- _globals['_EXPERIMENT_SURFACE']._serialized_end=8507
130
- _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_start=8509
131
- _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_end=8590
132
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=8592
133
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=8704
65
+ _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_end=3271
66
+ _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_start=3273
67
+ _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_end=3311
68
+ _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_start=3314
69
+ _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_end=3464
70
+ _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_start=3467
71
+ _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_end=3720
72
+ _globals['_EXPERIMENT_SDKVERSION']._serialized_start=3723
73
+ _globals['_EXPERIMENT_SDKVERSION']._serialized_end=3853
74
+ _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_start=3856
75
+ _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_end=4677
76
+ _globals['_EXPERIMENT_STAFFUSERS']._serialized_start=4679
77
+ _globals['_EXPERIMENT_STAFFUSERS']._serialized_end=4741
78
+ _globals['_EXPERIMENT_USERINGUILD']._serialized_start=4743
79
+ _globals['_EXPERIMENT_USERINGUILD']._serialized_end=4775
80
+ _globals['_EXPERIMENT_USERIDS']._serialized_start=4777
81
+ _globals['_EXPERIMENT_USERIDS']._serialized_end=4804
82
+ _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_start=4806
83
+ _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_end=4841
84
+ _globals['_EXPERIMENT_ISOREGION']._serialized_start=4843
85
+ _globals['_EXPERIMENT_ISOREGION']._serialized_end=4900
86
+ _globals['_EXPERIMENT_PLACE']._serialized_start=4902
87
+ _globals['_EXPERIMENT_PLACE']._serialized_end=4961
88
+ _globals['_EXPERIMENT_LOCATION']._serialized_start=4964
89
+ _globals['_EXPERIMENT_LOCATION']._serialized_end=5168
90
+ _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_start=5170
91
+ _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_end=5269
92
+ _globals['_EXPERIMENT_CLIENTIP']._serialized_start=5271
93
+ _globals['_EXPERIMENT_CLIENTIP']._serialized_end=5301
94
+ _globals['_EXPERIMENT_USERLOCALE']._serialized_start=5303
95
+ _globals['_EXPERIMENT_USERLOCALE']._serialized_end=5336
96
+ _globals['_EXPERIMENT_USERISBOT']._serialized_start=5338
97
+ _globals['_EXPERIMENT_USERISBOT']._serialized_end=5365
98
+ _globals['_EXPERIMENT_USERAGERANGE']._serialized_start=5368
99
+ _globals['_EXPERIMENT_USERAGERANGE']._serialized_end=5534
100
+ _globals['_EXPERIMENT_FIXED64VALUE']._serialized_start=5536
101
+ _globals['_EXPERIMENT_FIXED64VALUE']._serialized_end=5565
102
+ _globals['_EXPERIMENT_USERIDRANGE']._serialized_start=5568
103
+ _globals['_EXPERIMENT_USERIDRANGE']._serialized_end=5781
104
+ _globals['_EXPERIMENT_USERHASFLAG']._serialized_start=5783
105
+ _globals['_EXPERIMENT_USERHASFLAG']._serialized_end=5810
106
+ _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_start=5812
107
+ _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_end=5867
108
+ _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_start=5869
109
+ _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_end=5921
110
+ _globals['_EXPERIMENT_ALWAYS']._serialized_start=5923
111
+ _globals['_EXPERIMENT_ALWAYS']._serialized_end=5946
112
+ _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_start=5948
113
+ _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_end=5989
114
+ _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_start=5991
115
+ _globals['_EXPERIMENT_UNITIDINEXPERIMENT']._serialized_end=6057
116
+ _globals['_EXPERIMENT_FILTER']._serialized_start=6060
117
+ _globals['_EXPERIMENT_FILTER']._serialized_end=7766
118
+ _globals['_EXPERIMENT_OVERRIDE']._serialized_start=7768
119
+ _globals['_EXPERIMENT_OVERRIDE']._serialized_end=7800
120
+ _globals['_EXPERIMENT_RULE']._serialized_start=7803
121
+ _globals['_EXPERIMENT_RULE']._serialized_end=8086
122
+ _globals['_EXPERIMENT_UNITTYPE']._serialized_start=8088
123
+ _globals['_EXPERIMENT_UNITTYPE']._serialized_end=8145
124
+ _globals['_EXPERIMENT_TYPE']._serialized_start=8147
125
+ _globals['_EXPERIMENT_TYPE']._serialized_end=8226
126
+ _globals['_EXPERIMENT_PHASE']._serialized_start=8229
127
+ _globals['_EXPERIMENT_PHASE']._serialized_end=8412
128
+ _globals['_EXPERIMENT_SURFACE']._serialized_start=8415
129
+ _globals['_EXPERIMENT_SURFACE']._serialized_end=8565
130
+ _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_start=8567
131
+ _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_end=8648
132
+ _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=8650
133
+ _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=8762
134
134
  # @@protoc_insertion_point(module_scope)
@@ -817,7 +817,11 @@ export declare enum Experiment_Surface {
817
817
  /**
818
818
  * @generated from protobuf enum value: SURFACE_ADMIN_PANEL = 4;
819
819
  */
820
- ADMIN_PANEL = 4
820
+ ADMIN_PANEL = 4,
821
+ /**
822
+ * @generated from protobuf enum value: SURFACE_ADS_BUDGET_AB = 5;
823
+ */
824
+ ADS_BUDGET_AB = 5
821
825
  }
822
826
  /**
823
827
  * @generated from protobuf enum discord_protos.discord_experimentation.v1.Experiment.ExposureTracking
@@ -108,6 +108,10 @@ var Experiment_Surface;
108
108
  * @generated from protobuf enum value: SURFACE_ADMIN_PANEL = 4;
109
109
  */
110
110
  Experiment_Surface[Experiment_Surface["ADMIN_PANEL"] = 4] = "ADMIN_PANEL";
111
+ /**
112
+ * @generated from protobuf enum value: SURFACE_ADS_BUDGET_AB = 5;
113
+ */
114
+ Experiment_Surface[Experiment_Surface["ADS_BUDGET_AB"] = 5] = "ADS_BUDGET_AB";
111
115
  })(Experiment_Surface || (exports.Experiment_Surface = Experiment_Surface = {}));
112
116
  /**
113
117
  * @generated from protobuf enum discord_protos.discord_experimentation.v1.Experiment.ExposureTracking
@@ -236,6 +236,10 @@ export interface PreloadedUserSettings_GuildDismissibleContentState {
236
236
  * @generated from protobuf field: uint64 last_dismissed_object_id = 4
237
237
  */
238
238
  lastDismissedObjectId: bigint;
239
+ /**
240
+ * @generated from protobuf field: uint32 num_times_dismissed = 5
241
+ */
242
+ numTimesDismissed: number;
239
243
  }
240
244
  /**
241
245
  * @generated from protobuf message discord_protos.discord_users.v1.PreloadedUserSettings.GuildSettings
@@ -321,6 +325,10 @@ export interface PreloadedUserSettings_RecurringDismissibleContentState {
321
325
  * @generated from protobuf field: uint64 last_dismissed_object_id = 3
322
326
  */
323
327
  lastDismissedObjectId: bigint;
328
+ /**
329
+ * @generated from protobuf field: uint32 num_times_dismissed = 4
330
+ */
331
+ numTimesDismissed: number;
324
332
  }
325
333
  /**
326
334
  * @generated from protobuf message discord_protos.discord_users.v1.PreloadedUserSettings.UserContentSettings
@@ -1020,7 +1020,8 @@ class PreloadedUserSettings_GuildDismissibleContentState$Type extends runtime_4.
1020
1020
  { no: 1, name: "dismissed", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1021
1021
  { no: 2, name: "last_dismissed_version", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
1022
1022
  { no: 3, name: "last_dismissed_at_ms", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
1023
- { no: 4, name: "last_dismissed_object_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
1023
+ { no: 4, name: "last_dismissed_object_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
1024
+ { no: 5, name: "num_times_dismissed", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }
1024
1025
  ]);
1025
1026
  }
1026
1027
  create(value) {
@@ -1029,6 +1030,7 @@ class PreloadedUserSettings_GuildDismissibleContentState$Type extends runtime_4.
1029
1030
  message.lastDismissedVersion = 0;
1030
1031
  message.lastDismissedAtMs = 0n;
1031
1032
  message.lastDismissedObjectId = 0n;
1033
+ message.numTimesDismissed = 0;
1032
1034
  if (value !== undefined)
1033
1035
  (0, runtime_3.reflectionMergePartial)(this, message, value);
1034
1036
  return message;
@@ -1050,6 +1052,9 @@ class PreloadedUserSettings_GuildDismissibleContentState$Type extends runtime_4.
1050
1052
  case /* uint64 last_dismissed_object_id */ 4:
1051
1053
  message.lastDismissedObjectId = reader.uint64().toBigInt();
1052
1054
  break;
1055
+ case /* uint32 num_times_dismissed */ 5:
1056
+ message.numTimesDismissed = reader.uint32();
1057
+ break;
1053
1058
  default:
1054
1059
  let u = options.readUnknownField;
1055
1060
  if (u === "throw")
@@ -1074,6 +1079,9 @@ class PreloadedUserSettings_GuildDismissibleContentState$Type extends runtime_4.
1074
1079
  /* uint64 last_dismissed_object_id = 4; */
1075
1080
  if (message.lastDismissedObjectId !== 0n)
1076
1081
  writer.tag(4, runtime_1.WireType.Varint).uint64(message.lastDismissedObjectId);
1082
+ /* uint32 num_times_dismissed = 5; */
1083
+ if (message.numTimesDismissed !== 0)
1084
+ writer.tag(5, runtime_1.WireType.Varint).uint32(message.numTimesDismissed);
1077
1085
  let u = options.writeUnknownFields;
1078
1086
  if (u !== false)
1079
1087
  (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1328,7 +1336,8 @@ class PreloadedUserSettings_RecurringDismissibleContentState$Type extends runtim
1328
1336
  super("discord_protos.discord_users.v1.PreloadedUserSettings.RecurringDismissibleContentState", [
1329
1337
  { no: 1, name: "last_dismissed_version", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
1330
1338
  { no: 2, name: "last_dismissed_at_ms", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
1331
- { no: 3, name: "last_dismissed_object_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
1339
+ { no: 3, name: "last_dismissed_object_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
1340
+ { no: 4, name: "num_times_dismissed", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }
1332
1341
  ]);
1333
1342
  }
1334
1343
  create(value) {
@@ -1336,6 +1345,7 @@ class PreloadedUserSettings_RecurringDismissibleContentState$Type extends runtim
1336
1345
  message.lastDismissedVersion = 0;
1337
1346
  message.lastDismissedAtMs = 0n;
1338
1347
  message.lastDismissedObjectId = 0n;
1348
+ message.numTimesDismissed = 0;
1339
1349
  if (value !== undefined)
1340
1350
  (0, runtime_3.reflectionMergePartial)(this, message, value);
1341
1351
  return message;
@@ -1354,6 +1364,9 @@ class PreloadedUserSettings_RecurringDismissibleContentState$Type extends runtim
1354
1364
  case /* uint64 last_dismissed_object_id */ 3:
1355
1365
  message.lastDismissedObjectId = reader.uint64().toBigInt();
1356
1366
  break;
1367
+ case /* uint32 num_times_dismissed */ 4:
1368
+ message.numTimesDismissed = reader.uint32();
1369
+ break;
1357
1370
  default:
1358
1371
  let u = options.readUnknownField;
1359
1372
  if (u === "throw")
@@ -1375,6 +1388,9 @@ class PreloadedUserSettings_RecurringDismissibleContentState$Type extends runtim
1375
1388
  /* uint64 last_dismissed_object_id = 3; */
1376
1389
  if (message.lastDismissedObjectId !== 0n)
1377
1390
  writer.tag(3, runtime_1.WireType.Varint).uint64(message.lastDismissedObjectId);
1391
+ /* uint32 num_times_dismissed = 4; */
1392
+ if (message.numTimesDismissed !== 0)
1393
+ writer.tag(4, runtime_1.WireType.Varint).uint32(message.numTimesDismissed);
1378
1394
  let u = options.writeUnknownFields;
1379
1395
  if (u !== false)
1380
1396
  (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.68",
3
+ "version": "1.2.70",
4
4
  "description": "A parser for Discord's protobufs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",