@devvit/protos 0.11.7-next-2025-02-10-fe279479a.0 → 0.11.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (223) hide show
  1. package/package.json +4 -4
  2. package/meta.min.json +0 -7820
  3. package/protos.min.js +0 -2
  4. package/protos.min.js.map +0 -7
  5. package/schema/.snootobuf/deps/buf/validate/expression.proto +0 -92
  6. package/schema/.snootobuf/deps/buf/validate/priv/private.proto +0 -41
  7. package/schema/.snootobuf/deps/buf/validate/validate.proto +0 -4130
  8. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/audit.proto +0 -72
  9. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/auth.proto +0 -49
  10. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/organization.proto +0 -54
  11. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/service.proto +0 -46
  12. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/subscription.proto +0 -72
  13. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/ui.proto +0 -20
  14. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/user.proto +0 -45
  15. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/admin.proto +0 -54
  16. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/delivery.proto +0 -773
  17. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/filter.proto +0 -66
  18. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/firehose.proto +0 -100
  19. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/intake.proto +0 -19
  20. package/schema/.snootobuf/deps/devvit/events/v1alpha/events.proto +0 -446
  21. package/schema/.snootobuf/deps/devvit/gateway/v1alpha/payments.proto +0 -24
  22. package/schema/.snootobuf/deps/devvit/options/options.proto +0 -98
  23. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/commentv2.proto +0 -29
  24. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/flair.proto +0 -25
  25. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modaction.proto +0 -53
  26. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modmail.proto +0 -56
  27. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/postv2.proto +0 -107
  28. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/subredditv2.proto +0 -41
  29. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/userv2.proto +0 -23
  30. package/schema/.snootobuf/deps/devvit/triggers/v1alpha/triggers.proto +0 -162
  31. package/schema/.snootobuf/deps/enum/account_gender_category.proto +0 -14
  32. package/schema/.snootobuf/deps/enum/approval_status.proto +0 -15
  33. package/schema/.snootobuf/deps/enum/automated_reporting_level.proto +0 -12
  34. package/schema/.snootobuf/deps/enum/ban_evasion_threshold.proto +0 -13
  35. package/schema/.snootobuf/deps/enum/ban_info_action.proto +0 -12
  36. package/schema/.snootobuf/deps/enum/block_relation_type.proto +0 -11
  37. package/schema/.snootobuf/deps/enum/comment_sort.proto +0 -18
  38. package/schema/.snootobuf/deps/enum/comment_type.proto +0 -11
  39. package/schema/.snootobuf/deps/enum/crowd_control_level.proto +0 -12
  40. package/schema/.snootobuf/deps/enum/discussion_type.proto +0 -10
  41. package/schema/.snootobuf/deps/enum/distinguish_type.proto +0 -14
  42. package/schema/.snootobuf/deps/enum/flair_position.proto +0 -11
  43. package/schema/.snootobuf/deps/enum/hateful_content_threshold.proto +0 -12
  44. package/schema/.snootobuf/deps/enum/link_content_type.proto +0 -11
  45. package/schema/.snootobuf/deps/enum/link_type.proto +0 -11
  46. package/schema/.snootobuf/deps/enum/link_visibility.proto +0 -11
  47. package/schema/.snootobuf/deps/enum/prediction_leaderboard_entry_type.proto +0 -11
  48. package/schema/.snootobuf/deps/enum/promo_layout.proto +0 -11
  49. package/schema/.snootobuf/deps/enum/removed_by_type.proto +0 -18
  50. package/schema/.snootobuf/deps/enum/spam_level.proto +0 -11
  51. package/schema/.snootobuf/deps/enum/subreddit_type.proto +0 -16
  52. package/schema/.snootobuf/deps/enum/verdict.proto +0 -14
  53. package/schema/.snootobuf/deps/enum/vote.proto +0 -12
  54. package/schema/.snootobuf/deps/enum/whitelist_status.proto +0 -17
  55. package/schema/.snootobuf/deps/enum/wiki_edit_mode.proto +0 -12
  56. package/schema/.snootobuf/deps/evaluator/evaluator.proto +0 -203
  57. package/schema/.snootobuf/deps/google/api/annotations.proto +0 -31
  58. package/schema/.snootobuf/deps/google/api/apikeys/v2/apikeys.proto +0 -288
  59. package/schema/.snootobuf/deps/google/api/apikeys/v2/resources.proto +0 -175
  60. package/schema/.snootobuf/deps/google/api/auth.proto +0 -237
  61. package/schema/.snootobuf/deps/google/api/backend.proto +0 -185
  62. package/schema/.snootobuf/deps/google/api/billing.proto +0 -77
  63. package/schema/.snootobuf/deps/google/api/client.proto +0 -431
  64. package/schema/.snootobuf/deps/google/api/cloudquotas/v1/cloudquotas.proto +0 -322
  65. package/schema/.snootobuf/deps/google/api/cloudquotas/v1/resources.proto +0 -315
  66. package/schema/.snootobuf/deps/google/api/config_change.proto +0 -84
  67. package/schema/.snootobuf/deps/google/api/consumer.proto +0 -82
  68. package/schema/.snootobuf/deps/google/api/context.proto +0 -92
  69. package/schema/.snootobuf/deps/google/api/control.proto +0 -41
  70. package/schema/.snootobuf/deps/google/api/distribution.proto +0 -213
  71. package/schema/.snootobuf/deps/google/api/documentation.proto +0 -168
  72. package/schema/.snootobuf/deps/google/api/endpoint.proto +0 -69
  73. package/schema/.snootobuf/deps/google/api/error_reason.proto +0 -589
  74. package/schema/.snootobuf/deps/google/api/expr/conformance/v1alpha1/conformance_service.proto +0 -183
  75. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/checked.proto +0 -343
  76. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/eval.proto +0 -118
  77. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/explain.proto +0 -53
  78. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/syntax.proto +0 -438
  79. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/value.proto +0 -115
  80. package/schema/.snootobuf/deps/google/api/expr/v1beta1/decl.proto +0 -84
  81. package/schema/.snootobuf/deps/google/api/expr/v1beta1/eval.proto +0 -125
  82. package/schema/.snootobuf/deps/google/api/expr/v1beta1/expr.proto +0 -265
  83. package/schema/.snootobuf/deps/google/api/expr/v1beta1/source.proto +0 -62
  84. package/schema/.snootobuf/deps/google/api/expr/v1beta1/value.proto +0 -114
  85. package/schema/.snootobuf/deps/google/api/field_behavior.proto +0 -104
  86. package/schema/.snootobuf/deps/google/api/field_info.proto +0 -106
  87. package/schema/.snootobuf/deps/google/api/http.proto +0 -371
  88. package/schema/.snootobuf/deps/google/api/httpbody.proto +0 -81
  89. package/schema/.snootobuf/deps/google/api/label.proto +0 -48
  90. package/schema/.snootobuf/deps/google/api/launch_stage.proto +0 -72
  91. package/schema/.snootobuf/deps/google/api/log.proto +0 -54
  92. package/schema/.snootobuf/deps/google/api/logging.proto +0 -81
  93. package/schema/.snootobuf/deps/google/api/metric.proto +0 -268
  94. package/schema/.snootobuf/deps/google/api/monitored_resource.proto +0 -130
  95. package/schema/.snootobuf/deps/google/api/monitoring.proto +0 -107
  96. package/schema/.snootobuf/deps/google/api/policy.proto +0 -85
  97. package/schema/.snootobuf/deps/google/api/quota.proto +0 -184
  98. package/schema/.snootobuf/deps/google/api/resource.proto +0 -243
  99. package/schema/.snootobuf/deps/google/api/routing.proto +0 -461
  100. package/schema/.snootobuf/deps/google/api/service.proto +0 -191
  101. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/check_error.proto +0 -124
  102. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/distribution.proto +0 -166
  103. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/http_request.proto +0 -93
  104. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/log_entry.proto +0 -126
  105. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/metric_value.proto +0 -81
  106. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/operation.proto +0 -123
  107. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/quota_controller.proto +0 -245
  108. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/service_controller.proto +0 -260
  109. package/schema/.snootobuf/deps/google/api/servicecontrol/v2/service_controller.proto +0 -196
  110. package/schema/.snootobuf/deps/google/api/servicemanagement/v1/resources.proto +0 -295
  111. package/schema/.snootobuf/deps/google/api/servicemanagement/v1/servicemanager.proto +0 -508
  112. package/schema/.snootobuf/deps/google/api/serviceusage/v1/resources.proto +0 -130
  113. package/schema/.snootobuf/deps/google/api/serviceusage/v1/serviceusage.proto +0 -305
  114. package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/resources.proto +0 -458
  115. package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/serviceusage.proto +0 -793
  116. package/schema/.snootobuf/deps/google/api/source_info.proto +0 -31
  117. package/schema/.snootobuf/deps/google/api/system_parameter.proto +0 -96
  118. package/schema/.snootobuf/deps/google/api/usage.proto +0 -96
  119. package/schema/.snootobuf/deps/google/api/visibility.proto +0 -113
  120. package/schema/.snootobuf/deps/google/cloud/extended_operations.proto +0 -150
  121. package/schema/.snootobuf/deps/google/iam/admin/v1/iam.proto +0 -1087
  122. package/schema/.snootobuf/deps/google/iam/v1/iam_policy.proto +0 -145
  123. package/schema/.snootobuf/deps/google/iam/v1/logging/audit_data.proto +0 -34
  124. package/schema/.snootobuf/deps/google/iam/v1/options.proto +0 -41
  125. package/schema/.snootobuf/deps/google/iam/v1/policy.proto +0 -240
  126. package/schema/.snootobuf/deps/google/logging/type/http_request.proto +0 -92
  127. package/schema/.snootobuf/deps/google/logging/type/log_severity.proto +0 -72
  128. package/schema/.snootobuf/deps/google/longrunning/operations.proto +0 -247
  129. package/schema/.snootobuf/deps/google/protobuf/any.proto +0 -158
  130. package/schema/.snootobuf/deps/google/protobuf/api.proto +0 -208
  131. package/schema/.snootobuf/deps/google/protobuf/compiler/plugin.proto +0 -183
  132. package/schema/.snootobuf/deps/google/protobuf/descriptor.proto +0 -921
  133. package/schema/.snootobuf/deps/google/protobuf/duration.proto +0 -116
  134. package/schema/.snootobuf/deps/google/protobuf/empty.proto +0 -51
  135. package/schema/.snootobuf/deps/google/protobuf/field_mask.proto +0 -245
  136. package/schema/.snootobuf/deps/google/protobuf/source_context.proto +0 -48
  137. package/schema/.snootobuf/deps/google/protobuf/struct.proto +0 -95
  138. package/schema/.snootobuf/deps/google/protobuf/timestamp.proto +0 -147
  139. package/schema/.snootobuf/deps/google/protobuf/type.proto +0 -187
  140. package/schema/.snootobuf/deps/google/protobuf/wrappers.proto +0 -123
  141. package/schema/.snootobuf/deps/google/rpc/code.proto +0 -186
  142. package/schema/.snootobuf/deps/google/rpc/context/attribute_context.proto +0 -287
  143. package/schema/.snootobuf/deps/google/rpc/error_details.proto +0 -246
  144. package/schema/.snootobuf/deps/google/rpc/status.proto +0 -47
  145. package/schema/.snootobuf/deps/google/type/calendar_period.proto +0 -57
  146. package/schema/.snootobuf/deps/google/type/color.proto +0 -170
  147. package/schema/.snootobuf/deps/google/type/date.proto +0 -50
  148. package/schema/.snootobuf/deps/google/type/datetime.proto +0 -97
  149. package/schema/.snootobuf/deps/google/type/dayofweek.proto +0 -51
  150. package/schema/.snootobuf/deps/google/type/expr.proto +0 -51
  151. package/schema/.snootobuf/deps/google/type/fraction.proto +0 -34
  152. package/schema/.snootobuf/deps/google/type/latlng.proto +0 -37
  153. package/schema/.snootobuf/deps/google/type/money.proto +0 -43
  154. package/schema/.snootobuf/deps/google/type/month.proto +0 -66
  155. package/schema/.snootobuf/deps/google/type/postal_address.proto +0 -135
  156. package/schema/.snootobuf/deps/google/type/quaternion.proto +0 -95
  157. package/schema/.snootobuf/deps/google/type/timeofday.proto +0 -44
  158. package/schema/.snootobuf/deps/openapi/helper.proto +0 -20
  159. package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +0 -189
  160. package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +0 -118
  161. package/schema/.snootobuf/deps/reddit/api/metadata/v1/metadata.proto +0 -55
  162. package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account.proto +0 -579
  163. package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account_relations.proto +0 -43
  164. package/schema/.snootobuf/deps/reddit/coreplatform/api/metadata/v1/metadata.proto +0 -82
  165. package/schema/.snootobuf/deps/reddit/coreplatform/blocking/v1/user_blocking_service.proto +0 -221
  166. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree.proto +0 -78
  167. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_service.proto +0 -189
  168. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_structure.proto +0 -29
  169. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments.proto +0 -417
  170. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments_service.proto +0 -72
  171. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/auth.proto +0 -25
  172. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/features.proto +0 -52
  173. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/lang.proto +0 -16
  174. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/legal.proto +0 -20
  175. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/media.proto +0 -149
  176. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/moderation.proto +0 -197
  177. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/safety.proto +0 -116
  178. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/time.proto +0 -25
  179. package/schema/.snootobuf/deps/reddit/coreplatform/domains/v1/domains_metadata_service.proto +0 -101
  180. package/schema/.snootobuf/deps/reddit/coreplatform/grpc_thrift/v1/grpc_thrift_options.proto +0 -34
  181. package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links.proto +0 -798
  182. package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links_service.proto +0 -186
  183. package/schema/.snootobuf/deps/reddit/coreplatform/messages/v1/messages.proto +0 -110
  184. package/schema/.snootobuf/deps/reddit/coreplatform/sensitive/v1/wrappers.proto +0 -51
  185. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit.proto +0 -1202
  186. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_member_relations.proto +0 -85
  187. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_moderator_service.proto +0 -363
  188. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_service.proto +0 -301
  189. package/schema/.snootobuf/deps/reddit/coreplatform/thing/v0/thing.proto +0 -2869
  190. package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/custom_post.proto +0 -15
  191. package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/service.proto +0 -11
  192. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/context_action.proto +0 -48
  193. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/manifest.proto +0 -70
  194. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/service.proto +0 -11
  195. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/acknowledge_order_delivery.proto +0 -17
  196. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/checkout.proto +0 -89
  197. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/common.proto +0 -322
  198. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/delete_products.proto +0 -17
  199. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/events.proto +0 -14
  200. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_batch_products.proto +0 -15
  201. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_gold_balances.proto +0 -48
  202. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_order.proto +0 -31
  203. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders.proto +0 -26
  204. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders_by_user.proto +0 -15
  205. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_payout_info_batch.proto +0 -52
  206. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_products.proto +0 -23
  207. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_user_profiles.proto +0 -28
  208. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/refund_order.proto +0 -17
  209. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service.proto +0 -49
  210. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service_data_compliance.proto +0 -20
  211. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/upsert_products.proto +0 -17
  212. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paygatewaypsps/v1/paygatewaypsps.proto +0 -158
  213. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payments_data_compliance.proto +0 -18
  214. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payorders.proto +0 -195
  215. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/admin.proto +0 -44
  216. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/ledger.proto +0 -200
  217. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/payments_data_compliance.proto +0 -18
  218. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/paypayments.proto +0 -210
  219. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +0 -189
  220. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +0 -135
  221. package/schema/.snootobuf/deps/snooron_sources/text_classification/text_classification.proto +0 -29
  222. package/schema/.snootobuf/deps/snooron_sources/v2_event/v2_event.proto +0 -3292
  223. package/schema/.snootobuf/deps/validate/validate.proto +0 -862
