lib_discord 0.1.3 → 1.0.1

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 (77) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +88 -0
  3. data/README.md +40 -67
  4. data/lib/lib_discord/client.rb +2667 -138
  5. data/lib/lib_discord/formatter.rb +108 -0
  6. data/lib/lib_discord/maps.rb +730 -0
  7. data/lib/lib_discord/permissions.rb +84 -0
  8. data/lib/lib_discord/urls.rb +9 -15
  9. data/lib/lib_discord/version.rb +1 -4
  10. data/lib/lib_discord.rb +3 -5
  11. metadata +12 -120
  12. data/CHANGELOG.md +0 -152
  13. data/lib/lib_discord/application.rb +0 -43
  14. data/lib/lib_discord/application_command.rb +0 -341
  15. data/lib/lib_discord/application_role_connection_metadata.rb +0 -52
  16. data/lib/lib_discord/audit_log.rb +0 -36
  17. data/lib/lib_discord/auto_moderation.rb +0 -106
  18. data/lib/lib_discord/channel.rb +0 -716
  19. data/lib/lib_discord/emoji.rb +0 -106
  20. data/lib/lib_discord/errors.rb +0 -31
  21. data/lib/lib_discord/guild.rb +0 -830
  22. data/lib/lib_discord/guild_scheduled_event.rb +0 -133
  23. data/lib/lib_discord/guild_template.rb +0 -128
  24. data/lib/lib_discord/interaction.rb +0 -163
  25. data/lib/lib_discord/invite.rb +0 -47
  26. data/lib/lib_discord/mappers/application_command_option_types.rb +0 -22
  27. data/lib/lib_discord/mappers/application_command_permission_types.rb +0 -14
  28. data/lib/lib_discord/mappers/application_command_types.rb +0 -14
  29. data/lib/lib_discord/mappers/application_integration_types.rb +0 -13
  30. data/lib/lib_discord/mappers/application_role_connection_metadata_types.rb +0 -19
  31. data/lib/lib_discord/mappers/audit_log_events.rb +0 -67
  32. data/lib/lib_discord/mappers/auto_moderation_action_types.rb +0 -14
  33. data/lib/lib_discord/mappers/auto_moderation_event_types.rb +0 -12
  34. data/lib/lib_discord/mappers/auto_moderation_keyword_preset_types.rb +0 -14
  35. data/lib/lib_discord/mappers/auto_moderation_trigger_types.rb +0 -15
  36. data/lib/lib_discord/mappers/channel_forum_layout_types.rb +0 -14
  37. data/lib/lib_discord/mappers/channel_message_activity_types.rb +0 -15
  38. data/lib/lib_discord/mappers/channel_message_types.rb +0 -42
  39. data/lib/lib_discord/mappers/channel_sort_order_types.rb +0 -13
  40. data/lib/lib_discord/mappers/channel_types.rb +0 -24
  41. data/lib/lib_discord/mappers/channel_video_quality_modes.rb +0 -13
  42. data/lib/lib_discord/mappers/guild_default_message_notification_levels.rb +0 -13
  43. data/lib/lib_discord/mappers/guild_explicit_content_filter_levels.rb +0 -14
  44. data/lib/lib_discord/mappers/guild_integration_expire_behaviors.rb +0 -13
  45. data/lib/lib_discord/mappers/guild_mfa_levels.rb +0 -13
  46. data/lib/lib_discord/mappers/guild_nsfw_levels.rb +0 -15
  47. data/lib/lib_discord/mappers/guild_onboarding_modes.rb +0 -13
  48. data/lib/lib_discord/mappers/guild_premium_tiers.rb +0 -15
  49. data/lib/lib_discord/mappers/guild_prompt_types.rb +0 -13
  50. data/lib/lib_discord/mappers/guild_scheduled_event_entity_types.rb +0 -14
  51. data/lib/lib_discord/mappers/guild_scheduled_event_privacy_levels.rb +0 -12
  52. data/lib/lib_discord/mappers/guild_scheduled_event_statuses.rb +0 -15
  53. data/lib/lib_discord/mappers/guild_verification_levels.rb +0 -16
  54. data/lib/lib_discord/mappers/interaction_callback_types.rb +0 -19
  55. data/lib/lib_discord/mappers/interaction_context_types.rb +0 -14
  56. data/lib/lib_discord/mappers/interaction_types.rb +0 -16
  57. data/lib/lib_discord/mappers/invite_target_types.rb +0 -13
  58. data/lib/lib_discord/mappers/message_component_button_styles.rb +0 -16
  59. data/lib/lib_discord/mappers/message_component_text_input_styles.rb +0 -13
  60. data/lib/lib_discord/mappers/message_component_types.rb +0 -19
  61. data/lib/lib_discord/mappers/poll_layout_types.rb +0 -12
  62. data/lib/lib_discord/mappers/stage_instance_privacy_levels.rb +0 -13
  63. data/lib/lib_discord/mappers/sticker_format_types.rb +0 -15
  64. data/lib/lib_discord/mappers/sticker_types.rb +0 -13
  65. data/lib/lib_discord/mappers/user_premium_types.rb +0 -15
  66. data/lib/lib_discord/mappers/user_visibility_types.rb +0 -13
  67. data/lib/lib_discord/mappers/webhooks_types.rb +0 -14
  68. data/lib/lib_discord/mappers.rb +0 -87
  69. data/lib/lib_discord/poll.rb +0 -62
  70. data/lib/lib_discord/resource.rb +0 -133
  71. data/lib/lib_discord/response.rb +0 -43
  72. data/lib/lib_discord/stage_instance.rb +0 -79
  73. data/lib/lib_discord/sticker.rb +0 -132
  74. data/lib/lib_discord/types.rb +0 -47
  75. data/lib/lib_discord/user.rb +0 -174
  76. data/lib/lib_discord/voice.rb +0 -29
  77. data/lib/lib_discord/webhook.rb +0 -299
