whop_sdk 0.0.24 → 0.0.25

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.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +3 -3
  4. data/lib/whop_sdk/client.rb +12 -0
  5. data/lib/whop_sdk/models/ai_chat_create_params.rb +22 -0
  6. data/lib/whop_sdk/models/ai_chat_create_response.rb +89 -0
  7. data/lib/whop_sdk/models/ai_chat_delete_params.rb +14 -0
  8. data/lib/whop_sdk/models/ai_chat_delete_response.rb +8 -0
  9. data/lib/whop_sdk/models/ai_chat_list_params.rb +46 -0
  10. data/lib/whop_sdk/models/ai_chat_list_response.rb +89 -0
  11. data/lib/whop_sdk/models/ai_chat_retrieve_params.rb +14 -0
  12. data/lib/whop_sdk/models/ai_chat_retrieve_response.rb +89 -0
  13. data/lib/whop_sdk/models/ai_chat_update_params.rb +22 -0
  14. data/lib/whop_sdk/models/ai_chat_update_response.rb +89 -0
  15. data/lib/whop_sdk/models/app_list_params.rb +1 -0
  16. data/lib/whop_sdk/models/company_token_transaction_create_params.rb +69 -0
  17. data/lib/whop_sdk/models/company_token_transaction_create_response.rb +180 -0
  18. data/lib/whop_sdk/models/company_token_transaction_list_params.rb +84 -0
  19. data/lib/whop_sdk/models/company_token_transaction_list_response.rb +180 -0
  20. data/lib/whop_sdk/models/company_token_transaction_retrieve_params.rb +14 -0
  21. data/lib/whop_sdk/models/company_token_transaction_retrieve_response.rb +180 -0
  22. data/lib/whop_sdk/models/dm_member_create_params.rb +30 -0
  23. data/lib/whop_sdk/models/dm_member_create_response.rb +94 -0
  24. data/lib/whop_sdk/models/dm_member_delete_params.rb +14 -0
  25. data/lib/whop_sdk/models/dm_member_delete_response.rb +8 -0
  26. data/lib/whop_sdk/models/dm_member_list_params.rb +54 -0
  27. data/lib/whop_sdk/models/dm_member_list_response.rb +71 -0
  28. data/lib/whop_sdk/models/dm_member_retrieve_params.rb +14 -0
  29. data/lib/whop_sdk/models/dm_member_retrieve_response.rb +94 -0
  30. data/lib/whop_sdk/models/dm_member_update_params.rb +58 -0
  31. data/lib/whop_sdk/models/dm_member_update_response.rb +94 -0
  32. data/lib/whop_sdk/models/message_create_params.rb +9 -1
  33. data/lib/whop_sdk/models/message_delete_params.rb +14 -0
  34. data/lib/whop_sdk/models/message_delete_response.rb +8 -0
  35. data/lib/whop_sdk/models/payment_method_types.rb +1 -0
  36. data/lib/whop_sdk/models/reaction_create_params.rb +10 -1
  37. data/lib/whop_sdk/models/reaction_delete_params.rb +22 -0
  38. data/lib/whop_sdk/models/reaction_delete_response.rb +8 -0
  39. data/lib/whop_sdk/models.rb +30 -0
  40. data/lib/whop_sdk/resources/ai_chats.rb +141 -0
  41. data/lib/whop_sdk/resources/company_token_transactions.rb +121 -0
  42. data/lib/whop_sdk/resources/dm_members.rb +155 -0
  43. data/lib/whop_sdk/resources/messages.rb +27 -1
  44. data/lib/whop_sdk/resources/reactions.rb +34 -1
  45. data/lib/whop_sdk/version.rb +1 -1
  46. data/lib/whop_sdk.rb +33 -0
  47. data/rbi/whop_sdk/client.rbi +9 -0
  48. data/rbi/whop_sdk/models/ai_chat_create_params.rbi +40 -0
  49. data/rbi/whop_sdk/models/ai_chat_create_response.rbi +128 -0
  50. data/rbi/whop_sdk/models/ai_chat_delete_params.rbi +27 -0
  51. data/rbi/whop_sdk/models/ai_chat_delete_response.rbi +7 -0
  52. data/rbi/whop_sdk/models/ai_chat_list_params.rbi +67 -0
  53. data/rbi/whop_sdk/models/ai_chat_list_response.rbi +125 -0
  54. data/rbi/whop_sdk/models/ai_chat_retrieve_params.rbi +27 -0
  55. data/rbi/whop_sdk/models/ai_chat_retrieve_response.rbi +128 -0
  56. data/rbi/whop_sdk/models/ai_chat_update_params.rbi +40 -0
  57. data/rbi/whop_sdk/models/ai_chat_update_response.rbi +128 -0
  58. data/rbi/whop_sdk/models/app_list_params.rbi +2 -0
  59. data/rbi/whop_sdk/models/company_token_transaction_create_params.rbi +92 -0
  60. data/rbi/whop_sdk/models/company_token_transaction_create_response.rbi +308 -0
  61. data/rbi/whop_sdk/models/company_token_transaction_list_params.rbi +146 -0
  62. data/rbi/whop_sdk/models/company_token_transaction_list_response.rbi +308 -0
  63. data/rbi/whop_sdk/models/company_token_transaction_retrieve_params.rbi +30 -0
  64. data/rbi/whop_sdk/models/company_token_transaction_retrieve_response.rbi +312 -0
  65. data/rbi/whop_sdk/models/dm_member_create_params.rbi +51 -0
  66. data/rbi/whop_sdk/models/dm_member_create_response.rbi +179 -0
  67. data/rbi/whop_sdk/models/dm_member_delete_params.rbi +27 -0
  68. data/rbi/whop_sdk/models/dm_member_delete_response.rbi +8 -0
  69. data/rbi/whop_sdk/models/dm_member_list_params.rbi +75 -0
  70. data/rbi/whop_sdk/models/dm_member_list_response.rbi +124 -0
  71. data/rbi/whop_sdk/models/dm_member_retrieve_params.rbi +27 -0
  72. data/rbi/whop_sdk/models/dm_member_retrieve_response.rbi +179 -0
  73. data/rbi/whop_sdk/models/dm_member_update_params.rbi +130 -0
  74. data/rbi/whop_sdk/models/dm_member_update_response.rbi +179 -0
  75. data/rbi/whop_sdk/models/message_create_params.rbi +8 -0
  76. data/rbi/whop_sdk/models/message_delete_params.rbi +27 -0
  77. data/rbi/whop_sdk/models/message_delete_response.rbi +8 -0
  78. data/rbi/whop_sdk/models/payment_method_types.rbi +1 -0
  79. data/rbi/whop_sdk/models/reaction_create_params.rbi +10 -0
  80. data/rbi/whop_sdk/models/reaction_delete_params.rbi +40 -0
  81. data/rbi/whop_sdk/models/reaction_delete_response.rbi +8 -0
  82. data/rbi/whop_sdk/models.rbi +33 -0
  83. data/rbi/whop_sdk/resources/ai_chats.rbi +108 -0
  84. data/rbi/whop_sdk/resources/company_token_transactions.rbi +114 -0
  85. data/rbi/whop_sdk/resources/dm_members.rbi +128 -0
  86. data/rbi/whop_sdk/resources/messages.rbi +21 -0
  87. data/rbi/whop_sdk/resources/reactions.rbi +26 -0
  88. data/sig/whop_sdk/client.rbs +6 -0
  89. data/sig/whop_sdk/models/ai_chat_create_params.rbs +23 -0
  90. data/sig/whop_sdk/models/ai_chat_create_response.rbs +65 -0
  91. data/sig/whop_sdk/models/ai_chat_delete_params.rbs +15 -0
  92. data/sig/whop_sdk/models/ai_chat_delete_response.rbs +5 -0
  93. data/sig/whop_sdk/models/ai_chat_list_params.rbs +36 -0
  94. data/sig/whop_sdk/models/ai_chat_list_response.rbs +65 -0
  95. data/sig/whop_sdk/models/ai_chat_retrieve_params.rbs +15 -0
  96. data/sig/whop_sdk/models/ai_chat_retrieve_response.rbs +65 -0
  97. data/sig/whop_sdk/models/ai_chat_update_params.rbs +23 -0
  98. data/sig/whop_sdk/models/ai_chat_update_response.rbs +65 -0
  99. data/sig/whop_sdk/models/app_list_params.rbs +3 -1
  100. data/sig/whop_sdk/models/company_token_transaction_create_params.rbs +56 -0
  101. data/sig/whop_sdk/models/company_token_transaction_create_response.rbs +115 -0
  102. data/sig/whop_sdk/models/company_token_transaction_list_params.rbs +68 -0
  103. data/sig/whop_sdk/models/company_token_transaction_list_response.rbs +115 -0
  104. data/sig/whop_sdk/models/company_token_transaction_retrieve_params.rbs +15 -0
  105. data/sig/whop_sdk/models/company_token_transaction_retrieve_response.rbs +115 -0
  106. data/sig/whop_sdk/models/dm_member_create_params.rbs +28 -0
  107. data/sig/whop_sdk/models/dm_member_create_response.rbs +71 -0
  108. data/sig/whop_sdk/models/dm_member_delete_params.rbs +15 -0
  109. data/sig/whop_sdk/models/dm_member_delete_response.rbs +5 -0
  110. data/sig/whop_sdk/models/dm_member_list_params.rbs +46 -0
  111. data/sig/whop_sdk/models/dm_member_list_response.rbs +54 -0
  112. data/sig/whop_sdk/models/dm_member_retrieve_params.rbs +15 -0
  113. data/sig/whop_sdk/models/dm_member_retrieve_response.rbs +71 -0
  114. data/sig/whop_sdk/models/dm_member_update_params.rbs +57 -0
  115. data/sig/whop_sdk/models/dm_member_update_response.rbs +71 -0
  116. data/sig/whop_sdk/models/message_create_params.rbs +6 -1
  117. data/sig/whop_sdk/models/message_delete_params.rbs +15 -0
  118. data/sig/whop_sdk/models/message_delete_response.rbs +5 -0
  119. data/sig/whop_sdk/models/payment_method_types.rbs +2 -0
  120. data/sig/whop_sdk/models/reaction_create_params.rbs +5 -1
  121. data/sig/whop_sdk/models/reaction_delete_params.rbs +23 -0
  122. data/sig/whop_sdk/models/reaction_delete_response.rbs +5 -0
  123. data/sig/whop_sdk/models.rbs +30 -0
  124. data/sig/whop_sdk/resources/ai_chats.rbs +33 -0
  125. data/sig/whop_sdk/resources/company_token_transactions.rbs +34 -0
  126. data/sig/whop_sdk/resources/dm_members.rbs +36 -0
  127. data/sig/whop_sdk/resources/messages.rbs +3 -0
  128. data/sig/whop_sdk/resources/reactions.rbs +7 -0
  129. metadata +101 -2
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class AIChats
6
+ # Creates a new AI chat
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `ai_chat:create`
11
+ #
12
+ # @overload create(title: nil, request_options: {})
13
+ #
14
+ # @param title [String, nil] The title of the AI chat
15
+ #
16
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
17
+ #
18
+ # @return [WhopSDK::Models::AIChatCreateResponse]
19
+ #
20
+ # @see WhopSDK::Models::AIChatCreateParams
21
+ def create(params = {})
22
+ parsed, options = WhopSDK::AIChatCreateParams.dump_request(params)
23
+ @client.request(
24
+ method: :post,
25
+ path: "ai_chats",
26
+ body: parsed,
27
+ model: WhopSDK::Models::AIChatCreateResponse,
28
+ options: options
29
+ )
30
+ end
31
+
32
+ # Fetches a single AI chat by ID
33
+ #
34
+ # @overload retrieve(id, request_options: {})
35
+ #
36
+ # @param id [String] The ID of the AI chat
37
+ #
38
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
39
+ #
40
+ # @return [WhopSDK::Models::AIChatRetrieveResponse]
41
+ #
42
+ # @see WhopSDK::Models::AIChatRetrieveParams
43
+ def retrieve(id, params = {})
44
+ @client.request(
45
+ method: :get,
46
+ path: ["ai_chats/%1$s", id],
47
+ model: WhopSDK::Models::AIChatRetrieveResponse,
48
+ options: params[:request_options]
49
+ )
50
+ end
51
+
52
+ # Updates an AI chat
53
+ #
54
+ # Required permissions:
55
+ #
56
+ # - `ai_chat:update`
57
+ #
58
+ # @overload update(id, title: nil, request_options: {})
59
+ #
60
+ # @param id [String] The ID of the AI chat to update
61
+ #
62
+ # @param title [String, nil] The new title for the AI chat
63
+ #
64
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
65
+ #
66
+ # @return [WhopSDK::Models::AIChatUpdateResponse]
67
+ #
68
+ # @see WhopSDK::Models::AIChatUpdateParams
69
+ def update(id, params = {})
70
+ parsed, options = WhopSDK::AIChatUpdateParams.dump_request(params)
71
+ @client.request(
72
+ method: :patch,
73
+ path: ["ai_chats/%1$s", id],
74
+ body: parsed,
75
+ model: WhopSDK::Models::AIChatUpdateResponse,
76
+ options: options
77
+ )
78
+ end
79
+
80
+ # Fetches all AI chats for the current user
81
+ #
82
+ # @overload list(after: nil, before: nil, first: nil, last: nil, request_options: {})
83
+ #
84
+ # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
85
+ #
86
+ # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
87
+ #
88
+ # @param first [Integer, nil] Returns the first _n_ elements from the list.
89
+ #
90
+ # @param last [Integer, nil] Returns the last _n_ elements from the list.
91
+ #
92
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
93
+ #
94
+ # @return [WhopSDK::Internal::CursorPage<WhopSDK::Models::AIChatListResponse>]
95
+ #
96
+ # @see WhopSDK::Models::AIChatListParams
97
+ def list(params = {})
98
+ parsed, options = WhopSDK::AIChatListParams.dump_request(params)
99
+ @client.request(
100
+ method: :get,
101
+ path: "ai_chats",
102
+ query: parsed,
103
+ page: WhopSDK::Internal::CursorPage,
104
+ model: WhopSDK::Models::AIChatListResponse,
105
+ options: options
106
+ )
107
+ end
108
+
109
+ # Deletes an AI chat
110
+ #
111
+ # Required permissions:
112
+ #
113
+ # - `ai_chat:delete`
114
+ #
115
+ # @overload delete(id, request_options: {})
116
+ #
117
+ # @param id [String] The ID of the AI chat to delete
118
+ #
119
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
120
+ #
121
+ # @return [Boolean]
122
+ #
123
+ # @see WhopSDK::Models::AIChatDeleteParams
124
+ def delete(id, params = {})
125
+ @client.request(
126
+ method: :delete,
127
+ path: ["ai_chats/%1$s", id],
128
+ model: WhopSDK::Internal::Type::Boolean,
129
+ options: params[:request_options]
130
+ )
131
+ end
132
+
133
+ # @api private
134
+ #
135
+ # @param client [WhopSDK::Client]
136
+ def initialize(client:)
137
+ @client = client
138
+ end
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class CompanyTokenTransactions
6
+ # Create a token transaction (add/subtract/transfer) for a member
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `company_token_transaction:create`
11
+ # - `member:basic:read`
12
+ # - `company:basic:read`
13
+ #
14
+ # @overload create(amount:, company_id:, destination_user_id:, user_id:, description: nil, idempotency_key: nil, transaction_type: :subtract, request_options: {})
15
+ #
16
+ # @param amount [Float] The positive amount of tokens
17
+ #
18
+ # @param company_id [String] The company ID
19
+ #
20
+ # @param destination_user_id [String] Required for transfers - the user to receive tokens
21
+ #
22
+ # @param user_id [String] The user ID whose balance will change
23
+ #
24
+ # @param description [String, nil] Optional description for the transaction
25
+ #
26
+ # @param idempotency_key [String, nil] Optional key to prevent duplicate transactions
27
+ #
28
+ # @param transaction_type [Symbol, :subtract]
29
+ #
30
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
31
+ #
32
+ # @return [WhopSDK::Models::CompanyTokenTransactionCreateResponse]
33
+ #
34
+ # @see WhopSDK::Models::CompanyTokenTransactionCreateParams
35
+ def create(params)
36
+ parsed, options = WhopSDK::CompanyTokenTransactionCreateParams.dump_request(params)
37
+ @client.request(
38
+ method: :post,
39
+ path: "company_token_transactions",
40
+ body: parsed,
41
+ model: WhopSDK::Models::CompanyTokenTransactionCreateResponse,
42
+ options: options
43
+ )
44
+ end
45
+
46
+ # Retrieves a token transaction by ID
47
+ #
48
+ # Required permissions:
49
+ #
50
+ # - `company_token_transaction:read`
51
+ # - `member:basic:read`
52
+ # - `company:basic:read`
53
+ #
54
+ # @overload retrieve(id, request_options: {})
55
+ #
56
+ # @param id [String] The ID of the transaction
57
+ #
58
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
59
+ #
60
+ # @return [WhopSDK::Models::CompanyTokenTransactionRetrieveResponse]
61
+ #
62
+ # @see WhopSDK::Models::CompanyTokenTransactionRetrieveParams
63
+ def retrieve(id, params = {})
64
+ @client.request(
65
+ method: :get,
66
+ path: ["company_token_transactions/%1$s", id],
67
+ model: WhopSDK::Models::CompanyTokenTransactionRetrieveResponse,
68
+ options: params[:request_options]
69
+ )
70
+ end
71
+
72
+ # Lists token transactions for a company
73
+ #
74
+ # Required permissions:
75
+ #
76
+ # - `company_token_transaction:read`
77
+ # - `member:basic:read`
78
+ # - `company:basic:read`
79
+ #
80
+ # @overload list(company_id:, after: nil, before: nil, first: nil, last: nil, transaction_type: nil, user_id: nil, request_options: {})
81
+ #
82
+ # @param company_id [String] The ID of the company
83
+ #
84
+ # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
85
+ #
86
+ # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
87
+ #
88
+ # @param first [Integer, nil] Returns the first _n_ elements from the list.
89
+ #
90
+ # @param last [Integer, nil] Returns the last _n_ elements from the list.
91
+ #
92
+ # @param transaction_type [Symbol, WhopSDK::Models::CompanyTokenTransactionListParams::TransactionType, nil] The type of token transaction
93
+ #
94
+ # @param user_id [String, nil] Filter by user ID
95
+ #
96
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
97
+ #
98
+ # @return [WhopSDK::Internal::CursorPage<WhopSDK::Models::CompanyTokenTransactionListResponse>]
99
+ #
100
+ # @see WhopSDK::Models::CompanyTokenTransactionListParams
101
+ def list(params)
102
+ parsed, options = WhopSDK::CompanyTokenTransactionListParams.dump_request(params)
103
+ @client.request(
104
+ method: :get,
105
+ path: "company_token_transactions",
106
+ query: parsed,
107
+ page: WhopSDK::Internal::CursorPage,
108
+ model: WhopSDK::Models::CompanyTokenTransactionListResponse,
109
+ options: options
110
+ )
111
+ end
112
+
113
+ # @api private
114
+ #
115
+ # @param client [WhopSDK::Client]
116
+ def initialize(client:)
117
+ @client = client
118
+ end
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,155 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class DmMembers
6
+ # Adds a user to a DM channel
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `dms:channel:manage`
11
+ #
12
+ # @overload create(channel_id:, user_id:, request_options: {})
13
+ #
14
+ # @param channel_id [String] The ID of the DM channel to add the member to
15
+ #
16
+ # @param user_id [String] The ID of the user to add to the channel
17
+ #
18
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
19
+ #
20
+ # @return [WhopSDK::Models::DmMemberCreateResponse]
21
+ #
22
+ # @see WhopSDK::Models::DmMemberCreateParams
23
+ def create(params)
24
+ parsed, options = WhopSDK::DmMemberCreateParams.dump_request(params)
25
+ @client.request(
26
+ method: :post,
27
+ path: "dm_members",
28
+ body: parsed,
29
+ model: WhopSDK::Models::DmMemberCreateResponse,
30
+ options: options
31
+ )
32
+ end
33
+
34
+ # Retrieves a DM channel member
35
+ #
36
+ # Required permissions:
37
+ #
38
+ # - `dms:read`
39
+ #
40
+ # @overload retrieve(id, request_options: {})
41
+ #
42
+ # @param id [String] The ID of the DM channel member
43
+ #
44
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
45
+ #
46
+ # @return [WhopSDK::Models::DmMemberRetrieveResponse]
47
+ #
48
+ # @see WhopSDK::Models::DmMemberRetrieveParams
49
+ def retrieve(id, params = {})
50
+ @client.request(
51
+ method: :get,
52
+ path: ["dm_members/%1$s", id],
53
+ model: WhopSDK::Models::DmMemberRetrieveResponse,
54
+ options: params[:request_options]
55
+ )
56
+ end
57
+
58
+ # Updates a DM channel member's settings
59
+ #
60
+ # Required permissions:
61
+ #
62
+ # - `dms:channel:manage`
63
+ #
64
+ # @overload update(id, notification_preference: nil, status: nil, request_options: {})
65
+ #
66
+ # @param id [String] The ID of the DM channel member to update
67
+ #
68
+ # @param notification_preference [Symbol, WhopSDK::Models::DmMemberUpdateParams::NotificationPreference, nil] The notification preferences for a DMs feed member
69
+ #
70
+ # @param status [Symbol, WhopSDK::Models::DmMemberUpdateParams::Status, nil] The statuses of a DMs feed member
71
+ #
72
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
73
+ #
74
+ # @return [WhopSDK::Models::DmMemberUpdateResponse]
75
+ #
76
+ # @see WhopSDK::Models::DmMemberUpdateParams
77
+ def update(id, params = {})
78
+ parsed, options = WhopSDK::DmMemberUpdateParams.dump_request(params)
79
+ @client.request(
80
+ method: :patch,
81
+ path: ["dm_members/%1$s", id],
82
+ body: parsed,
83
+ model: WhopSDK::Models::DmMemberUpdateResponse,
84
+ options: options
85
+ )
86
+ end
87
+
88
+ # Lists members of a DM channel
89
+ #
90
+ # Required permissions:
91
+ #
92
+ # - `dms:read`
93
+ #
94
+ # @overload list(channel_id:, after: nil, before: nil, first: nil, last: nil, request_options: {})
95
+ #
96
+ # @param channel_id [String] The ID of the DM channel to list members for
97
+ #
98
+ # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
99
+ #
100
+ # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
101
+ #
102
+ # @param first [Integer, nil] Returns the first _n_ elements from the list.
103
+ #
104
+ # @param last [Integer, nil] Returns the last _n_ elements from the list.
105
+ #
106
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
107
+ #
108
+ # @return [WhopSDK::Internal::CursorPage<WhopSDK::Models::DmMemberListResponse>]
109
+ #
110
+ # @see WhopSDK::Models::DmMemberListParams
111
+ def list(params)
112
+ parsed, options = WhopSDK::DmMemberListParams.dump_request(params)
113
+ @client.request(
114
+ method: :get,
115
+ path: "dm_members",
116
+ query: parsed,
117
+ page: WhopSDK::Internal::CursorPage,
118
+ model: WhopSDK::Models::DmMemberListResponse,
119
+ options: options
120
+ )
121
+ end
122
+
123
+ # Removes a user from a DM channel
124
+ #
125
+ # Required permissions:
126
+ #
127
+ # - `dms:channel:manage`
128
+ #
129
+ # @overload delete(id, request_options: {})
130
+ #
131
+ # @param id [String] The ID of the DM channel member to remove
132
+ #
133
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
134
+ #
135
+ # @return [Boolean]
136
+ #
137
+ # @see WhopSDK::Models::DmMemberDeleteParams
138
+ def delete(id, params = {})
139
+ @client.request(
140
+ method: :delete,
141
+ path: ["dm_members/%1$s", id],
142
+ model: WhopSDK::Internal::Type::Boolean,
143
+ options: params[:request_options]
144
+ )
145
+ end
146
+
147
+ # @api private
148
+ #
149
+ # @param client [WhopSDK::Client]
150
+ def initialize(client:)
151
+ @client = client
152
+ end
153
+ end
154
+ end
155
+ end
@@ -9,7 +9,7 @@ module WhopSDK
9
9
  #