@@ -1,773 +0,0 @@
1
- syntax = "proto3";
2
-
3
- package devvit.data.api.v1alpha;
4
-
5
- import "buf/validate/validate.proto";
6
- import "devvit/events/v1alpha/events.proto";
7
- import "devvit/options/options.proto";
8
- import "devvit/reddit/v2alpha/postv2.proto";
9
- import "devvit/reddit/v2alpha/subredditv2.proto";
10
- import "google/api/field_behavior.proto";
11
- import "google/protobuf/timestamp.proto";
12
- import "google/protobuf/wrappers.proto";
13
- import "openapi/helper.proto";
14
-
15
- option go_package = "github.snooguts.net/reddit/devplatform-api/go/grpc/devvit/data/api/v1alpha";
16
-
17
- // Enum for vote thing types.
18
- enum VoteType {
19
- UNKNOWN = 0;
20
- POST = 1;
21
- COMMENT = 2;
22
- }
23
-
24
- enum ModActionType {
25
- UNKNOWN_MOD_ACTION = 0;
26
- EDIT_POST_FLAIR = 3;
27
- EDIT_USER_FLAIR = 4;
28
- LOCK_POST = 5;
29
- LOCK_COMMENT = 6;
30
- SPAM_POST = 7;
31
- SPAM_COMMENT = 8;
32
- DISTINGUISH_POST = 9;
33
- DISTINGUISH_COMMENT = 10;
34
- STICKY_POST = 11;
35
- STICKY_COMMENT = 12;
36
- reserved 1, 2;
37
- reserved "APPROVE_POST", "APPROVE_COMMENT";
38
- }
39
-
40
- // Post create event
41
- message PostCreateFirehose {
42
- // Provides information about the post, including the post id, author, and time it was created.
43
- PostFirehose post = 1 [(buf.validate.field).required = true];
44
- // Identifies the user who created the post and includes user’s url.
45
- UserFirehose author = 2 [(buf.validate.field).required = true];
46
- // Lists the subreddit associated with the post by name and subreddit id.
47
- SubredditFirehose subreddit = 10 [(buf.validate.field).required = true];
48
- }
49
-
50
- // Comment create event
51
- message CommentCreateFirehose {
52
- // Provides information about the comment, including the comment id, content, and time it was created.
53
- CommentFirehose comment = 1 [(buf.validate.field).required = true];
54
- // Identifies the user who created the comment and includes user’s url.
55
- UserFirehose author = 2 [(buf.validate.field).required = true];
56
- // Provides information about the post associated with the comment, including the post id, author, and time it was created.
57
- PostFirehose post = 3 [(buf.validate.field).required = true];
58
- // Lists the subreddit associated with the post by name and subreddit id.
59
- SubredditFirehose subreddit = 10 [(buf.validate.field).required = true];
60
- }
61
-
62
- // Delete post/comment/account event. Event Type will be one of POST_DELETE, COMMENT_DELETE, or ACCOUNT_DELETE.
63
- message DeletionFirehose {
64
- // Lists the id of the post or comment object that was deleted.
65
- string id = 1 [
66
- (buf.validate.field).required = true,
67
- (buf.validate.field).string.pattern = "(t1_|t3_|t2_).*",
68
- (openapi.field_example) = "t1_kiidxv1"
69
- ];
70
- // Shows the timestamp indicating when the object was deleted.
71
- google.protobuf.Timestamp deleted_at = 2 [
72
- (buf.validate.field).required = true,
73
- (openapi.field_example) = "2024-01-19T00:07:46.873Z"
74
- ];
75
- // Timestamp of the time when the object was created at
76
- google.protobuf.Timestamp created_at = 3 [(openapi.field_example) = "2024-01-18T23:28:23.170Z"];
77
- // Shows the post id associated with the deleted comment (for commentDelete only).
78
- string post_id = 4 [(openapi.field_example) = "t3_19a2zv6"];
79
- // Permalink to deleted object
80
- string permalink = 5 [(openapi.field_example) = "/r/Cricket/comments/19a2zv6/comment/kiidxv1"];
81
- // Who initiated the deletion.
82
- devvit.events.v1alpha.EventSource source = 6 [(openapi.field_example) = "USER"];
83
- // Username of the account which is deleted (for account deletes only)
84
- string name = 7 [(openapi.field_example) = "sassyshalimar"];
85
- // Reason for the deletion. Currently, this is only populated for admin deletions. Reasons:
86
- // * EXPLICIT_CONTENT indicates content or account is sexually explicit.
87
- // * LEGAL indicates content or account may violate law, rule, or regulation.
88
- // * OTHER indicates content or account may violate Reddit policy.
89
- // * SPAM indicates content or account identified by Reddit as spam.
90
- // * UNKNOWN indicates content or account was removed for unknown reason.
91
- // * UNSPECIFIED_DELETION_REASON will not be sent, as it is the default value.
92
- devvit.events.v1alpha.DeletionReason reason = 8 [(openapi.field_example) = "LEGAL"];
93
- }
94
-
95
- // Post edit event
96
- message PostEditFirehose {
97
- // Provides information about the post, including the post id, author, and time it was created.
98
- PostFirehose post = 1 [(buf.validate.field).required = true];
99
- // Identifies the user who edited the post and includes user’s url.
100
- UserFirehose author = 2 [(buf.validate.field).required = true];
101
- // Lists the subreddit associated with the post by name and subreddit id.
102
- SubredditFirehose subreddit = 10 [(buf.validate.field).required = true];
103
-
104
- // removed fields
105
- reserved 3;
106
- reserved "previous_body";
107
- }
108
-
109
- // Comment edit event
110
- message CommentEditFirehose {
111
- // Provides information about the comment, including the comment id, author, and time it was created.
112
- CommentFirehose comment = 1 [(buf.validate.field).required = true];
113
- // Identifies the user who edited the post and includes user’s url.
114
- UserFirehose author = 2 [(buf.validate.field).required = true];
115
- // Contains the original content before the post was edited.
116
- PostFirehose post = 3 [(buf.validate.field).required = true];
117
- // Lists the subreddit associated with the comment by name and subreddit id.
118
- SubredditFirehose subreddit = 10 [(buf.validate.field).required = true];
119
-
120
- // removed fields
121
- reserved 4;
122
- reserved "previous_body";
123
- }
124
-
125
- // Post approve event
126
- message PostApproveFirehose {
127
- // Provides information about the post, including the post id, author, and time it was created.
128
- PostFirehose post = 1 [(buf.validate.field).required = true];
129
- // Identifies the user who authored the post and includes user’s url.
130
- UserFirehose author = 2 [(buf.validate.field).required = true];
131
- // Shows the timestamp indicating when the object was approved.
132
- google.protobuf.Timestamp approved_at = 4 [
133
- (devvit.options.trigger_evt_path) = "approved_at",
134
- (buf.validate.field).required = true
135
- ];
136
- // Who initiated the approval.
137
- devvit.events.v1alpha.EventSource source = 5 [
138
- (devvit.options.trigger_evt_path) = "source",
139
- (openapi.field_example) = "ADMIN",
140
- (buf.validate.field).required = true
141
- ];
142
- // Lists the subreddit associated with the post by name and subreddit id.
143
- SubredditFirehose subreddit = 10 [(buf.validate.field).required = true];
144
- }
145
-
146
- // Comment approve event
147
- message CommentApproveFirehose {
148
- // Provides information about the comment, including the comment id, author, and time it was created.
149
- CommentFirehose comment = 1 [(buf.validate.field).required = true];
150
- // Provides information about the post, including the post id, author, and time it was created.
151
- PostFirehose post = 2 [(buf.validate.field).required = true];
152
- // Identifies the user who authored the comment and includes user’s url.
153
- UserFirehose author = 3 [(buf.validate.field).required = true];
154
- // Shows the timestamp indicating when the object was approved.
155
- google.protobuf.Timestamp approved_at = 4 [
156
- (devvit.options.trigger_evt_path) = "approved_at",
157
- (buf.validate.field).required = true
158
- ];
159
- // Who initiated the approval.
160
- devvit.events.v1alpha.EventSource source = 5 [
161
- (buf.validate.field).required = true,
162
- (devvit.options.trigger_evt_path) = "source",
163
- (openapi.field_example) = "ADMIN"
164
- ];
165
- // Lists the subreddit associated with the comment by name and subreddit id.
166
- SubredditFirehose subreddit = 10 [(buf.validate.field).required = true];
167
- }
168
-
169
- // Vote event
170
- message VoteFirehose {
171
- // Lists the id of the comment or post receiving the vote event.
172
- string id = 1 [
173
- (buf.validate.field).required = true,
174
- (buf.validate.field).string.pattern = "(t1_|t3_).*",
175
- (openapi.field_example) = "t3_193x7ph"
176
- ];
177
- // Specifies the object (comment or post).
178
- VoteType type = 5 [
179
- (buf.validate.field).required = true,
180
- (openapi.field_example) = "POST"
181
- ];
182
- // Populated when COMMENT, postid associated with the comment
183
- string post_id = 6 [(openapi.field_example) = "t3_193x7ph"];
184
- // Populated when COMMENT, timestamp of when post was created
185
- google.protobuf.Timestamp post_created_at = 7;
186
- // Provides the timestamp when the most recent votes were calculated.
187
- google.protobuf.Timestamp updated_at = 4 [(buf.validate.field).required = true];
188
- // Permalink to the object
189
- string permalink = 8 [
190
- (buf.validate.field).required = true,
191
- (buf.validate.field).string.prefix = "/r/",
192
- (openapi.field_example) = "/r/MARIOPARTY/comments/193x7ph"
193
- ];
194
- // Upvote ratio i.e u / (u + d) where u = upvotes and d = downvotes
195
- google.protobuf.FloatValue upvote_ratio = 9 [
196
- (buf.validate.field).required = true,
197
- (openapi.field_example) = "0.94871795"
198
- ];
199
- // Score is the number of upvotes minus the number of downvotes on a post/comment. The score is 0 when there are no votes or an equal number of upvotes and downvotes. A negative score indicates more downvotes than upvotes, while a positive score reflects more upvotes than downvotes.
200
- google.protobuf.Int32Value score = 10 [
201
- (buf.validate.field).required = true,
202
- (openapi.field_example) = "35"
203
- ]; // Int32Value allows us to send '0' value
204
- // Populated when COMMENT, timestamp of when comment was created
205
- google.protobuf.Timestamp comment_created_at = 11;
206
-
207
- // removed fields
208
- reserved 2, 3;
209
- reserved "upvotes", "downvotes";
210
- }
211
-
212
- // Mod action event (beta)
213
- message ModActionFirehose {
214
- // Provides the id of the mod action type (like removing content or banning a user)
215
- string id = 1 [
216
- (buf.validate.field).required = true,
217
- (openapi.field_example) = "t3_abc"
218
- ];
219
- // Describes the mod action (like editing settings or creating a rule). You will never receive an action of type UNKNOWN_MOD_ACTION.
220
- ModActionType action = 2 [
221
- (buf.validate.field).required = true,
222
- (openapi.field_example) = "LOCK_POST"
223
- ];
224
- // Provides the timestamp when the action occurred.
225
- google.protobuf.Timestamp actioned_at = 3 [(buf.validate.field).required = true];
226
- // Lists the subreddit associated with the action.
227
- SubredditFirehose subreddit = 10 [(buf.validate.field).required = true];
228
-
229
- // The permalink for the post or comment that received the mod action.
230
- optional string permalink = 4 [(buf.validate.field).required = false];
231
-
232
- // The timestamp indicating when the mod action occurred on the post or comment.
233
- optional google.protobuf.Timestamp created_at = 5 [(buf.validate.field).required = false];
234
- }
235
-
236
- // Info about Post
237
- message PostFirehose {
238
- // Unique post id
239
- string id = 1 [
240
- (devvit.options.trigger_evt_path) = "post.id",
241
- (devvit.options.im_path) = "post.id",
242
- (buf.validate.field).required = true,
243
- (buf.validate.field).string.prefix = "t3_",
244
- (openapi.field_example) = "t3_1798o2e"
245
- ];
246
- // Title of the post
247
- string title = 2 [
248
- (devvit.options.trigger_evt_path) = "post.title",
249
- (devvit.options.im_path) = "post.title",
250
- (buf.validate.field).required = true,
251
- (openapi.field_example) = "Reddit Conversion Lift and Lift Study Framework"
252
- ];
253
- // Post body
254
- string body = 3 [
255
- (devvit.options.trigger_evt_path) = "post.selftext",
256
- (devvit.options.im_path) = "post.body",
257
- (openapi.field_example) = "Written by Yimin Wu and Ellis Miranda. At the end of May 2023, Reddit launched Reddit Conversion Lift (RCL) product to General Availability. Reddit Conversion Lift (RCL) is the Reddit first-party measurement solution that enables marketers to evaluate the incremental impact of Reddit ads on driving conversions (conversion is an action that our advertisers define as valuable to their business, such as an online purchase or a subscription of their service, etc). It measures the number of conversions that were caused by exposure to ads on Reddit."
258
- ];
259
- // URL the post points to. It can be an external URL in case of link posts, a URL to an image in case of image posts, or a permalink to the Reddit post.
260
- string url = 4 [
261
- (devvit.options.trigger_evt_path) = "post.url",
262
- (devvit.options.im_path) = "post.url",
263
- (openapi.field_example) = "/r/RedditEng/comments/1798o2e/reddit_conversion_lift_and_lift_study_framework/"
264
- ];
265
- // Timestamp for when post was created
266
- google.protobuf.Timestamp created_at = 5 [
267
- (devvit.options.trigger_evt_path) = "post.created_at",
268
- (devvit.options.im_path) = "post.created_at",
269
- (buf.validate.field).required = true
270
- ];
271
- // Flair
272
- optional PostFlairFirehose flair = 6;
273
- // Language
274
- string language_code = 9 [
275
- (devvit.options.trigger_evt_path) = "post.language_code",
276
- (devvit.options.im_path) = "post.language_code",
277
- (openapi.field_example) = "en"
278
- ];
279
- // When the post was last updated
280
- google.protobuf.Timestamp updated_at = 10 [
281
- (devvit.options.trigger_evt_path) = "post.updated_at",
282
- (devvit.options.im_path) = "post.last_modified_at"
283
- ];
284
- // Gildings
285
- int32 gildings = 11 [
286
- (devvit.options.trigger_evt_path) = "post.gildings",
287
- (devvit.options.im_path) = "post.gildings"
288
- ];
289
- // Post score based on the number of upvotes minus the number of downvotes.
290
- int32 score = 12 [
291
- (devvit.options.trigger_evt_path) = "post.score",
292
- (devvit.options.im_path) = "post.score",
293
- (openapi.field_example) = "18"
294
- ];
295
- // Number of comments on the post
296
- int32 num_comments = 13 [
297
- (devvit.options.trigger_evt_path) = "post.num_comments",
298
- (devvit.options.im_path) = "post.num_comments",
299
- (openapi.field_example) = "5"
300
- ];
301
- // Thumbnail associated with the post
302
- string thumbnail = 14 [
303
- (devvit.options.trigger_evt_path) = "post.thumbnail",
304
- (devvit.options.im_path) = "post.thumbnail",
305
- (openapi.field_example) = "https://b.thumbs.redditmedia.com/xRj014iby3672Hn0dEUfr953QCEY6h_uDQpwYkwcUlQ.jpg"
306
- ];
307
- // Crosspost_parent_id
308
- string crosspost_parent_id = 15 [
309
- (devvit.options.trigger_evt_path) = "post.crosspost_parent_id",
310
- (devvit.options.im_path) = "post.crosspost_parent_id",
311
- (openapi.field_example) = "t3_186up3s"
312
- ];
313
- // Media object associated with post
314
- optional PostMediaObjectFirehose media = 16;
315
- // Permalink of the post. Only the path of the URL is sent and needs to be prepended with `https://www.reddit.com`, to direct to the post on Reddit
316
- string permalink = 17 [
317
- (devvit.options.trigger_evt_path) = "post.permalink",
318
- (devvit.options.im_path) = "post.permalink",
319
- (buf.validate.field).required = true,
320
- (buf.validate.field).string.prefix = "/r/",
321
- (openapi.field_example) = "/r/RedditEng/comments/1798o2e/"
322
- ];
323
- //This post has been flagged as not safe for work. This will only be present if true
324
- bool nsfw = 18 [
325
- (devvit.options.trigger_evt_path) = "post.nsfw",
326
- (devvit.options.im_path) = "post.nsfw",
327
- (openapi.field_example) = "true"
328
- ];
329
- // A text post that does not contain an external link or media. This will only be present if true.
330
- bool self = 19 [
331
- (devvit.options.trigger_evt_path) = "post.is_self",
332
- (devvit.options.im_path) = "post.self"
333
- ];
334
- // Whether the post has been locked, preventing new comments. This will only be present if true
335
- bool locked = 20 [
336
- (devvit.options.trigger_evt_path) = "post.is_locked",
337
- (devvit.options.im_path) = "post.locked",
338
- (openapi.field_example) = "true"
339
- ];
340
- // Whether this post has been stickied to the top of the subreddit’s feed. This will only be present if true
341
- bool sticky = 21 [
342
- (devvit.options.trigger_evt_path) = "post.is_sticky",
343
- (devvit.options.im_path) = "post.sticky",
344
- (openapi.field_example) = "true"
345
- ];
346
- // Is a video post. This will only be present if true
347
- bool video = 22 [
348
- (devvit.options.trigger_evt_path) = "post.is_video",
349
- (devvit.options.im_path) = "post.video",
350
- (openapi.field_example) = "true"
351
- ];
352
- // Whether this post includes a spoiler. This will only be present if true
353
- bool spoiler = 23 [
354
- (devvit.options.trigger_evt_path) = "post.is_spoiler",
355
- (devvit.options.im_path) = "post.spoiler",
356
- (openapi.field_example) = "true"
357
- ];
358
- // Whether this post has been marked as spam. This will only be present if true
359
- bool spam = 24 [
360
- (devvit.options.trigger_evt_path) = "post.spam",
361
- (devvit.options.im_path) = "post.spam",
362
- (openapi.field_example) = "true"
363
- ];
364
- // If present, denotes how a post has been distinguished by a moderator, admin or user. NULL_VALUE will never be sent in the response. If a post is not distinguished, then this field will be missing.
365
- devvit.reddit.v2alpha.DistinguishType distinguished = 25 [
366
- (devvit.options.trigger_evt_path) = "post.distinguished",
367
- (devvit.options.im_path) = "post.distinguish_type",
368
- (openapi.field_example) = "ADMIN"
369
- ];
370
- // Identifies the type of post. It can be one of the following values image, video, link, poll, multi_media, crosspost, gallery, text or media.
371
- string type = 26 [
372
- (devvit.options.trigger_evt_path) = "post.type",
373
- (devvit.options.im_path) = "post.type",
374
- (openapi.field_example) = "image"
375
- ];
376
- // User id of post author. If the post author account was deleted, this field will be `t2_0`.
377
- string author_id = 27 [
378
- (devvit.options.trigger_evt_path) = "post.author_id",
379
- (devvit.options.im_path) = "post.author_id",
380
- (openapi.field_example) = "t2_bcutkf4n"
381
- ];
382
- // URLs to images in the gallery. This field is only present when `post.type='gallery'`.
383
- repeated string gallery_images = 28 [
384
- (devvit.options.trigger_evt_path) = "post.gallery_images",
385
- (openapi.field_example) = "['http://i.redd.it/btosxb4kw47d1.jpg', 'http://i.redd.it/btosxb4kw47d1.jpg']"
386
- ];
387
-
388
- // Whether this post has been approved. This will only be present if true
389
- bool approved = 29 [
390
- (devvit.options.trigger_evt_path) = "post.is_approved",
391
- (openapi.field_example) = "true"
392
- ];
393
- // removed fields
394
- reserved 7, 8;
395
- reserved "trending_score", "toxicity_score";
396
- }
397
-
398
- // PostFlairFirehose struct
399
- message PostFlairFirehose {
400
- // Text associated with post flair
401
- string text = 1 [
402
- (devvit.options.trigger_evt_path) = "post.link_flair.text",
403
- (devvit.options.im_path) = "post.flair.text",
404
- (openapi.field_example) = "Learning"
405
- ];
406
- }
407
-
408
- // PostMediaObjectFirehose struct
409
- message PostMediaObjectFirehose {
410
- // Post media type
411
- string type = 1 [
412
- (devvit.options.trigger_evt_path) = "post.media.type",
413
- (devvit.options.im_path) = "post.media.type",
414
- (openapi.field_example) = "youtube.com"
415
- ];
416
- // Media object
417
- optional MediaObjectOembedFirehose oembed = 2;
418
- // Media object video
419
- optional MediaObjectRedditVideoFirehose reddit_video = 3;
420
- }
421
-
422
- // Media object
423
- message MediaObjectOembedFirehose {
424
- // Media object type
425
- string type = 1 [
426
- (devvit.options.trigger_evt_path) = "post.media.oembed.type",
427
- (devvit.options.im_path) = "post.media.oembed.type",
428
- (openapi.field_example) = "video"
429
- ];
430
- // Object version
431
- string version = 2 [
432
- (devvit.options.trigger_evt_path) = "post.media.oembed.version",
433
- (devvit.options.im_path) = "post.media.oembed.version",
434
- (openapi.field_example) = "'1.0'"
435
- ];
436
- // Title associated with the object
437
- string title = 3 [
438
- (devvit.options.trigger_evt_path) = "post.media.oembed.title",
439
- (devvit.options.im_path) = "post.media.oembed.title",
440
- (openapi.field_example) = "'Reddit: Advertiser Audience Forecasting with Druid'"
441
- ];
442
- // Object description
443
- string description = 4 [
444
- (devvit.options.trigger_evt_path) = "post.media.oembed.description",
445
- (devvit.options.im_path) = "post.media.oembed.description",
446
- (openapi.field_example) = "'1080'"
447
- ];
448
- // Author name
449
- string author_name = 5 [
450
- (devvit.options.trigger_evt_path) = "post.media.oembed.author_name",
451
- (devvit.options.im_path) = "post.media.oembed.author_name",
452
- (openapi.field_example) = "Imply"
453
- ];
454
- // Url to author's profile
455
- string author_url = 6 [
456
- (devvit.options.trigger_evt_path) = "post.media.oembed.author_url",
457
- (devvit.options.im_path) = "post.media.oembed.author_url",
458
- (openapi.field_example) = "https://www.youtube.com/@Implydata"
459
- ];
460
- // Provider name
461
- string provider_name = 7 [
462
- (devvit.options.trigger_evt_path) = "post.media.oembed.provider_name",
463
- (devvit.options.im_path) = "post.media.oembed.provider_name",
464
- (openapi.field_example) = "YouTube"
465
- ];
466
- // Provider url
467
- string provider_url = 8 [
468
- (devvit.options.trigger_evt_path) = "post.media.oembed.provider_url",
469
- (devvit.options.im_path) = "post.media.oembed.provider_url",
470
- (openapi.field_example) = "https://www.youtube.com/"
471
- ];
472
- // Url to the thumbnail
473
- string thumbnail_url = 9 [
474
- (devvit.options.trigger_evt_path) = "post.media.oembed.thumbnail_url",
475
- (devvit.options.im_path) = "post.media.oembed.thumbnail_url",
476
- (openapi.field_example) = "https://i.ytimg.com/vi/7PRWDMRSAOw/hqdefault.jpg"
477
- ];
478
- // Width of the thumbnail
479
- int32 thumbnail_width = 10 [
480
- (devvit.options.trigger_evt_path) = "post.media.oembed.thumbnail_width",
481
- (devvit.options.im_path) = "post.media.oembed.thumbnail_size.width",
482
- (openapi.field_example) = "1080"
483
- ];
484
- // Height of the thumbnail
485
- int32 thumbnail_height = 11 [
486
- (devvit.options.trigger_evt_path) = "post.media.oembed.thumbnail_height",
487
- (devvit.options.im_path) = "post.media.oembed.thumbnail_size.height",
488
- (openapi.field_example) = "360"
489
- ];
490
- // Html associated with the object
491
- string html = 12 [
492
- (devvit.options.trigger_evt_path) = "post.media.oembed.html",
493
- (devvit.options.im_path) = "post.media.oembed.html",
494
- (openapi.field_example) = "'<iframe width=356 height=200 src=https://www.youtube.com/embed/7PRWDMRSAOw?feature=oembed&enablejsapi=1 frameborder=0 allow=accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share allowfullscreen title=Reddit: Advertiser Audience Forecasting with Druid></iframe>'"
495
- ];
496
- // Width of the object
497
- int32 width = 13 [
498
- (devvit.options.trigger_evt_path) = "post.media.oembed.width",
499
- (devvit.options.im_path) = "post.media.oembed.size.width",
500
- (openapi.field_example) = "356"
501
- ];
502
- // Height of the object
503
- int32 height = 14 [
504
- (devvit.options.trigger_evt_path) = "post.media.oembed.height",
505
- (devvit.options.im_path) = "post.media.oembed.size.height",
506
- (openapi.field_example) = "200"
507
- ];
508
- }
509
-
510
- // MediaObjectRedditVideoFirehose
511
- message MediaObjectRedditVideoFirehose {
512
- // Bitrate of the video in kbps
513
- int32 bitrate_kbps = 1 [
514
- (devvit.options.trigger_evt_path) = "post.media.reddit_video.bitrate_kbps",
515
- (devvit.options.im_path) = "post.media.reddit_video.bitrate_kbps",
516
- (openapi.field_example) = "5000"
517
- ];
518
- // Url to fallback on
519
- string fallback_url = 2 [
520
- (devvit.options.trigger_evt_path) = "post.media.reddit_video.fallback_url",
521
- (devvit.options.im_path) = "post.media.reddit_video.fallback_url",
522
- (openapi.field_example) = "https://v.redd.it/0k9toa8rlb3c1/DASH_1080.mp4?source=fallback"
523
- ];
524
- // Height of the object
525
- int32 height = 3 [
526
- (devvit.options.trigger_evt_path) = "post.media.reddit_video.height",
527
- (devvit.options.im_path) = "post.media.reddit_video.size.height",
528
- (openapi.field_example) = "1080"
529
- ];
530
- // Width of the object
531
- int32 width = 4 [
532
- (devvit.options.trigger_evt_path) = "post.media.reddit_video.width",
533
- (devvit.options.im_path) = "post.media.reddit_video.size.width",
534
- (openapi.field_example) = "1920"
535
- ];
536
- // Media url
537
- string scrubber_media_url = 5 [
538
- (devvit.options.trigger_evt_path) = "post.media.reddit_video.scrubber_media_url",
539
- (devvit.options.im_path) = "post.media.reddit_video.scrubber_media_url",
540
- (openapi.field_example) = "https://v.redd.it/0k9toa8rlb3c1/DASH_96.mp4"
541
- ];
542
- // Dash url
543
- string dash_url = 6 [
544
- (devvit.options.trigger_evt_path) = "post.media.reddit_video.dash_url",
545
- (devvit.options.im_path) = "post.media.reddit_video.dash_url",
546
- (openapi.field_example) = "https://v.redd.it/0k9toa8rlb3c1/DASHPlaylist.mpd?a=1708282201%2CMDY3ZWIyODIwZjJkYWFkNDhiMGEzYzI1ZTYwYTJlOWY3ODc2OWYxNmMwNjI1NDYzYTUzODkxYTNhNWVmNzIzZQ%3D%3D&v=1&f=sd"
547
- ];
548
- // Duration of the video
549
- int64 duration = 7 [
550
- (devvit.options.trigger_evt_path) = "post.media.reddit_video.duration",
551
- (devvit.options.im_path) = "post.media.reddit_video.duration",
552
- (openapi.field_example) = "'57'"
553
- ];
554
- // Hls url
555
- string hls_url = 8 [
556
- (devvit.options.trigger_evt_path) = "post.media.reddit_video.hls_url",
557
- (devvit.options.im_path) = "post.media.reddit_video.hls_url",
558
- (openapi.field_example) = "https://v.redd.it/0k9toa8rlb3c1/HLSPlaylist.m3u8?a=1708282201%2CMTBiYjcxZTgyODIxYTRhYjI0NGMxZjEzNmU0MTJhMDg2ZDQxNjJhMmEyYmVjYmJhYzk5MDhkNTAxODUzOTkwYw%3D%3D&v=1&f=sd"
559
- ];
560
- // If the video is a gif. This will only be present if true
561
- bool is_gif = 9 [
562
- (devvit.options.trigger_evt_path) = "post.media.reddit_video.is_gif",
563
- (devvit.options.im_path) = "post.media.reddit_video.is_gif",
564
- (openapi.field_example) = "true"
565
- ];
566
- // Transcoding score
567
- string transcoding_status = 10 [
568
- (devvit.options.trigger_evt_path) = "post.media.reddit_video.transcoding_status",
569
- (devvit.options.im_path) = "post.media.reddit_video.transcoding_status",
570
- (openapi.field_example) = "completed"
571
- ];
572
- }
573
-
574
- // Comment Firehose
575
- message CommentFirehose {
576
- // Id associated with the comment
577
- string id = 1 [
578
- (devvit.options.trigger_evt_path) = "comment.id",
579
- (devvit.options.im_path) = "comment.id",
580
- (buf.validate.field).required = true,
581
- (buf.validate.field).string.prefix = "t1_",
582
- (openapi.field_example) = "t1_k5kbkod"
583
- ];
584
- // Body of the comment
585
- string body = 2 [
586
- (devvit.options.trigger_evt_path) = "comment.body",
587
- (devvit.options.im_path) = "comment.body",
588
- (openapi.field_example) = "Target Audience is decided by the Ads campaign. The role of lift studies is to conduct A/B tests by splitting the audience randomly and log the counterfactual events so we can measure lifts fair and square."
589
- ];
590
- // Comment's parent id
591
- string parent_id = 3 [
592
- (devvit.options.trigger_evt_path) = "comment.parent_id",
593
- (devvit.options.im_path) = "comment.parent_id",
594
- (buf.validate.field).required = true,
595
- (buf.validate.field).string.pattern = "(t1_|t3_).*",
596
- (openapi.field_example) = "t1_k598r8o"
597
- ];
598
- // Comment was created at
599
- google.protobuf.Timestamp created_at = 4 [
600
- (devvit.options.trigger_evt_path) = "comment.created_at",
601
- (devvit.options.im_path) = "comment.created_at",
602
- (buf.validate.field).required = true
603
- ];
604
- // Language code (Note: this will be the language code for the associated post and not the comment itself.)
605
- string language_code = 7 [
606
- (devvit.options.trigger_evt_path) = "comment.language_code",
607
- (devvit.options.im_path) = "comment.language_code",
608
- (openapi.field_example) = "en"
609
- ];
610
- // Last modified at
611
- google.protobuf.Timestamp last_modified_at = 8 [
612
- (devvit.options.trigger_evt_path) = "comment.last_modified_at",
613
- (devvit.options.im_path) = "comment.last_modified_at"
614
- ];
615
- // Gilded
616
- bool gilded = 9 [
617
- (devvit.options.trigger_evt_path) = "comment.gilded",
618
- (devvit.options.im_path) = "comment.gilded"
619
- ];
620
- // The comment's score based on the number of upvotes minus the number of downvotes.
621
- int32 score = 10 [
622
- (devvit.options.trigger_evt_path) = "comment.score",
623
- (devvit.options.im_path) = "comment.score",
624
- (openapi.field_example) = "8"
625
- ];
626
- // Permalink of the comment
627
- string permalink = 11 [
628
- (devvit.options.trigger_evt_path) = "comment.permalink",
629
- (devvit.options.im_path) = "comment.permalink",
630
- (buf.validate.field).required = true,
631
- (buf.validate.field).string.prefix = "/r/",
632
- (openapi.field_example) = "/r/RedditEng/comments/1798o2e/comment/k5kbkod/"
633
- ];
634
- // Comment element types, which can be animated-gif, img, text, link, or a combination of types, such as ['animated-gif', 'text', 'link']. Note that animated-gif and img cannot be combined.
635
- // This field is blank for COMMENT_EDIT events. Use the element types from the original COMMENT_CREATE event.
636
- repeated string element_types = 12 [
637
- (devvit.options.trigger_evt_path) = "comment.element_types",
638
- (devvit.options.im_path) = "comment.element_types",
639
- (openapi.field_example) = "['animated-gif', 'text']"
640
- ];
641
-
642
- // removed fields
643
- reserved 5, 6;
644
- reserved "trending_score", "toxicity_score";
645
- }
646
-
647
- // Subreddit info
648
- message SubredditFirehose {
649
- // Id of the subreddit
650
- string id = 1 [
651
- (devvit.options.trigger_evt_path) = "subreddit.id",
652
- (buf.validate.field).required = true,
653
- (buf.validate.field).string.prefix = "t5_",
654
- (openapi.field_example) = "t5_49fkib"
655
- ];
656
- // Name of the subreddit
657
- string name = 2 [
658
- (devvit.options.trigger_evt_path) = "subreddit.name",
659
- (buf.validate.field).required = true,
660
- (openapi.field_example) = "RedditEng"
661
- ];
662
- // Topics associated with the subreddit. If a subreddit has not been classified with a topic yet, this field will contain "Unclassified".
663
- repeated string topics = 3 [
664
- (devvit.options.trigger_evt_path) = "subreddit.topics",
665
- (buf.validate.field).required = true,
666
- (openapi.field_example) = "['Career', 'Programming']"
667
- ];
668
- // Do not send
669
- devvit.reddit.v2alpha.SubredditRating rating = 5 [
670
- (devvit.options.trigger_evt_path) = "subreddit.rating",
671
- (google.api.field_behavior) = INPUT_ONLY
672
- ];
673
- // Subscribers count on the subreddit
674
- google.protobuf.Int32Value subscribers_count = 6 [
675
- (devvit.options.trigger_evt_path) = "subreddit.subscribers_count",
676
- (buf.validate.field).required = true,
677
- (openapi.field_example) = "9857"
678
- ];
679
- // Permalink of the subreddit
680
- string permalink = 7 [
681
- (devvit.options.trigger_evt_path) = "subreddit.permalink",
682
- (buf.validate.field).required = true,
683
- (buf.validate.field).string.prefix = "/r/",
684
- (openapi.field_example) = "/r/RedditEng"
685
- ];
686
-
687
- // If the subreddit has been marked as not-safe-for-work. This will only be present if true.
688
- bool nsfw = 8 [
689
- (devvit.options.trigger_evt_path) = "subreddit.nsfw",
690
- (openapi.field_example) = "true"
691
- ];
692
-
693
- // The type of the subreddit: PUBLIC, RESTRICTED, USER;
694
- devvit.reddit.v2alpha.SubredditType type = 9 [
695
- (devvit.options.trigger_evt_path) = "subreddit.type",
696
- (openapi.field_example) = "PUBLIC"
697
- ];
698
-
699
- // removed fields
700
- reserved 4;
701
- reserved "trending_score";
702
- }
703
-
704
- // User Flair is a tagging system used to distinguish trusted community members or highlight specialized areas of knowledge someone may have. It can also be used in a variety of other creative and fun ways, depending on what suits the community. This is an optional field and subject to user flair present on the subreddit and user choosing to have the flair in the subreddit.
705
- message UserFlairFirehose {
706
- string text = 1 [
707
- (devvit.options.trigger_evt_path) = "author.flair.text",
708
- (openapi.field_example) = "Super Contributor"
709
- ];
710
- }
711
-
712
- // User's info. To protect Reddit employee accounts from targeting or harassment, the user info may be redacted in some cases - e.g. post or comment removals where the post title or comment body is changed to "Removed by Reddit.
713
- message UserFirehose {
714
- // Id of the user. If the user account was deleted, this field will be `t2_0`.
715
- string id = 1 [
716
- (devvit.options.trigger_evt_path) = "author.id",
717
- (buf.validate.field).string.prefix = "t2_",
718
- (openapi.field_example) = "t2_bcutkf4n"
719
- ];
720
- // Name of the user. If the user account was deleted, this field will be `[deleted]`.
721
- string name = 2 [
722
- (devvit.options.trigger_evt_path) = "author.name",
723
- (buf.validate.field).required = true,
724
- (openapi.field_example) = "sassyshalimar"
725
- ];
726
- // The amount of fake internet points a user has earned based on upvotes
727
- int64 karma = 4 [
728
- (devvit.options.trigger_evt_path) = "author.karma",
729
- (openapi.field_example) = "'45'"
730
- ];
731
- // Url to the user's profile. If the user account was deleted, this field will be `https://www.reddit.com/`.
732
- string url = 7 [
733
- (devvit.options.trigger_evt_path) = "author.url",
734
- (buf.validate.field).required = true,
735
- (buf.validate.field).string.uri = true,
736
- (openapi.field_example) = "https://www.reddit.com/user/sassyshalimar"
737
- ];
738
- // Avatar image associated with the user
739
- string snoovatar_image = 8 [
740
- (devvit.options.trigger_evt_path) = "author.snoovatar_image",
741
- (openapi.field_example) = "https://i.redd.it/snoovatar/avatars/84cb29a7-9219-45e9-a572-eb170ab34c3e.png"
742
- ];
743
-
744
- optional UserFlairFirehose flair = 9;
745
-
746
- // Icon image associated with the user. This could be the snoovatar image or a custom image the user has set as profile image.
747
- string icon_image = 10 [
748
- (devvit.options.trigger_evt_path) = "author.icon_image",
749
- (openapi.field_example) = "https://i.redd.it/snoovatar/avatars/84cb29a7-9219-45e9-a572-eb170ab34c3e.png"
750
- ];
751
-
752
- // User profile "about description"
753
- string description = 11 [
754
- (devvit.options.trigger_evt_path) = "author.description",
755
- (openapi.field_example) = "Dog lover, foodie, and tech enthusiast."
756
- ];
757
-
758
- // Whether this user has been banned. This will only be present if true
759
- bool banned = 13 [
760
- (devvit.options.trigger_evt_path) = "user.banned",
761
- (openapi.field_example) = "true"
762
- ];
763
-
764
- // Whether this user has been suspended. This will only be present if true
765
- bool suspended = 14 [
766
- (devvit.options.trigger_evt_path) = "user.suspended",
767
- (openapi.field_example) = "true"
768
- ];
769
-
770
- // removed fields
771
- reserved 3, 5, 6;
772
- reserved "account_age", "community_karma", "reputation_score";
773
- }