@@ -1,830 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "lib_discord/resource"
4
-
5
- module LibDiscord
6
- ##
7
- # Guild Resource
8
- #
9
- # Do not instantiate a {Guild} directly. Instead request one from an instance
10
- # of {Client}.
11
- #
12
- # client = LibDiscord::Client.new("Bot auth.token")
13
- # g = client["guild"]
14
- #
15
- # @see https://discord.com/developers/docs/resources/guild Discord
16
- # documentation "Guild Resource"
17
- class Guild < Resource
18
- ##
19
- # @param json [#to_json] JSON serializable payload
20
- #
21
- # @return [Response]
22
- #
23
- # @raise [TimeoutError] if the HTTP request times out
24
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
25
- #
26
- # @see https://discord.com/developers/docs/resources/guild#create-guild
27
- # Discord documentation "Create Guild"
28
- def create_guild(json:)
29
- send_request(:post, "/guilds", json:)
30
- end
31
-
32
- ##
33
- # @param guild_id [#to_s]
34
- # {https://discord.com/developers/docs/reference#snowflakes Discord
35
- # documentation "Snowflakes"}
36
- # @param params [Hash] optional HTTP query parameters
37
- #
38
- # @return [Response]
39
- #
40
- # @raise [TimeoutError] if the HTTP request times out
41
- # @raise [ConstraintError] if +params+ cannot be coerced into a valid query
42
- # parameters string
43
- #
44
- # @see https://discord.com/developers/docs/resources/guild#get-guild
45
- # Discord documentation "Get Guild"
46
- def get_guild(guild_id:, params: {})
47
- send_request(:get, "/guilds/#{guild_id}", params:)
48
- end
49
-
50
- ##
51
- # @param guild_id [#to_s]
52
- # {https://discord.com/developers/docs/reference#snowflakes Discord
53
- # documentation "Snowflakes"}
54
- #
55
- # @return [Response]
56
- #
57
- # @raise [TimeoutError] if the HTTP request times out
58
- #
59
- # @see https://discord.com/developers/docs/resources/guild#get-guild-preview
60
- # Discord documentation "Get Guild Preview"
61
- def get_guild_preview(guild_id:)
62
- send_request(:get, "/guilds/#{guild_id}/preview")
63
- end
64
-
65
- ##
66
- # @param guild_id [#to_s]
67
- # {https://discord.com/developers/docs/reference#snowflakes Discord
68
- # documentation "Snowflakes"}
69
- # @param json [#to_json] JSON serializable payload
70
- #
71
- # @return [Response]
72
- #
73
- # @raise [TimeoutError] if the HTTP request times out
74
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
75
- #
76
- # @see https://discord.com/developers/docs/resources/guild#modify-guild
77
- # Discord documentation "Modify Guild"
78
- def modify_guild(guild_id:, json:)
79
- send_request(:patch, "/guilds/#{guild_id}", json:)
80
- end
81
-
82
- ##
83
- # @param guild_id [#to_s]
84
- # {https://discord.com/developers/docs/reference#snowflakes Discord
85
- # documentation "Snowflakes"}
86
- #
87
- # @return [Response]
88
- #
89
- # @raise [TimeoutError] if the HTTP request times out
90
- #
91
- # @see https://discord.com/developers/docs/resources/guild#delete-guild
92
- # Discord documentation "Delete Guild"
93
- def delete_guild(guild_id:)
94
- send_request(:delete, "/guilds/#{guild_id}")
95
- end
96
-
97
- ##
98
- # @param guild_id [#to_s]
99
- # {https://discord.com/developers/docs/reference#snowflakes Discord
100
- # documentation "Snowflakes"}
101
- #
102
- # @return [Response]
103
- #
104
- # @raise [TimeoutError] if the HTTP request times out
105
- #
106
- # @see https://discord.com/developers/docs/resources/guild#get-guild-channels
107
- # Discord documentation "Get Guild Channels"
108
- def get_guild_channels(guild_id:)
109
- send_request(:get, "/guilds/#{guild_id}/channels")
110
- end
111
-
112
- ##
113
- # @param guild_id [#to_s]
114
- # {https://discord.com/developers/docs/reference#snowflakes Discord
115
- # documentation "Snowflakes"}
116
- # @param json [#to_json] JSON serializable payload
117
- #
118
- # @return [Response]
119
- #
120
- # @raise [TimeoutError] if the HTTP request times out
121
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
122
- #
123
- # @see https://discord.com/developers/docs/resources/guild#create-guild-channel
124
- # Discord documentation "Create Guild Channel"
125
- def create_guild_channel(guild_id:, json:)
126
- send_request(:post, "/guilds/#{guild_id}/channels", json:)
127
- end
128
-
129
- ##
130
- # @param guild_id [#to_s]
131
- # {https://discord.com/developers/docs/reference#snowflakes Discord
132
- # documentation "Snowflakes"}
133
- # @param json [#to_json] JSON serializable payload
134
- #
135
- # @return [Response]
136
- #
137
- # @raise [TimeoutError] if the HTTP request times out
138
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
139
- #
140
- # @see https://discord.com/developers/docs/resources/guild#modify-guild-channel-positions
141
- # Discord documentation "Modify Guild Channel Positions"
142
- def modify_guild_channel_positions(guild_id:, json:)
143
- send_request(:patch, "/guilds/#{guild_id}/channels", json:)
144
- end
145
-
146
- ##
147
- # @param guild_id [#to_s]
148
- # {https://discord.com/developers/docs/reference#snowflakes Discord
149
- # documentation "Snowflakes"}
150
- #
151
- # @return [Response]
152
- #
153
- # @raise [TimeoutError] if the HTTP request times out
154
- #
155
- # @see https://discord.com/developers/docs/resources/guild#list-active-guild-threads
156
- # Discord documentation "List Active Guild Threads"
157
- def list_active_guild_threads(guild_id:)
158
- send_request(:get, "/guilds/#{guild_id}/threads/active")
159
- end
160
-
161
- ##
162
- # @param guild_id [#to_s]
163
- # {https://discord.com/developers/docs/reference#snowflakes Discord
164
- # documentation "Snowflakes"}
165
- # @param user_id [#to_s]
166
- # {https://discord.com/developers/docs/reference#snowflakes Discord
167
- # documentation "Snowflakes"}
168
- #
169
- # @return [Response]
170
- #
171
- # @raise [TimeoutError] if the HTTP request times out
172
- #
173
- # @see https://discord.com/developers/docs/resources/guild#get-guild-member
174
- # Discord documentation "Get Guild Member"
175
- def get_guild_member(guild_id:, user_id:)
176
- send_request(:get, "/guilds/#{guild_id}/members/#{user_id}")
177
- end
178
-
179
- ##
180
- # @param guild_id [#to_s]
181
- # {https://discord.com/developers/docs/reference#snowflakes Discord
182
- # documentation "Snowflakes"}
183
- # @param params [Hash] optional HTTP query parameters
184
- #
185
- # @return [Response]
186
- #
187
- # @raise [TimeoutError] if the HTTP request times out
188
- # @raise [ConstraintError] if +params+ cannot be coerced into a valid query
189
- # parameters string
190
- #
191
- # @see https://discord.com/developers/docs/resources/guild#list-guild-members
192
- # Discord documentation "List Guild Members"
193
- def list_guild_members(guild_id:, params: {})
194
- send_request(:get, "/guilds/#{guild_id}/members", params:)
195
- end
196
-
197
- ##
198
- # @param guild_id [#to_s]
199
- # {https://discord.com/developers/docs/reference#snowflakes Discord
200
- # documentation "Snowflakes"}
201
- # @param params [Hash] optional HTTP query parameters
202
- #
203
- # @return [Response]
204
- #
205
- # @raise [TimeoutError] if the HTTP request times out
206
- # @raise [ConstraintError] if +params+ cannot be coerced into a valid query
207
- # parameters string
208
- #
209
- # @see https://discord.com/developers/docs/resources/guild#search-guild-members
210
- # Discord documentation "Search Guild Members"
211
- def search_guild_members(guild_id:, params: {})
212
- send_request(:get, "/guilds/#{guild_id}/members/search", params:)
213
- end
214
-
215
- ##
216
- # @param guild_id [#to_s]
217
- # {https://discord.com/developers/docs/reference#snowflakes Discord
218
- # documentation "Snowflakes"}
219
- # @param user_id [#to_s]
220
- # {https://discord.com/developers/docs/reference#snowflakes Discord
221
- # documentation "Snowflakes"}
222
- # @param json [#to_json] JSON serializable payload
223
- #
224
- # @return [Response]
225
- #
226
- # @raise [TimeoutError] if the HTTP request times out
227
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
228
- #
229
- # @see https://discord.com/developers/docs/resources/guild#add-guild-member
230
- # Discord documentation "Add Guild Member"
231
- def add_guild_member(guild_id:, user_id:, json:)
232
- send_request(:put, "/guilds/#{guild_id}/members/#{user_id}", json:)
233
- end
234
-
235
- ##
236
- # @param guild_id [#to_s]
237
- # {https://discord.com/developers/docs/reference#snowflakes Discord
238
- # documentation "Snowflakes"}
239
- # @param user_id [#to_s]
240
- # {https://discord.com/developers/docs/reference#snowflakes Discord
241
- # documentation "Snowflakes"}
242
- # @param json [#to_json] JSON serializable payload
243
- #
244
- # @return [Response]
245
- #
246
- # @raise [TimeoutError] if the HTTP request times out
247
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
248
- #
249
- # @see https://discord.com/developers/docs/resources/guild#modify-guild-member
250
- # Discord documentation "Modify Guild Member"
251
- def modify_guild_member(guild_id:, user_id:, json:)
252
- send_request(:patch, "/guilds/#{guild_id}/members/#{user_id}", json:)
253
- end
254
-
255
- ##
256
- # @param guild_id [#to_s]
257
- # {https://discord.com/developers/docs/reference#snowflakes Discord
258
- # documentation "Snowflakes"}
259
- # @param json [#to_json] JSON serializable payload
260
- #
261
- # @return [Response]
262
- #
263
- # @raise [TimeoutError] if the HTTP request times out
264
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
265
- #
266
- # @see https://discord.com/developers/docs/resources/guild#modify-current-member
267
- # Discord documentation "Modify Current Member"
268
- def modify_current_member(guild_id:, json:)
269
- send_request(:patch, "/guilds/#{guild_id}/members/@me", json:)
270
- end
271
-
272
- ##
273
- # @deprecated Use {#modify_current_member} instead.
274
- #
275
- # @param guild_id [#to_s]
276
- # {https://discord.com/developers/docs/reference#snowflakes Discord
277
- # documentation "Snowflakes"}
278
- # @param json [#to_json] JSON serializable payload
279
- #
280
- # @return [Response]
281
- #
282
- # @raise [TimeoutError] if the HTTP request times out
283
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
284
- #
285
- # @see https://discord.com/developers/docs/resources/guild#modify-current-user-nick
286
- # Discord documentation "Modify Current User Nick"
287
- def modify_current_user_nick(guild_id:, json:)
288
- send_request(:patch, "/guilds/#{guild_id}/members/@me/nick", json:)
289
- end
290
-
291
- ##
292
- # @param guild_id [#to_s]
293
- # {https://discord.com/developers/docs/reference#snowflakes Discord
294
- # documentation "Snowflakes"}
295
- # @param user_id [#to_s]
296
- # {https://discord.com/developers/docs/reference#snowflakes Discord
297
- # documentation "Snowflakes"}
298
- # @param role_id [#to_s]
299
- # {https://discord.com/developers/docs/reference#snowflakes Discord
300
- # documentation "Snowflakes"}
301
- #
302
- # @return [Response]
303
- #
304
- # @raise [TimeoutError] if the HTTP request times out
305
- #
306
- # @see https://discord.com/developers/docs/resources/guild#add-guild-member-role
307
- # Discord documentation "Add Guild Member Role"
308
- def add_guild_member_role(guild_id:, user_id:, role_id:)
309
- send_request(:put, "/guilds/#{guild_id}/members/#{user_id}/roles/#{role_id}")
310
- end
311
-
312
- ##
313
- # @param guild_id [#to_s]
314
- # {https://discord.com/developers/docs/reference#snowflakes Discord
315
- # documentation "Snowflakes"}
316
- # @param user_id [#to_s]
317
- # {https://discord.com/developers/docs/reference#snowflakes Discord
318
- # documentation "Snowflakes"}
319
- # @param role_id [#to_s]
320
- # {https://discord.com/developers/docs/reference#snowflakes Discord
321
- # documentation "Snowflakes"}
322
- #
323
- # @return [Response]
324
- #
325
- # @raise [TimeoutError] if the HTTP request times out
326
- #
327
- # @see https://discord.com/developers/docs/resources/guild#remove-guild-member-role
328
- # Discord documentation "Remove Guild Member Role"
329
- def remove_guild_member_role(guild_id:, user_id:, role_id:)
330
- send_request(:delete, "/guilds/#{guild_id}/members/#{user_id}/roles/#{role_id}")
331
- end
332
-
333
- ##
334
- # @param guild_id [#to_s]
335
- # {https://discord.com/developers/docs/reference#snowflakes Discord
336
- # documentation "Snowflakes"}
337
- # @param user_id [#to_s]
338
- # {https://discord.com/developers/docs/reference#snowflakes Discord
339
- # documentation "Snowflakes"}
340
- #
341
- # @return [Response]
342
- #
343
- # @raise [TimeoutError] if the HTTP request times out
344
- #
345
- # @see https://discord.com/developers/docs/resources/guild#remove-guild-member
346
- # Discord documentation "Remove Guild Member"
347
- def remove_guild_member(guild_id:, user_id:)
348
- send_request(:delete, "/guilds/#{guild_id}/members/#{user_id}")
349
- end
350
-
351
- ##
352
- # @param guild_id [#to_s]
353
- # {https://discord.com/developers/docs/reference#snowflakes Discord
354
- # documentation "Snowflakes"}
355
- # @param params [Hash] optional HTTP query parameters
356
- #
357
- # @return [Response]
358
- #
359
- # @raise [TimeoutError] if the HTTP request times out
360
- # @raise [ConstraintError] if +params+ cannot be coerced into a valid query
361
- # parameters string
362
- #
363
- # @see https://discord.com/developers/docs/resources/guild#get-guild-bans
364
- # Discord documentation "Get Guild Bans"
365
- def get_guild_bans(guild_id:, params: {})
366
- send_request(:get, "/guilds/#{guild_id}/bans", params:)
367
- end
368
-
369
- ##
370
- # @param guild_id [#to_s]
371
- # {https://discord.com/developers/docs/reference#snowflakes Discord
372
- # documentation "Snowflakes"}
373
- # @param user_id [#to_s]
374
- # {https://discord.com/developers/docs/reference#snowflakes Discord
375
- # documentation "Snowflakes"}
376
- #
377
- # @return [Response]
378
- #
379
- # @raise [TimeoutError] if the HTTP request times out
380
- #
381
- # @see https://discord.com/developers/docs/resources/guild#get-guild-ban
382
- # Discord documentation "Get Guild Ban"
383
- def get_guild_ban(guild_id:, user_id:)
384
- send_request(:get, "/guilds/#{guild_id}/bans/#{user_id}")
385
- end
386
-
387
- ##
388
- # @param guild_id [#to_s]
389
- # {https://discord.com/developers/docs/reference#snowflakes Discord
390
- # documentation "Snowflakes"}
391
- # @param user_id [#to_s]
392
- # {https://discord.com/developers/docs/reference#snowflakes Discord
393
- # documentation "Snowflakes"}
394
- # @param json [#to_json] JSON serializable payload
395
- #
396
- # @return [Response]
397
- #
398
- # @raise [TimeoutError] if the HTTP request times out
399
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
400
- #
401
- # @see https://discord.com/developers/docs/resources/guild#create-guild-ban
402
- # Discord documentation "Create Guild Ban"
403
- def create_guild_ban(guild_id:, user_id:, json:)
404
- send_request(:put, "/guilds/#{guild_id}/bans/#{user_id}", json:)
405
- end
406
-
407
- ##
408
- # @param guild_id [#to_s]
409
- # {https://discord.com/developers/docs/reference#snowflakes Discord
410
- # documentation "Snowflakes"}
411
- # @param user_id [#to_s]
412
- # {https://discord.com/developers/docs/reference#snowflakes Discord
413
- # documentation "Snowflakes"}
414
- #
415
- # @return [Response]
416
- #
417
- # @raise [TimeoutError] if the HTTP request times out
418
- #
419
- # @see https://discord.com/developers/docs/resources/guild#remove-guild-ban
420
- # Discord documentation "Remove Guild Ban"
421
- def remove_guild_ban(guild_id:, user_id:)
422
- send_request(:delete, "/guilds/#{guild_id}/bans/#{user_id}")
423
- end
424
-
425
- ##
426
- # @param guild_id [#to_s]
427
- # {https://discord.com/developers/docs/reference#snowflakes Discord
428
- # documentation "Snowflakes"}
429
- # @param json [#to_json] JSON serializable payload
430
- #
431
- # @return [Response]
432
- #
433
- # @raise [TimeoutError] if the HTTP request times out
434
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
435
- #
436
- # @see https://discord.com/developers/docs/resources/guild#bulk-guild-ban
437
- # Discord documentation "Bulk Guild Ban"
438
- def bulk_guild_ban(guild_id:, json:)
439
- send_request(:post, "/guilds/#{guild_id}/bulk-ban", json:)
440
- end
441
-
442
- ##
443
- # @param guild_id [#to_s]
444
- # {https://discord.com/developers/docs/reference#snowflakes Discord
445
- # documentation "Snowflakes"}
446
- #
447
- # @return [Response]
448
- #
449
- # @raise [TimeoutError] if the HTTP request times out
450
- #
451
- # @see https://discord.com/developers/docs/resources/guild#get-guild-roles
452
- # Discord documentation "Get Guild Roles"
453
- def get_guild_roles(guild_id:)
454
- send_request(:get, "/guilds/#{guild_id}/roles")
455
- end
456
-
457
- ##
458
- # @param guild_id [#to_s]
459
- # {https://discord.com/developers/docs/reference#snowflakes Discord
460
- # documentation "Snowflakes"}
461
- # @param json [#to_json] JSON serializable payload
462
- #
463
- # @return [Response]
464
- #
465
- # @raise [TimeoutError] if the HTTP request times out
466
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
467
- #
468
- # @see https://discord.com/developers/docs/resources/guild#create-guild-role
469
- # Discord documentation "Create Guild Role"
470
- def create_guild_role(guild_id:, json:)
471
- send_request(:post, "/guilds/#{guild_id}/roles", json:)
472
- end
473
-
474
- ##
475
- # @param guild_id [#to_s]
476
- # {https://discord.com/developers/docs/reference#snowflakes Discord
477
- # documentation "Snowflakes"}
478
- # @param json [#to_json] JSON serializable payload
479
- #
480
- # @return [Response]
481
- #
482
- # @raise [TimeoutError] if the HTTP request times out
483
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
484
- #
485
- # @see https://discord.com/developers/docs/resources/guild#modify-guild-role-positions
486
- # Discord documentation "Modify Guild Role Positions"
487
- def modify_guild_role_positions(guild_id:, json:)
488
- send_request(:patch, "/guilds/#{guild_id}/roles", json:)
489
- end
490
-
491
- ##
492
- # @param guild_id [#to_s]
493
- # {https://discord.com/developers/docs/reference#snowflakes Discord
494
- # documentation "Snowflakes"}
495
- # @param role_id [#to_s]
496
- # {https://discord.com/developers/docs/reference#snowflakes Discord
497
- # documentation "Snowflakes"}
498
- # @param json [#to_json] JSON serializable payload
499
- #
500
- # @return [Response]
501
- #
502
- # @raise [TimeoutError] if the HTTP request times out
503
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
504
- #
505
- # @see https://discord.com/developers/docs/resources/guild#modify-guild-role
506
- # Discord documentation "Modify Guild Role"
507
- def modify_guild_role(guild_id:, role_id:, json:)
508
- send_request(:patch, "/guilds/#{guild_id}/roles/#{role_id}", json:)
509
- end
510
-
511
- ##
512
- # @param guild_id [#to_s]
513
- # {https://discord.com/developers/docs/reference#snowflakes Discord
514
- # documentation "Snowflakes"}
515
- # @param json [#to_json] JSON serializable payload
516
- #
517
- # @return [Response]
518
- #
519
- # @raise [TimeoutError] if the HTTP request times out
520
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
521
- #
522
- # @see https://discord.com/developers/docs/resources/guild#modify-guild-mfa-level
523
- # Discord documentation "Modify Guild MFA level"
524
- def modify_guild_mfa_level(guild_id:, json:)
525
- send_request(:post, "/guilds/#{guild_id}/mfa", json:)
526
- end
527
-
528
- ##
529
- # @param guild_id [#to_s]
530
- # {https://discord.com/developers/docs/reference#snowflakes Discord
531
- # documentation "Snowflakes"}
532
- # @param role_id [#to_s]
533
- # {https://discord.com/developers/docs/reference#snowflakes Discord
534
- # documentation "Snowflakes"}
535
- #
536
- # @return [Response]
537
- #
538
- # @raise [TimeoutError] if the HTTP request times out
539
- #
540
- # @see https://discord.com/developers/docs/resources/guild#delete-guild-role
541
- # Discord documentation "Delete Guild Role"
542
- def delete_guild_role(guild_id:, role_id:)
543
- send_request(:delete, "/guilds/#{guild_id}/roles/#{role_id}")
544
- end
545
-
546
- ##
547
- # @param guild_id [#to_s]
548
- # {https://discord.com/developers/docs/reference#snowflakes Discord
549
- # documentation "Snowflakes"}
550
- # @param params [Hash] optional HTTP query parameters
551
- #
552
- # @return [Response]
553
- #
554
- # @raise [TimeoutError] if the HTTP request times out
555
- # @raise [ConstraintError] if +params+ cannot be coerced into a valid query
556
- # parameters string
557
- #
558
- # @see https://discord.com/developers/docs/resources/guild#get-guild-prune-count
559
- # Discord documentation "Get Guild Prune Count"
560
- def get_guild_prune_count(guild_id:, params: {})
561
- send_request(:get, "/guilds/#{guild_id}/prune", params:)
562
- end
563
-
564
- ##
565
- # @param guild_id [#to_s]
566
- # {https://discord.com/developers/docs/reference#snowflakes Discord
567
- # documentation "Snowflakes"}
568
- # @param json [#to_json] JSON serializable payload
569
- #
570
- # @return [Response]
571
- #
572
- # @raise [TimeoutError] if the HTTP request times out
573
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
574
- #
575
- # @see https://discord.com/developers/docs/resources/guild#begin-guild-prune
576
- # Discord documentation "Begin Guild Prune"
577
- def begin_guild_prune(guild_id:, json:)
578
- send_request(:post, "/guilds/#{guild_id}/prune", json:)
579
- end
580
-
581
- ##
582
- # @param guild_id [#to_s]
583
- # {https://discord.com/developers/docs/reference#snowflakes Discord
584
- # documentation "Snowflakes"}
585
- #
586
- # @return [Response]
587
- #
588
- # @raise [TimeoutError] if the HTTP request times out
589
- #
590
- # @see https://discord.com/developers/docs/resources/guild#get-guild-voice-regions
591
- # Discord documentation "Get Guild Voice Regions"
592
- def get_guild_voice_regions(guild_id:)
593
- send_request(:get, "/guilds/#{guild_id}/regions")
594
- end
595
-
596
- ##
597
- # @param guild_id [#to_s]
598
- # {https://discord.com/developers/docs/reference#snowflakes Discord
599
- # documentation "Snowflakes"}
600
- #
601
- # @return [Response]
602
- #
603
- # @raise [TimeoutError] if the HTTP request times out
604
- #
605
- # @see https://discord.com/developers/docs/resources/guild#get-guild-invites
606
- # Discord documentation "Get Guild Invites"
607
- def get_guild_invites(guild_id:)
608
- send_request(:get, "/guilds/#{guild_id}/invites")
609
- end
610
-
611
- ##
612
- # @param guild_id [#to_s]
613
- # {https://discord.com/developers/docs/reference#snowflakes Discord
614
- # documentation "Snowflakes"}
615
- #
616
- # @return [Response]
617
- #
618
- # @raise [TimeoutError] if the HTTP request times out
619
- #
620
- # @see https://discord.com/developers/docs/resources/guild#get-guild-integrations
621
- # Discord documentation "Get Guild Integrations"
622
- def get_guild_integrations(guild_id:)
623
- send_request(:get, "/guilds/#{guild_id}/integrations")
624
- end
625
-
626
- ##
627
- # @param guild_id [#to_s]
628
- # {https://discord.com/developers/docs/reference#snowflakes Discord
629
- # documentation "Snowflakes"}
630
- # @param integration_id [#to_s]
631
- # {https://discord.com/developers/docs/reference#snowflakes Discord
632
- # documentation "Snowflakes"}
633
- #
634
- # @return [Response]
635
- #
636
- # @raise [TimeoutError] if the HTTP request times out
637
- #
638
- # @see https://discord.com/developers/docs/resources/guild#delete-guild-integration
639
- # Discord documentation "Delete Guild Integration"
640
- def delete_guild_integration(guild_id:, integration_id:)
641
- send_request(:delete, "/guilds/#{guild_id}/integrations/#{integration_id}")
642
- end
643
-
644
- ##
645
- # @param guild_id [#to_s]
646
- # {https://discord.com/developers/docs/reference#snowflakes Discord
647
- # documentation "Snowflakes"}
648
- #
649
- # @return [Response]
650
- #
651
- # @raise [TimeoutError] if the HTTP request times out
652
- #
653
- # @see https://discord.com/developers/docs/resources/guild#get-guild-widget-settings
654
- # Discord documentation "Get Guild Widget Settings"
655
- def get_guild_widget_settings(guild_id:)
656
- send_request(:get, "/guilds/#{guild_id}/widget")
657
- end
658
-
659
- ##
660
- # @param guild_id [#to_s]
661
- # {https://discord.com/developers/docs/reference#snowflakes Discord
662
- # documentation "Snowflakes"}
663
- # @param json [#to_json] JSON serializable payload
664
- #
665
- # @return [Response]
666
- #
667
- # @raise [TimeoutError] if the HTTP request times out
668
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
669
- #
670
- # @see https://discord.com/developers/docs/resources/guild#modify-guild-widget
671
- # Discord documentation "Modify Guild Widget"
672
- def modify_guild_widget(guild_id:, json:)
673
- send_request(:patch, "/guilds/#{guild_id}/widget", json:)
674
- end
675
-
676
- ##
677
- # @param guild_id [#to_s]
678
- # {https://discord.com/developers/docs/reference#snowflakes Discord
679
- # documentation "Snowflakes"}
680
- #
681
- # @return [Response]
682
- #
683
- # @raise [TimeoutError] if the HTTP request times out
684
- #
685
- # @see https://discord.com/developers/docs/resources/guild#get-guild-widget
686
- # Discord documentation "Get Guild Widget"
687
- def get_guild_widget(guild_id:)
688
- send_request(:get, "/guilds/#{guild_id}/widget.json")
689
- end
690
-
691
- ##
692
- # @param guild_id [#to_s]
693
- # {https://discord.com/developers/docs/reference#snowflakes Discord
694
- # documentation "Snowflakes"}
695
- #
696
- # @return [Response]
697
- #
698
- # @raise [TimeoutError] if the HTTP request times out
699
- #
700
- # @see https://discord.com/developers/docs/resources/guild#get-guild-vanity-url
701
- # Discord documentation "Get Guild Vanity URL"
702
- def get_guild_vanity_url(guild_id:)
703
- send_request(:get, "/guilds/#{guild_id}/vanity-url")
704
- end
705
-
706
- ##
707
- # @param guild_id [#to_s]
708
- # {https://discord.com/developers/docs/reference#snowflakes Discord
709
- # documentation "Snowflakes"}
710
- # @param params [Hash] optional HTTP query parameters
711
- #
712
- # @return [Response]
713
- #
714
- # @raise [TimeoutError] if the HTTP request times out
715
- # @raise [ConstraintError] if +params+ cannot be coerced into a valid query
716
- # parameters string
717
- #
718
- # @see https://discord.com/developers/docs/resources/guild#get-guild-widget-image
719
- # Discord documentation "Get Guild Widget Image"
720
- def get_guild_widget_image(guild_id:, params: {})
721
- send_request(
722
- :get,
723
- "/guilds/#{guild_id}/widget.png",
724
- http_client: client,
725
- params:
726
- )
727
- end
728
-
729
- ##
730
- # @param guild_id [#to_s]
731
- # {https://discord.com/developers/docs/reference#snowflakes Discord
732
- # documentation "Snowflakes"}
733
- #
734
- # @return [Response]
735
- #
736
- # @raise [TimeoutError] if the HTTP request times out
737
- #
738
- # @see https://discord.com/developers/docs/resources/guild#get-guild-welcome-screen
739
- # Discord documentation "Get Guild Welcome Screen"
740
- def get_guild_welcome_screen(guild_id:)
741
- send_request(:get, "/guilds/#{guild_id}/welcome-screen")
742
- end
743
-
744
- ##
745
- # @param guild_id [#to_s]
746
- # {https://discord.com/developers/docs/reference#snowflakes Discord
747
- # documentation "Snowflakes"}
748
- # @param json [#to_json] JSON serializable payload
749
- #
750
- # @return [Response]
751
- #
752
- # @raise [TimeoutError] if the HTTP request times out
753
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
754
- #
755
- # @see https://discord.com/developers/docs/resources/guild#modify-guild-welcome-screen
756
- # Discord documentation "Modify Guild Welcome Screen"
757
- def modify_guild_welcome_screen(guild_id:, json:)
758
- send_request(:patch, "/guilds/#{guild_id}/welcome-screen", json:)
759
- end
760
-
761
- ##
762
- # @param guild_id [#to_s]
763
- # {https://discord.com/developers/docs/reference#snowflakes Discord
764
- # documentation "Snowflakes"}
765
- #
766
- # @return [Response]
767
- #
768
- # @raise [TimeoutError] if the HTTP request times out
769
- #
770
- # @see https://discord.com/developers/docs/resources/guild#get-guild-onboarding
771
- # Discord documentation "Get Guild Onboarding"
772
- def get_guild_onboarding(guild_id:)
773
- send_request(:get, "/guilds/#{guild_id}/onboarding")
774
- end
775
-
776
- ##
777
- # @param guild_id [#to_s]
778
- # {https://discord.com/developers/docs/reference#snowflakes Discord
779
- # documentation "Snowflakes"}
780
- # @param json [#to_json] JSON serializable payload
781
- #
782
- # @return [Response]
783
- #
784
- # @raise [TimeoutError] if the HTTP request times out
785
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
786
- #
787
- # @see https://discord.com/developers/docs/resources/guild#modify-guild-onboarding
788
- # Discord documentation "Modify Guild Onboarding"
789
- def modify_guild_onboarding(guild_id:, json:)
790
- send_request(:put, "/guilds/#{guild_id}/onboarding", json:)
791
- end
792
-
793
- ##
794
- # @param guild_id [#to_s]
795
- # {https://discord.com/developers/docs/reference#snowflakes Discord
796
- # documentation "Snowflakes"}
797
- # @param json [#to_json] JSON serializable payload
798
- #
799
- # @return [Response]
800
- #
801
- # @raise [TimeoutError] if the HTTP request times out
802
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
803
- #
804
- # @see https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state
805
- # Discord documentation "Modify Current User Voice State"
806
- def modify_current_user_voice_state(guild_id:, json:)
807
- send_request(:patch, "/guilds/#{guild_id}/voice-states/@me", json:)
808
- end
809
-
810
- ##
811
- # @param guild_id [#to_s]
812
- # {https://discord.com/developers/docs/reference#snowflakes Discord
813
- # documentation "Snowflakes"}
814
- # @param user_id [#to_s]
815
- # {https://discord.com/developers/docs/reference#snowflakes Discord
816
- # documentation "Snowflakes"}
817
- # @param json [#to_json] JSON serializable payload
818
- #
819
- # @return [Response]
820
- #
821
- # @raise [TimeoutError] if the HTTP request times out
822
- # @raise [ConstraintError] if +json+ cannot be serialized to JSON
823
- #
824
- # @see https://discord.com/developers/docs/resources/guild#modify-user-voice-state
825
- # Discord documentation "Modify User Voice State"
826
- def modify_user_voice_state(guild_id:, user_id:, json:)
827
- send_request(:patch, "/guilds/#{guild_id}/voice-states/#{user_id}", json:)
828
- end
829
- end
830
- end