10
10
  # - `chat:message:create`
11
11
  #
12
- # @overload create(channel_id:, content:, attachments: nil, poll: nil, request_options: {})
12
+ # @overload create(channel_id:, content:, attachments: nil, poll: nil, replying_to_message_id: nil, request_options: {})
13
13
  #
14
14
  # @param channel_id [String] The ID of the channel or experience to send to.
15
15
  #
@@ -19,6 +19,8 @@ module WhopSDK
19
19
  #
20
20
  # @param poll [WhopSDK::Models::MessageCreateParams::Poll, nil] The poll for this message
21
21
  #
22
+ # @param replying_to_message_id [String, nil] The ID of the message this is replying to, if applicable.
23
+ #
22
24
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
23
25
  #
24
26
  # @return [WhopSDK::Models::Message]
@@ -124,6 +126,30 @@ module WhopSDK
124
126
  )
125
127
  end
126
128
 
129
+ # Deletes a message
130
+ #
131
+ # Required permissions:
132
+ #
133
+ # - `chat:message:create`
134
+ #
135
+ # @overload delete(id, request_options: {})
136
+ #
137
+ # @param id [String] The ID of the message to delete
138
+ #
139
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
140
+ #
141
+ # @return [Boolean]
142
+ #
143
+ # @see WhopSDK::Models::MessageDeleteParams
144
+ def delete(id, params = {})
145
+ @client.request(
146
+ method: :delete,
147
+ path: ["messages/%1$s", id],
148
+ model: WhopSDK::Internal::Type::Boolean,
149
+ options: params[:request_options]
150
+ )
151
+ end
152
+
127
153
  # @api private
