discord-protos 1.2.49 → 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.49'
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
  }
@@ -171,6 +172,10 @@ message Experiment {
171
172
  bool value = 1;
172
173
  }
173
174
 
175
+ message ClientSystemLocale {
176
+ repeated string locales = 1 [packed = false];
177
+ }
178
+
174
179
  message Filter {
175
180
  oneof filter {
176
181
  ClientPlatform client_version = 2;
@@ -189,6 +194,7 @@ message Experiment {
189
194
  UnitIdInRangeByHash unit_id_in_range_by_hash = 15;
190
195
  ClientReleaseChannel client_release_channel = 16;
191
196
  Always always = 17;
197
+ ClientSystemLocale client_system_locale = 18;
192
198
  }
193
199
  }
194
200
 
@@ -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\"\xeb<\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\xd5\x0b\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\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)
@@ -41,84 +41,88 @@ if not _descriptor._USE_C_DESCRIPTORS:
41
41
  _globals['_EXPERIMENT_USERLOCALE'].fields_by_name['locales']._serialized_options = b'\020\000'
42
42
  _globals['_EXPERIMENT_CLIENTRELEASECHANNEL'].fields_by_name['release_channels']._loaded_options = None
43
43
  _globals['_EXPERIMENT_CLIENTRELEASECHANNEL'].fields_by_name['release_channels']._serialized_options = b'\020\000'
44
+ _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE'].fields_by_name['locales']._loaded_options = None
45
+ _globals['_EXPERIMENT_CLIENTSYSTEMLOCALE'].fields_by_name['locales']._serialized_options = b'\020\000'
44
46
  _globals['_EXPERIMENT']._serialized_start=156
45
- _globals['_EXPERIMENT']._serialized_end=7943
47
+ _globals['_EXPERIMENT']._serialized_end=8119
46
48
  _globals['_EXPERIMENT_VARIANTALLOCATION']._serialized_start=1262
47
49
  _globals['_EXPERIMENT_VARIANTALLOCATION']._serialized_end=1384
48
50
  _globals['_EXPERIMENT_VARIANT']._serialized_start=1387
49
- _globals['_EXPERIMENT_VARIANT']._serialized_end=1591
50
- _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_start=1594
51
- _globals['_EXPERIMENT_PLATFORMVERSIONSPECIFIER']._serialized_end=1755
52
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_start=1758
53
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGEBOUND']._serialized_end=1918
54
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_start=1921
55
- _globals['_EXPERIMENT_PLATFORMVERSIONRANGE']._serialized_end=2189
56
- _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_start=2192
57
- _globals['_EXPERIMENT_PLATFORMVERSION']._serialized_end=2332
58
- _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_start=2335
59
- _globals['_EXPERIMENT_CLIENTPLATFORM']._serialized_end=2817
60
- _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_start=2819
61
- _globals['_EXPERIMENT_SDKVERSIONSPECIFIER']._serialized_end=2857
62
- _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_start=2860
63
- _globals['_EXPERIMENT_SDKVERSIONRANGEBOUND']._serialized_end=3010
64
- _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_start=3013
65
- _globals['_EXPERIMENT_SDKVERSIONRANGE']._serialized_end=3266
66
- _globals['_EXPERIMENT_SDKVERSION']._serialized_start=3269
67
- _globals['_EXPERIMENT_SDKVERSION']._serialized_end=3399
68
- _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_start=3402
69
- _globals['_EXPERIMENT_CLIENTOPERATINGSYSTEM']._serialized_end=4223
70
- _globals['_EXPERIMENT_STAFFUSERS']._serialized_start=4225
71
- _globals['_EXPERIMENT_STAFFUSERS']._serialized_end=4287
72
- _globals['_EXPERIMENT_USERINGUILD']._serialized_start=4289
73
- _globals['_EXPERIMENT_USERINGUILD']._serialized_end=4321
74
- _globals['_EXPERIMENT_USERIDS']._serialized_start=4323
75
- _globals['_EXPERIMENT_USERIDS']._serialized_end=4350
76
- _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_start=4352
77
- _globals['_EXPERIMENT_CLIENTLOCALE']._serialized_end=4387
78
- _globals['_EXPERIMENT_ISOREGION']._serialized_start=4389
79
- _globals['_EXPERIMENT_ISOREGION']._serialized_end=4446
80
- _globals['_EXPERIMENT_PLACE']._serialized_start=4448
81
- _globals['_EXPERIMENT_PLACE']._serialized_end=4507
82
- _globals['_EXPERIMENT_LOCATION']._serialized_start=4510
83
- _globals['_EXPERIMENT_LOCATION']._serialized_end=4714
84
- _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_start=4716
85
- _globals['_EXPERIMENT_CLIENTLOCATION']._serialized_end=4815
86
- _globals['_EXPERIMENT_CLIENTIP']._serialized_start=4817
87
- _globals['_EXPERIMENT_CLIENTIP']._serialized_end=4847
88
- _globals['_EXPERIMENT_USERLOCALE']._serialized_start=4849
89
- _globals['_EXPERIMENT_USERLOCALE']._serialized_end=4882
90
- _globals['_EXPERIMENT_USERISBOT']._serialized_start=4884
91
- _globals['_EXPERIMENT_USERISBOT']._serialized_end=4911
92
- _globals['_EXPERIMENT_USERAGERANGE']._serialized_start=4914
93
- _globals['_EXPERIMENT_USERAGERANGE']._serialized_end=5080
94
- _globals['_EXPERIMENT_FIXED64VALUE']._serialized_start=5082
95
- _globals['_EXPERIMENT_FIXED64VALUE']._serialized_end=5111
96
- _globals['_EXPERIMENT_USERIDRANGE']._serialized_start=5114
97
- _globals['_EXPERIMENT_USERIDRANGE']._serialized_end=5327
98
- _globals['_EXPERIMENT_USERHASFLAG']._serialized_start=5329
99
- _globals['_EXPERIMENT_USERHASFLAG']._serialized_end=5356
100
- _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_start=5358
101
- _globals['_EXPERIMENT_UNITIDINRANGEBYHASH']._serialized_end=5413
102
- _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_start=5415
103
- _globals['_EXPERIMENT_CLIENTRELEASECHANNEL']._serialized_end=5467
104
- _globals['_EXPERIMENT_ALWAYS']._serialized_start=5469
105
- _globals['_EXPERIMENT_ALWAYS']._serialized_end=5492
106
- _globals['_EXPERIMENT_FILTER']._serialized_start=5495
107
- _globals['_EXPERIMENT_FILTER']._serialized_end=6988
108
- _globals['_EXPERIMENT_OVERRIDE']._serialized_start=6990
109
- _globals['_EXPERIMENT_OVERRIDE']._serialized_end=7020
110
- _globals['_EXPERIMENT_RULE']._serialized_start=7023
111
- _globals['_EXPERIMENT_RULE']._serialized_end=7306
112
- _globals['_EXPERIMENT_UNITTYPE']._serialized_start=7308
113
- _globals['_EXPERIMENT_UNITTYPE']._serialized_end=7365
114
- _globals['_EXPERIMENT_TYPE']._serialized_start=7367
115
- _globals['_EXPERIMENT_TYPE']._serialized_end=7446
116
- _globals['_EXPERIMENT_STATUS']._serialized_start=7449
117
- _globals['_EXPERIMENT_STATUS']._serialized_end=7613
118
- _globals['_EXPERIMENT_SURFACE']._serialized_start=7615
119
- _globals['_EXPERIMENT_SURFACE']._serialized_end=7683
120
- _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_start=7685
121
- _globals['_EXPERIMENT_EXPOSURETRACKING']._serialized_end=7766
122
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_start=7768
123
- _globals['_EXPERIMENT_ASSIGNMENTMODE']._serialized_end=7880
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
124
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
  };
