discord-protos 1.2.50 → 1.2.51

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.50'
6
+ __version__ = '1.2.51'
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from google.protobuf.message import Message as _Message
@@ -27,6 +27,7 @@ message Experiment {
27
27
  message Variant {
28
28
  int32 id = 1;
29
29
  string label = 2;
30
+ int32 target_allocation = 3;
30
31
  repeated VariantAllocation allocations = 4;
31
32
  Type type = 5;
32
33
  }
@@ -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\"\x80>\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\x12O\n\x08variants\x18\x0f \x03(\x0b\x32=.discord_protos.discord_experimentation.v1.Experiment.Variant\x12I\n\x05rules\x18\x10 \x03(\x0b\x32:.discord_protos.discord_experimentation.v1.Experiment.Rule\x12L\n\x06status\x18\x12 \x01(\x0e\x32<.discord_protos.discord_experimentation.v1.Experiment.Status\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\x1a\n\x12winning_variant_id\x18\x18 \x01(\x05\x1az\n\x11VariantAllocation\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\xcc\x01\n\x07Variant\x12\n\n\x02id\x18\x01 \x01(\x05\x12\r\n\x05label\x18\x02 \x01(\t\x12\\\n\x0b\x61llocations\x18\x04 \x03(\x0b\x32G.discord_protos.discord_experimentation.v1.Experiment.VariantAllocation\x12H\n\x04type\x18\x05 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\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\xe2\x03\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\x42\x0e\n\x0c_ios_versionB\x12\n\x10_android_versionB\x0e\n\x0c_web_versionB\x11\n\x0f_native_version\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\xbf\x0c\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\x42\x08\n\x06\x66ilter\x1a\x1e\n\x08Override\x12\x12\n\nvariant_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\"\xa4\x01\n\x06Status\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\x10\n\x0cSTATUS_DRAFT\x10\x01\x12\x12\n\x0eSTATUS_TESTING\x10\x02\x12\x18\n\x14STATUS_TESTING_ENDED\x10\x03\x12\x16\n\x12STATUS_ROLLING_OUT\x10\x04\x12\x15\n\x11STATUS_ROLLED_OUT\x10\x05\x12\x13\n\x0fSTATUS_ARCHIVED\x10\x06\"D\n\x07Surface\x12\x17\n\x13SURFACE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bSURFACE_API\x10\x01\x12\x0f\n\x0bSURFACE_APP\x10\x02\"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\"\x9b>\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\x12O\n\x08variants\x18\x0f \x03(\x0b\x32=.discord_protos.discord_experimentation.v1.Experiment.Variant\x12I\n\x05rules\x18\x10 \x03(\x0b\x32:.discord_protos.discord_experimentation.v1.Experiment.Rule\x12L\n\x06status\x18\x12 \x01(\x0e\x32<.discord_protos.discord_experimentation.v1.Experiment.Status\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\x1a\n\x12winning_variant_id\x18\x18 \x01(\x05\x1az\n\x11VariantAllocation\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\xe7\x01\n\x07Variant\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\x12\\\n\x0b\x61llocations\x18\x04 \x03(\x0b\x32G.discord_protos.discord_experimentation.v1.Experiment.VariantAllocation\x12H\n\x04type\x18\x05 \x01(\x0e\x32:.discord_protos.discord_experimentation.v1.Experiment.Type\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\xe2\x03\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\x42\x0e\n\x0c_ios_versionB\x12\n\x10_android_versionB\x0e\n\x0c_web_versionB\x11\n\x0f_native_version\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\xbf\x0c\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\x42\x08\n\x06\x66ilter\x1a\x1e\n\x08Override\x12\x12\n\nvariant_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\"\xa4\x01\n\x06Status\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\x10\n\x0cSTATUS_DRAFT\x10\x01\x12\x12\n\x0eSTATUS_TESTING\x10\x02\x12\x18\n\x14STATUS_TESTING_ENDED\x10\x03\x12\x16\n\x12STATUS_ROLLING_OUT\x10\x04\x12\x15\n\x11STATUS_ROLLED_OUT\x10\x05\x12\x13\n\x0fSTATUS_ARCHIVED\x10\x06\"D\n\x07Surface\x12\x17\n\x13SURFACE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bSURFACE_API\x10\x01\x12\x0f\n\x0bSURFACE_APP\x10\x02\"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)
@@ -44,85 +44,85 @@ if not _descriptor._USE_C_DESCRIPTORS:
44
44
  _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE'].fields_by_name['locales']._loaded_options = None
45
45
  _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE'].fields_by_name['locales']._serialized_options = b'\020\000'
46
46
  _globals['_EXPERIMENT']._serialized_start=156
47
- _globals['_EXPERIMENT']._serialized_end=8092
47
+ _globals['_EXPERIMENT']._serialized_end=8119
48
48
  _globals['_EXPERIMENT_VARIANTALLOCATION']._serialized_start=1262
49
49
  _globals['_EXPERIMENT_VARIANTALLOCATION']._serialized_end=1384
50
50
  _globals['_EXPERIMENT_VARIANT']._serialized_start=1387
51
- _globals['_EXPERIMENT_VARIANT']._serialized_end=1591
52
- _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_start=1594
53
- _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_end=1755
54
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_start=1758
55
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_end=1918
56
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_start=1921
57
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_end=2189
58
- _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_start=2192
59
- _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_end=2332
60
- _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_start=2335
61
- _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_end=2817
62
- _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_start=2819
63
- _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_end=2857
64
- _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_start=2860
65
- _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_end=3010
66
- _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_start=3013
67
- _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_end=3266
68
- _globals['_EXPERIMENT_SDKVERSION']._serialized_start=3269
69
- _globals['_EXPERIMENT_SDKVERSION']._serialized_end=3399
70
- _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_start=3402
71
- _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_end=4223
72
- _globals['_EXPERIMENT_STAFFUSERS']._serialized_start=4225
73
- _globals['_EXPERIMENT_STAFFUSERS']._serialized_end=4287
74
- _globals['_EXPERIMENT_USERINGUILD']._serialized_start=4289
75
- _globals['_EXPERIMENT_USERINGUILD']._serialized_end=4321
76
- _globals['_EXPERIMENT_USERIDS']._serialized_start=4323
77
- _globals['_EXPERIMENT_USERIDS']._serialized_end=4350
78
- _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_start=4352
79
- _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_end=4387
80
- _globals['_EXPERIMENT_ISOREGION']._serialized_start=4389
81
- _globals['_EXPERIMENT_ISOREGION']._serialized_end=4446
82
- _globals['_EXPERIMENT_PLACE']._serialized_start=4448
83
- _globals['_EXPERIMENT_PLACE']._serialized_end=4507
84
- _globals['_EXPERIMENT_LOCATION']._serialized_start=4510
85
- _globals['_EXPERIMENT_LOCATION']._serialized_end=4714
86
- _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_start=4716
87
- _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_end=4815
88
- _globals['_EXPERIMENT_CLIENTIP']._serialized_start=4817
89
- _globals['_EXPERIMENT_CLIENTIP']._serialized_end=4847
90
- _globals['_EXPERIMENT_USERLOCALE']._serialized_start=4849
91
- _globals['_EXPERIMENT_USERLOCALE']._serialized_end=4882
92
- _globals['_EXPERIMENT_USERISBOT']._serialized_start=4884
93
- _globals['_EXPERIMENT_USERISBOT']._serialized_end=4911
94
- _globals['_EXPERIMENT_USERAGERANGE']._serialized_start=4914
95
- _globals['_EXPERIMENT_USERAGERANGE']._serialized_end=5080
96
- _globals['_EXPERIMENT_FIXED64VALUE']._serialized_start=5082
97
- _globals['_EXPERIMENT_FIXED64VALUE']._serialized_end=5111
98
- _globals['_EXPERIMENT_USERIDRANGE']._serialized_start=5114
99
- _globals['_EXPERIMENT_USERIDRANGE']._serialized_end=5327
100
- _globals['_EXPERIMENT_USERHASFLAG']._serialized_start=5329
101
- _globals['_EXPERIMENT_USERHASFLAG']._serialized_end=5356
102
- _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_start=5358
103
- _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_end=5413
104
- _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_start=5415
105
- _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_end=5467
106
- _globals['_EXPERIMENT_ALWAYS']._serialized_start=5469
107
- _globals['_EXPERIMENT_ALWAYS']._serialized_end=5492
108
- _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_start=5494
109
- _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_end=5535
110
- _globals['_EXPERIMENT_FILTER']._serialized_start=5538
111
- _globals['_EXPERIMENT_FILTER']._serialized_end=7137
112
- _globals['_EXPERIMENT_OVERRIDE']._serialized_start=7139
113
- _globals['_EXPERIMENT_OVERRIDE']._serialized_end=7169
114
- _globals['_EXPERIMENT_RULE']._serialized_start=7172
115
- _globals['_EXPERIMENT_RULE']._serialized_end=7455
116
- _globals['_EXPERIMENT_UNITTYPE']._serialized_start=7457
117
- _globals['_EXPERIMENT_UNITTYPE']._serialized_end=7514
118
- _globals['_EXPERIMENT_TYPE']._serialized_start=7516
119
- _globals['_EXPERIMENT_TYPE']._serialized_end=7595
120
- _globals['_EXPERIMENT_STATUS']._serialized_start=7598
121
- _globals['_EXPERIMENT_STATUS']._serialized_end=7762
122
- _globals['_EXPERIMENT_SURFACE']._serialized_start=7764
123
- _globals['_EXPERIMENT_SURFACE']._serialized_end=7832
124
- _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_start=7834
125
- _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_end=7915
126
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=7917
127
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=8029
51
+ _globals['_EXPERIMENT_VARIANT']._serialized_end=1618
52
+ _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_start=1621
53
+ _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_end=1782
54
+ _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_start=1785
55
+ _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_end=1945
56
+ _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_start=1948
57
+ _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_end=2216
58
+ _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_start=2219
59
+ _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_end=2359
60
+ _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_start=2362
61
+ _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_end=2844
62
+ _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_start=2846
63
+ _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_end=2884
64
+ _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_start=2887
65
+ _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_end=3037
66
+ _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_start=3040
67
+ _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_end=3293
68
+ _globals['_EXPERIMENT_SDKVERSION']._serialized_start=3296
69
+ _globals['_EXPERIMENT_SDKVERSION']._serialized_end=3426
70
+ _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_start=3429
71
+ _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_end=4250
72
+ _globals['_EXPERIMENT_STAFFUSERS']._serialized_start=4252
73
+ _globals['_EXPERIMENT_STAFFUSERS']._serialized_end=4314
74
+ _globals['_EXPERIMENT_USERINGUILD']._serialized_start=4316
75
+ _globals['_EXPERIMENT_USERINGUILD']._serialized_end=4348
76
+ _globals['_EXPERIMENT_USERIDS']._serialized_start=4350
77
+ _globals['_EXPERIMENT_USERIDS']._serialized_end=4377
78
+ _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_start=4379
79
+ _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_end=4414
80
+ _globals['_EXPERIMENT_ISOREGION']._serialized_start=4416
81
+ _globals['_EXPERIMENT_ISOREGION']._serialized_end=4473
82
+ _globals['_EXPERIMENT_PLACE']._serialized_start=4475
83
+ _globals['_EXPERIMENT_PLACE']._serialized_end=4534
84
+ _globals['_EXPERIMENT_LOCATION']._serialized_start=4537
85
+ _globals['_EXPERIMENT_LOCATION']._serialized_end=4741
86
+ _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_start=4743
87
+ _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_end=4842
88
+ _globals['_EXPERIMENT_CLIENTIP']._serialized_start=4844
89
+ _globals['_EXPERIMENT_CLIENTIP']._serialized_end=4874
90
+ _globals['_EXPERIMENT_USERLOCALE']._serialized_start=4876
91
+ _globals['_EXPERIMENT_USERLOCALE']._serialized_end=4909
92
+ _globals['_EXPERIMENT_USERISBOT']._serialized_start=4911
93
+ _globals['_EXPERIMENT_USERISBOT']._serialized_end=4938
94
+ _globals['_EXPERIMENT_USERAGERANGE']._serialized_start=4941
95
+ _globals['_EXPERIMENT_USERAGERANGE']._serialized_end=5107
96
+ _globals['_EXPERIMENT_FIXED64VALUE']._serialized_start=5109
97
+ _globals['_EXPERIMENT_FIXED64VALUE']._serialized_end=5138
98
+ _globals['_EXPERIMENT_USERIDRANGE']._serialized_start=5141
99
+ _globals['_EXPERIMENT_USERIDRANGE']._serialized_end=5354
100
+ _globals['_EXPERIMENT_USERHASFLAG']._serialized_start=5356
101
+ _globals['_EXPERIMENT_USERHASFLAG']._serialized_end=5383
102
+ _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_start=5385
103
+ _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_end=5440
104
+ _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_start=5442
105
+ _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_end=5494
106
+ _globals['_EXPERIMENT_ALWAYS']._serialized_start=5496
107
+ _globals['_EXPERIMENT_ALWAYS']._serialized_end=5519
108
+ _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_start=5521
109
+ _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE']._serialized_end=5562
110
+ _globals['_EXPERIMENT_FILTER']._serialized_start=5565
111
+ _globals['_EXPERIMENT_FILTER']._serialized_end=7164
112
+ _globals['_EXPERIMENT_OVERRIDE']._serialized_start=7166
113
+ _globals['_EXPERIMENT_OVERRIDE']._serialized_end=7196
114
+ _globals['_EXPERIMENT_RULE']._serialized_start=7199
115
+ _globals['_EXPERIMENT_RULE']._serialized_end=7482
116
+ _globals['_EXPERIMENT_UNITTYPE']._serialized_start=7484
117
+ _globals['_EXPERIMENT_UNITTYPE']._serialized_end=7541
118
+ _globals['_EXPERIMENT_TYPE']._serialized_start=7543
119
+ _globals['_EXPERIMENT_TYPE']._serialized_end=7622
120
+ _globals['_EXPERIMENT_STATUS']._serialized_start=7625
121
+ _globals['_EXPERIMENT_STATUS']._serialized_end=7789
122
+ _globals['_EXPERIMENT_SURFACE']._serialized_start=7791
123
+ _globals['_EXPERIMENT_SURFACE']._serialized_end=7859
124
+ _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_start=7861
125
+ _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_end=7942
126
+ _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=7944
127
+ _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=8056
128
128
  # @@protoc_insertion_point(module_scope)
@@ -515,6 +515,15 @@ export interface Experiment_Always {
515
515
  */
516
516
  value: boolean;
517
517
  }
518
+ /**
519
+ * @generated from protobuf message discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocale
520
+ */
521
+ export interface Experiment_ClientSystemLocale {
522
+ /**
523
+ * @generated from protobuf field: repeated string locales = 1 [packed = false]
524
+ */
525
+ locales: string[];
526
+ }
518
527
  /**
519
528
  * @generated from protobuf message discord_protos.discord_experimentation.v1.Experiment.Filter
520
529
  */
@@ -618,6 +627,12 @@ export interface Experiment_Filter {
618
627
  * @generated from protobuf field: discord_protos.discord_experimentation.v1.Experiment.Always always = 17
619
628
  */
620
629
  always: Experiment_Always;
630
+ } | {
631
+ oneofKind: "clientSystemLocale";
632
+ /**
633
+ * @generated from protobuf field: discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocale client_system_locale = 18
634
+ */
635
+ clientSystemLocale: Experiment_ClientSystemLocale;
621
636
  } | {
622
637
  oneofKind: undefined;
623
638
  };
@@ -1076,6 +1091,16 @@ declare class Experiment_Always$Type extends MessageType<Experiment_Always> {
1076
1091
  * @generated MessageType for protobuf message discord_protos.discord_experimentation.v1.Experiment.Always
1077
1092
  */
1078
1093
  export declare const Experiment_Always: Experiment_Always$Type;
1094
+ declare class Experiment_ClientSystemLocale$Type extends MessageType<Experiment_ClientSystemLocale> {
1095
+ constructor();
1096
+ create(value?: PartialMessage<Experiment_ClientSystemLocale>): Experiment_ClientSystemLocale;
1097
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Experiment_ClientSystemLocale): Experiment_ClientSystemLocale;
1098
+ internalBinaryWrite(message: Experiment_ClientSystemLocale, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
1099
+ }
1100
+ /**
1101
+ * @generated MessageType for protobuf message discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocale
1102
+ */
1103
+ export declare const Experiment_ClientSystemLocale: Experiment_ClientSystemLocale$Type;
1079
1104
  declare class Experiment_Filter$Type extends MessageType<Experiment_Filter> {
1080
1105
  constructor();
1081
1106
  create(value?: PartialMessage<Experiment_Filter>): Experiment_Filter;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Experiment_Rule = exports.Experiment_Override = exports.Experiment_Filter = exports.Experiment_Always = exports.Experiment_ClientReleaseChannel = exports.Experiment_UnitIdInRangeByHash = exports.Experiment_UserHasFlag = exports.Experiment_UserIDRange = exports.Experiment_Fixed64Value = exports.Experiment_UserAgeRange = exports.Experiment_UserIsBot = exports.Experiment_UserLocale = exports.Experiment_ClientIP = exports.Experiment_ClientLocation = exports.Experiment_Location = exports.Experiment_Place = exports.Experiment_ISORegion = exports.Experiment_ClientLocale = exports.Experiment_UserIds = exports.Experiment_UserInGuild = exports.Experiment_StaffUsers = exports.Experiment_ClientOperatingSystem = exports.Experiment_SDKVersion = exports.Experiment_SDKVersionRange = exports.Experiment_SDKVersionRangeBound = exports.Experiment_SDKVersionSpecifier = exports.Experiment_ClientPlatform = exports.Experiment_PlatformVersion = exports.Experiment_PlatformVersionRange = exports.Experiment_PlatformVersionRangeBound = exports.Experiment_PlatformVersionSpecifier = exports.Experiment_Variant = exports.Experiment_VariantAllocation = exports.Experiment = exports.Experiment_AssignmentMode = exports.Experiment_ExposureTracking = exports.Experiment_Surface = exports.Experiment_Status = exports.Experiment_Type = exports.Experiment_UnitType = void 0;
3
+ exports.Experiment_Rule = exports.Experiment_Override = exports.Experiment_Filter = exports.Experiment_ClientSystemLocale = exports.Experiment_Always = exports.Experiment_ClientReleaseChannel = exports.Experiment_UnitIdInRangeByHash = exports.Experiment_UserHasFlag = exports.Experiment_UserIDRange = exports.Experiment_Fixed64Value = exports.Experiment_UserAgeRange = exports.Experiment_UserIsBot = exports.Experiment_UserLocale = exports.Experiment_ClientIP = exports.Experiment_ClientLocation = exports.Experiment_Location = exports.Experiment_Place = exports.Experiment_ISORegion = exports.Experiment_ClientLocale = exports.Experiment_UserIds = exports.Experiment_UserInGuild = exports.Experiment_StaffUsers = exports.Experiment_ClientOperatingSystem = exports.Experiment_SDKVersion = exports.Experiment_SDKVersionRange = exports.Experiment_SDKVersionRangeBound = exports.Experiment_SDKVersionSpecifier = exports.Experiment_ClientPlatform = exports.Experiment_PlatformVersion = exports.Experiment_PlatformVersionRange = exports.Experiment_PlatformVersionRangeBound = exports.Experiment_PlatformVersionSpecifier = exports.Experiment_Variant = exports.Experiment_VariantAllocation = exports.Experiment = exports.Experiment_AssignmentMode = exports.Experiment_ExposureTracking = exports.Experiment_Surface = exports.Experiment_Status = exports.Experiment_Type = exports.Experiment_UnitType = 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");
@@ -2023,6 +2023,53 @@ class Experiment_Always$Type extends runtime_4.MessageType {
2023
2023
  */
2024
2024
  exports.Experiment_Always = new Experiment_Always$Type();
2025
2025
  // @generated message type with reflection information, may provide speed optimized methods
2026
+ class Experiment_ClientSystemLocale$Type extends runtime_4.MessageType {
2027
+ constructor() {
2028
+ super("discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocale", [
2029
+ { no: 1, name: "locales", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
2030
+ ]);
2031
+ }
2032
+ create(value) {
2033
+ const message = globalThis.Object.create((this.messagePrototype));
2034
+ message.locales = [];
2035
+ if (value !== undefined)
2036
+ (0, runtime_3.reflectionMergePartial)(this, message, value);
2037
+ return message;
2038
+ }
2039
+ internalBinaryRead(reader, length, options, target) {
2040
+ let message = target ?? this.create(), end = reader.pos + length;
2041
+ while (reader.pos < end) {
2042
+ let [fieldNo, wireType] = reader.tag();
2043
+ switch (fieldNo) {
2044
+ case /* repeated string locales = 1 [packed = false] */ 1:
2045
+ message.locales.push(reader.string());
2046
+ break;
2047
+ default:
2048
+ let u = options.readUnknownField;
2049
+ if (u === "throw")
2050
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
2051
+ let d = reader.skip(wireType);
2052
+ if (u !== false)
2053
+ (u === true ? runtime_1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
2054
+ }
2055
+ }
2056
+ return message;
2057
+ }
2058
+ internalBinaryWrite(message, writer, options) {
2059
+ /* repeated string locales = 1 [packed = false]; */
2060
+ for (let i = 0; i < message.locales.length; i++)
2061
+ writer.tag(1, runtime_2.WireType.LengthDelimited).string(message.locales[i]);
2062
+ let u = options.writeUnknownFields;
2063
+ if (u !== false)
2064
+ (u == true ? runtime_1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
2065
+ return writer;
2066
+ }
2067
+ }
2068
+ /**
2069
+ * @generated MessageType for protobuf message discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocale
2070
+ */
2071
+ exports.Experiment_ClientSystemLocale = new Experiment_ClientSystemLocale$Type();
2072
+ // @generated message type with reflection information, may provide speed optimized methods
2026
2073
  class Experiment_Filter$Type extends runtime_4.MessageType {
2027
2074
  constructor() {
2028
2075
  super("discord_protos.discord_experimentation.v1.Experiment.Filter", [
@@ -2041,7 +2088,8 @@ class Experiment_Filter$Type extends runtime_4.MessageType {
2041
2088
  { no: 14, name: "user_has_flag", kind: "message", oneof: "filter", T: () => exports.Experiment_UserHasFlag },
2042
2089
  { no: 15, name: "unit_id_in_range_by_hash", kind: "message", oneof: "filter", T: () => exports.Experiment_UnitIdInRangeByHash },
2043
2090
  { no: 16, name: "client_release_channel", kind: "message", oneof: "filter", T: () => exports.Experiment_ClientReleaseChannel },
2044
- { no: 17, name: "always", kind: "message", oneof: "filter", T: () => exports.Experiment_Always }
2091
+ { no: 17, name: "always", kind: "message", oneof: "filter", T: () => exports.Experiment_Always },
2092
+ { no: 18, name: "client_system_locale", kind: "message", oneof: "filter", T: () => exports.Experiment_ClientSystemLocale }
2045
2093
  ]);
2046
2094
  }
2047
2095
  create(value) {
@@ -2152,6 +2200,12 @@ class Experiment_Filter$Type extends runtime_4.MessageType {
2152
2200
  always: exports.Experiment_Always.internalBinaryRead(reader, reader.uint32(), options, message.filter.always)
2153
2201
  };
2154
2202
  break;
2203
+ case /* discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocale client_system_locale */ 18:
2204
+ message.filter = {
2205
+ oneofKind: "clientSystemLocale",
2206
+ clientSystemLocale: exports.Experiment_ClientSystemLocale.internalBinaryRead(reader, reader.uint32(), options, message.filter.clientSystemLocale)
2207
+ };
2208
+ break;
2155
2209
  default:
2156
2210
  let u = options.readUnknownField;
2157
2211
  if (u === "throw")
@@ -2212,6 +2266,9 @@ class Experiment_Filter$Type extends runtime_4.MessageType {
2212
2266
  /* discord_protos.discord_experimentation.v1.Experiment.Always always = 17; */
2213
2267
  if (message.filter.oneofKind === "always")
2214
2268
  exports.Experiment_Always.internalBinaryWrite(message.filter.always, writer.tag(17, runtime_2.WireType.LengthDelimited).fork(), options).join();
2269
+ /* discord_protos.discord_experimentation.v1.Experiment.ClientSystemLocale client_system_locale = 18; */
2270
+ if (message.filter.oneofKind === "clientSystemLocale")
2271
+ exports.Experiment_ClientSystemLocale.internalBinaryWrite(message.filter.clientSystemLocale, writer.tag(18, runtime_2.WireType.LengthDelimited).fork(), options).join();
2215
2272
  let u = options.writeUnknownFields;
2216
2273
  if (u !== false)
2217
2274
  (u == true ? runtime_1.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.50",
3
+ "version": "1.2.51",
4
4
  "description": "A parser for Discord's protobufs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",