128
154
  #
129
155
  # @param client [WhopSDK::Client]
@@ -12,12 +12,14 @@ module WhopSDK
12
12
  #
13
13
  # - `chat:read`
14
14
  #
15
- # @overload create(resource_id:, emoji: nil, request_options: {})
15
+ # @overload create(resource_id:, emoji: nil, poll_option_id: nil, request_options: {})
16
16
  #
17
17
  # @param resource_id [String] The ID of the post or message to react to.
18
18
  #
19
19
  # @param emoji [String, nil] The emoji to react with (e.g., :heart: or '😀'). It will be ignored in forums, a
20
20
  #
21
+ # @param poll_option_id [String, nil] The ID of the poll option to vote for. Only valid for messages or posts with pol
22
+ #
21
23
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
22
24
  #
23
25
  # @return [WhopSDK::Models::Reaction]
@@ -93,6 +95,37 @@ module WhopSDK
93
95
  )
94
96
  end
95
97
 
98
+ # Some parameter documentations has been truncated, see
99
+ # {WhopSDK::Models::ReactionDeleteParams} for more details.
100
+ #
101
+ # Deletes a reaction
102
+ #
103
+ # Required permissions:
104
+ #
105
+ # - `chat:read`
106
+ #
107
+ # @overload delete(id, emoji: nil, request_options: {})
108
+ #
109
+ # @param id [String] The ID of the reaction to remove or message / post to remove the reaction from.
110
+ #
111
+ # @param emoji [String, nil] The emoji to remove (e.g., :heart: or '😀').
112
+ #
113
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
114
+ #
115
+ # @return [Boolean]
116
+ #
117
+ # @see WhopSDK::Models::ReactionDeleteParams
118
+ def delete(id, params = {})
119
+ parsed, options = WhopSDK::ReactionDeleteParams.dump_request(params)
120
+ @client.request(
121
+ method: :delete,
122
+ path: ["reactions/%1$s", id],
123
+ query: parsed,
124
+ model: WhopSDK::Internal::Type::Boolean,
125
+ options: options
126
+ )
127
+ end
128
+
96
129
  # @api private