@@ -707,13 +722,17 @@ export declare enum Experiment_Status {
707
722
  */
708
723
  TESTING_ENDED = 3,
709
724
  /**
710
- * @generated from protobuf enum value: STATUS_ROLLOUT = 4;
725
+ * @generated from protobuf enum value: STATUS_ROLLING_OUT = 4;
726
+ */
727
+ ROLLING_OUT = 4,
728
+ /**
729
+ * @generated from protobuf enum value: STATUS_ROLLED_OUT = 5;
711
730
  */
712
- ROLLOUT = 4,
731
+ ROLLED_OUT = 5,
713
732
  /**
714
- * @generated from protobuf enum value: STATUS_ARCHIVED = 5;
733
+ * @generated from protobuf enum value: STATUS_ARCHIVED = 6;
715
734
  */
716
- ARCHIVED = 5
735
+ ARCHIVED = 6
717
736
  }
718
737
  /**
719
738
  * @generated from protobuf enum discord_protos.discord_experimentation.v1.Experiment.Surface
@@ -1072,6 +1091,16 @@ declare class Experiment_Always$Type extends MessageType<Experiment_Always> {
1072
1091
  * @generated MessageType for protobuf message discord_protos.discord_experimentation.v1.Experiment.Always
1073
1092
  */
1074
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;
1075
1104
  declare class Experiment_Filter$Type extends MessageType<Experiment_Filter> {
1076
1105
  constructor();
1077
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");
@@ -67,13 +67,17 @@ var Experiment_Status;
67
67
  */
68
68
  Experiment_Status[Experiment_Status["TESTING_ENDED"] = 3] = "TESTING_ENDED";
69
69
  /**
70
- * @generated from protobuf enum value: STATUS_ROLLOUT = 4;
70
+ * @generated from protobuf enum value: STATUS_ROLLING_OUT = 4;
71
71
  */
72
- Experiment_Status[Experiment_Status["ROLLOUT"] = 4] = "ROLLOUT";
72
+ Experiment_Status[Experiment_Status["ROLLING_OUT"] = 4] = "ROLLING_OUT";
73
73
  /**
74
- * @generated from protobuf enum value: STATUS_ARCHIVED = 5;
74
+ * @generated from protobuf enum value: STATUS_ROLLED_OUT = 5;
75
75
  */
76
- Experiment_Status[Experiment_Status["ARCHIVED"] = 5] = "ARCHIVED";
76
+ Experiment_Status[Experiment_Status["ROLLED_OUT"] = 5] = "ROLLED_OUT";
77
+ /**
78
+ * @generated from protobuf enum value: STATUS_ARCHIVED = 6;
79
+ */
80
+ Experiment_Status[Experiment_Status["ARCHIVED"] = 6] = "ARCHIVED";
77
81
  })(Experiment_Status || (exports.Experiment_Status = Experiment_Status = {}));