97
130
  #
98
131
  # @param client [WhopSDK::Client]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WhopSDK
4
- VERSION = "0.0.24"
4
+ VERSION = "0.0.25"
5
5
  end
data/lib/whop_sdk.rb CHANGED
@@ -59,6 +59,16 @@ require_relative "whop_sdk/models/access_token_create_params"
59
59
  require_relative "whop_sdk/models/access_token_create_response"
60
60
  require_relative "whop_sdk/models/account_link_create_params"
61
61
  require_relative "whop_sdk/models/account_link_create_response"
62
+ require_relative "whop_sdk/models/ai_chat_create_params"
63
+ require_relative "whop_sdk/models/ai_chat_create_response"
64
+ require_relative "whop_sdk/models/ai_chat_delete_params"
65
+ require_relative "whop_sdk/models/ai_chat_delete_response"
66
+ require_relative "whop_sdk/models/ai_chat_list_params"
67
+ require_relative "whop_sdk/models/ai_chat_list_response"
68
+ require_relative "whop_sdk/models/ai_chat_retrieve_params"
69
+ require_relative "whop_sdk/models/ai_chat_retrieve_response"
70
+ require_relative "whop_sdk/models/ai_chat_update_params"
71
+ require_relative "whop_sdk/models/ai_chat_update_response"
62
72
  require_relative "whop_sdk/models/app"
63
73
  require_relative "whop_sdk/models/app_build"
64
74
  require_relative "whop_sdk/models/app_build_create_params"
@@ -102,6 +112,12 @@ require_relative "whop_sdk/models/company_create_params"
102
112
  require_relative "whop_sdk/models/company_list_params"
103
113
  require_relative "whop_sdk/models/company_list_response"
104
114
  require_relative "whop_sdk/models/company_retrieve_params"
115
+ require_relative "whop_sdk/models/company_token_transaction_create_params"
116
+ require_relative "whop_sdk/models/company_token_transaction_create_response"
117
+ require_relative "whop_sdk/models/company_token_transaction_list_params"
118
+ require_relative "whop_sdk/models/company_token_transaction_list_response"
119
+ require_relative "whop_sdk/models/company_token_transaction_retrieve_params"
120
+ require_relative "whop_sdk/models/company_token_transaction_retrieve_response"
105
121
  require_relative "whop_sdk/models/company_update_params"
106
122
  require_relative "whop_sdk/models/course"
107
123
  require_relative "whop_sdk/models/course_chapter"
@@ -154,6 +170,16 @@ require_relative "whop_sdk/models/dispute_statuses"
154
170
  require_relative "whop_sdk/models/dispute_submit_evidence_params"
155
171
  require_relative "whop_sdk/models/dispute_updated_webhook_event"