78
82
  /**
79
83
  * @generated from protobuf enum discord_protos.discord_experimentation.v1.Experiment.Surface
@@ -2019,6 +2023,53 @@ class Experiment_Always$Type extends runtime_4.MessageType {
2019
2023
  */
2020
2024
  exports.Experiment_Always = new Experiment_Always$Type();
2021
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
2022
2073
  class Experiment_Filter$Type extends runtime_4.MessageType {
2023
2074
  constructor() {
2024
2075
  super("discord_protos.discord_experimentation.v1.Experiment.Filter", [
@@ -2037,7 +2088,8 @@ class Experiment_Filter$Type extends runtime_4.MessageType {
2037
2088
  { no: 14, name: "user_has_flag", kind: "message", oneof: "filter", T: () => exports.Experiment_UserHasFlag },
2038
2089
  { no: 15, name: "unit_id_in_range_by_hash", kind: "message", oneof: "filter", T: () => exports.Experiment_UnitIdInRangeByHash },
2039
2090
  { no: 16, name: "client_release_channel", kind: "message", oneof: "filter", T: () => exports.Experiment_ClientReleaseChannel },
2040
- { 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 }
2041
2093
  ]);
2042
2094
  }
2043
2095
  create(value) {
@@ -2148,6 +2200,12 @@ class Experiment_Filter$Type extends runtime_4.MessageType {
2148
2200
  always: exports.Experiment_Always.internalBinaryRead(reader, reader.uint32(), options, message.filter.always)
2149
2201
  };
2150
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;
2151
2209
  default:
2152
2210
  let u = options.readUnknownField;
2153
2211
  if (u === "throw")
@@ -2208,6 +2266,9 @@ class Experiment_Filter$Type extends runtime_4.MessageType {
2208
2266
  /* discord_protos.discord_experimentation.v1.Experiment.Always always = 17; */
2209
2267
  if (message.filter.oneofKind === "always")
2210
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();
2211
2272
  let u = options.writeUnknownFields;
2212
2273
  if (u !== false)
2213
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.49",
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",