156
172
  require_relative "whop_sdk/models/dispute_update_evidence_params"
173
+ require_relative "whop_sdk/models/dm_member_create_params"
174
+ require_relative "whop_sdk/models/dm_member_create_response"
175
+ require_relative "whop_sdk/models/dm_member_delete_params"
176
+ require_relative "whop_sdk/models/dm_member_delete_response"
177
+ require_relative "whop_sdk/models/dm_member_list_params"
178
+ require_relative "whop_sdk/models/dm_member_list_response"
179
+ require_relative "whop_sdk/models/dm_member_retrieve_params"
180
+ require_relative "whop_sdk/models/dm_member_retrieve_response"
181
+ require_relative "whop_sdk/models/dm_member_update_params"
182
+ require_relative "whop_sdk/models/dm_member_update_response"
157
183
  require_relative "whop_sdk/models/dms_post_types"
158
184
  require_relative "whop_sdk/models/email_notification_preferences"
159
185
  require_relative "whop_sdk/models/embed_type"
@@ -253,6 +279,8 @@ require_relative "whop_sdk/models/membership_update_params"
253
279
  require_relative "whop_sdk/models/member_statuses"
254
280
  require_relative "whop_sdk/models/message"
255
281
  require_relative "whop_sdk/models/message_create_params"
282
+ require_relative "whop_sdk/models/message_delete_params"
283
+ require_relative "whop_sdk/models/message_delete_response"
256
284
  require_relative "whop_sdk/models/message_list_params"
257
285
  require_relative "whop_sdk/models/message_list_response"
258
286
  require_relative "whop_sdk/models/message_retrieve_params"
@@ -314,6 +342,8 @@ require_relative "whop_sdk/models/promo_duration"
314
342
  require_relative "whop_sdk/models/promo_type"
315
343
  require_relative "whop_sdk/models/reaction"
316
344
  require_relative "whop_sdk/models/reaction_create_params"
345
+ require_relative "whop_sdk/models/reaction_delete_params"
346
+ require_relative "whop_sdk/models/reaction_delete_response"
317
347
  require_relative "whop_sdk/models/reaction_list_params"
318
348
  require_relative "whop_sdk/models/reaction_list_response"
319
349
  require_relative "whop_sdk/models/reaction_retrieve_params"
@@ -401,18 +431,21 @@ require_relative "whop_sdk/models/withdrawal_updated_webhook_event"
401
431
  require_relative "whop_sdk/models"
402
432
  require_relative "whop_sdk/resources/access_tokens"
403
433
  require_relative "whop_sdk/resources/account_links"
434
+ require_relative "whop_sdk/resources/ai_chats"
404
435
  require_relative "whop_sdk/resources/app_builds"
405
436
  require_relative "whop_sdk/resources/apps"
406
437
  require_relative "whop_sdk/resources/authorized_users"
407
438
  require_relative "whop_sdk/resources/chat_channels"
408
439
  require_relative "whop_sdk/resources/checkout_configurations"
409
440
  require_relative "whop_sdk/resources/companies"
441
+ require_relative "whop_sdk/resources/company_token_transactions"
410
442
  require_relative "whop_sdk/resources/course_chapters"
411
443
  require_relative "whop_sdk/resources/course_lesson_interactions"
412
444
  require_relative "whop_sdk/resources/course_lessons"
413
445
  require_relative "whop_sdk/resources/courses"
414
446
  require_relative "whop_sdk/resources/course_students"
415
447
  require_relative "whop_sdk/resources/disputes"
448
+ require_relative "whop_sdk/resources/dm_members"
416
449
  require_relative "whop_sdk/resources/entries"
417
450
  require_relative "whop_sdk/resources/experiences"
418
451
  require_relative "whop_sdk/resources/fee_markups"
@@ -154,6 +154,15 @@ module WhopSDK
154
154
  sig { returns(WhopSDK::Resources::Files) }
155
155
  attr_reader :files
156
156
 
157
+ sig { returns(WhopSDK::Resources::CompanyTokenTransactions) }
158
+ attr_reader :company_token_transactions
159
+
160
+ sig { returns(WhopSDK::Resources::DmMembers) }
161
+ attr_reader :dm_members
162
+
163
+ sig { returns(WhopSDK::Resources::AIChats) }
164
+ attr_reader :ai_chats
165
+
157
166
  # @api private
158
167
  sig { override.returns(T::Hash[String, String]) }
159
168
  private def auth_headers
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class AIChatCreateParams < WhopSDK::Internal::Type::BaseModel
6
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
7
+ include WhopSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(WhopSDK::AIChatCreateParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ # The title of the AI chat
15
+ sig { returns(T.nilable(String)) }
16
+ attr_accessor :title
17
+
18
+ sig do
19
+ params(
20
+ title: T.nilable(String),
21
+ request_options: WhopSDK::RequestOptions::OrHash
22
+ ).returns(T.attached_class)
23
+ end
24
+ def self.new(
25
+ # The title of the AI chat
26
+ title: nil,
27
+ request_options: {}
28
+ )
29
+ end
30
+
31
+ sig do
32
+ override.returns(
33
+ { title: T.nilable(String), request_options: WhopSDK::RequestOptions }
34
+ )
35
+ end
36
+ def to_hash
37
+ end
38
+ end
39
+ end
40
+ end