disrb 0.1.0 → 0.1.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.
- checksums.yaml +4 -4
- data/README.md +28 -1
- data/lib/disrb/guild.rb +186 -185
- data/lib/disrb/logger.rb +27 -13
- data/lib/disrb/message.rb +3 -3
- data/lib/disrb/user.rb +37 -39
- data/lib/disrb.rb +172 -68
- metadata +1 -1
data/lib/disrb/guild.rb
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
# DiscordApi
|
|
4
4
|
# The class that contains everything that interacts with the Discord API.
|
|
5
5
|
class DiscordApi
|
|
6
|
-
def create_guild(name, region
|
|
7
|
-
explicit_content_filter
|
|
8
|
-
system_channel_id
|
|
6
|
+
def create_guild(name, region: nil, icon: nil, verification_level: nil, default_message_notifications: nil,
|
|
7
|
+
explicit_content_filter: nil, roles: nil, channels: nil, afk_channel_id: nil, afk_timeout: nil,
|
|
8
|
+
system_channel_id: nil, system_channel_flags: nil)
|
|
9
9
|
output = {}
|
|
10
10
|
output[:name] = name
|
|
11
11
|
unless region.nil?
|
|
@@ -22,11 +22,11 @@ class DiscordApi
|
|
|
22
22
|
output[:afk_timeout] = afk_timeout unless afk_timeout.nil?
|
|
23
23
|
output[:system_channel_id] = system_channel_id unless system_channel_id.nil?
|
|
24
24
|
output[:system_channel_flags] = system_channel_flags unless system_channel_flags.nil?
|
|
25
|
-
url =
|
|
25
|
+
url = "#{@base_url}/guilds"
|
|
26
26
|
data = JSON.generate(output)
|
|
27
27
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
28
|
-
response =
|
|
29
|
-
return response unless response.
|
|
28
|
+
response = DiscordApi.post(url, data, headers)
|
|
29
|
+
return response unless response.status != 200
|
|
30
30
|
|
|
31
31
|
@logger.error("Could not create guild. Response: #{response.body}")
|
|
32
32
|
response
|
|
@@ -49,19 +49,19 @@ class DiscordApi
|
|
|
49
49
|
def get_guild_preview(guild_id)
|
|
50
50
|
url = URI("#{@base_url}/guilds/#{guild_id}/preview")
|
|
51
51
|
headers = { 'Authorization': @authorization_header }
|
|
52
|
-
response =
|
|
53
|
-
return response unless response.
|
|
52
|
+
response = DiscordApi.get(url, headers)
|
|
53
|
+
return response unless response.status != 200
|
|
54
54
|
|
|
55
55
|
@logger.error("Could not get guild preview with Guild ID #{guild_id}. Response: #{response.body}")
|
|
56
56
|
response
|
|
57
57
|
end
|
|
58
58
|
|
|
59
|
-
def modify_guild(guild_id, name
|
|
60
|
-
explicit_content_filter
|
|
61
|
-
splash
|
|
62
|
-
system_channel_flags
|
|
63
|
-
preferred_locale
|
|
64
|
-
safety_alerts_channel_id
|
|
59
|
+
def modify_guild(guild_id, name: nil, region: nil, verification_level: nil, default_message_notifications: nil,
|
|
60
|
+
explicit_content_filter: nil, afk_channel_id: nil, afk_timeout: nil, icon: nil, owner_id: nil,
|
|
61
|
+
splash: nil, discovery_splash: nil, banner: nil, system_channel_id: nil,
|
|
62
|
+
system_channel_flags: nil, rules_channel_id: nil, public_updates_channel_id: nil,
|
|
63
|
+
preferred_locale: nil, features: nil, description: nil, premium_progress_bar_enabled: nil,
|
|
64
|
+
safety_alerts_channel_id: nil, audit_reason: nil)
|
|
65
65
|
output = {}
|
|
66
66
|
output[:name] = name unless name.nil?
|
|
67
67
|
unless region.nil?
|
|
@@ -85,44 +85,44 @@ class DiscordApi
|
|
|
85
85
|
output[:preferred_locale] = preferred_locale unless preferred_locale.nil?
|
|
86
86
|
output[:features] = features unless features.nil?
|
|
87
87
|
output[:description] = description unless description.nil?
|
|
88
|
-
output[:premium_progress_bar_enabled] =
|
|
88
|
+
output[:premium_progress_bar_enabled] = premium_progress_bar_enabled unless premium_progress_bar_enabled.nil?
|
|
89
89
|
output[:safety_alerts_channel_id] = safety_alerts_channel_id unless safety_alerts_channel_id.nil?
|
|
90
|
-
url =
|
|
90
|
+
url = "#{@base_url}/guilds/#{guild_id}"
|
|
91
91
|
data = JSON.generate(output)
|
|
92
92
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
93
93
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
94
|
-
response =
|
|
95
|
-
return response unless response.
|
|
94
|
+
response = DiscordApi.patch(url, headers, data)
|
|
95
|
+
return response unless response.status != 200
|
|
96
96
|
|
|
97
97
|
@logger.error("Could not modify guild with Guild ID #{guild_id}. Response: #{response.body}")
|
|
98
98
|
response
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
def delete_guild(guild_id)
|
|
102
|
-
url =
|
|
102
|
+
url = "#{@base_url}/guilds/#{guild_id}"
|
|
103
103
|
headers = { 'Authorization': @authorization_header }
|
|
104
|
-
response =
|
|
105
|
-
return response unless response.
|
|
104
|
+
response = DiscordApi.delete(url, headers)
|
|
105
|
+
return response unless response.status != 204
|
|
106
106
|
|
|
107
107
|
@logger.error("Could not delete guild with Guild ID #{guild_id}. Response: #{response.body}")
|
|
108
108
|
response
|
|
109
109
|
end
|
|
110
110
|
|
|
111
111
|
def get_guild_channels(guild_id)
|
|
112
|
-
url =
|
|
112
|
+
url = "#{@base_url}/guilds/#{guild_id}/channels"
|
|
113
113
|
headers = { 'Authorization': @authorization_header }
|
|
114
|
-
response =
|
|
115
|
-
return response unless response.
|
|
114
|
+
response = DiscordApi.get(url, headers)
|
|
115
|
+
return response unless response.status != 200
|
|
116
116
|
|
|
117
117
|
@logger.error("Could not get guild channels with Guild ID #{guild_id}. Response: #{response.body}")
|
|
118
118
|
response
|
|
119
119
|
end
|
|
120
120
|
|
|
121
|
-
def create_guild_channel(guild_id, name, type
|
|
122
|
-
rate_limit_per_user
|
|
123
|
-
nsfw
|
|
124
|
-
default_reaction_emoji
|
|
125
|
-
default_forum_layout
|
|
121
|
+
def create_guild_channel(guild_id, name, type: nil, topic: nil, bitrate: nil, user_limit: nil,
|
|
122
|
+
rate_limit_per_user: nil, position: nil, permission_overwrites: nil, parent_id: nil,
|
|
123
|
+
nsfw: nil, rtc_region: nil, video_quality_mode: nil, default_auto_archive_duration: nil,
|
|
124
|
+
default_reaction_emoji: nil, available_tags: nil, default_sort_order: nil,
|
|
125
|
+
default_forum_layout: nil, default_thread_rate_limit_per_user: nil, audit_reason: nil)
|
|
126
126
|
output = {}
|
|
127
127
|
output[:name] = name
|
|
128
128
|
output[:type] = type unless type.nil?
|
|
@@ -142,41 +142,40 @@ class DiscordApi
|
|
|
142
142
|
output[:default_sort_order] = default_sort_order unless default_sort_order.nil?
|
|
143
143
|
output[:default_forum_layout] = default_forum_layout unless default_forum_layout.nil?
|
|
144
144
|
unless default_thread_rate_limit_per_user.nil?
|
|
145
|
-
output[:default_thread_rate_limit_per_user] =
|
|
146
|
-
default_thread_rate_limit_per_user
|
|
145
|
+
output[:default_thread_rate_limit_per_user] = default_thread_rate_limit_per_user
|
|
147
146
|
end
|
|
148
|
-
url =
|
|
147
|
+
url = "#{@base_url}/guilds/#{guild_id}/channels"
|
|
149
148
|
data = JSON.generate(output)
|
|
150
149
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
151
150
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
152
|
-
response =
|
|
153
|
-
return response unless response.
|
|
151
|
+
response = DiscordApi.post(url, data, headers)
|
|
152
|
+
return response unless response.status != 200
|
|
154
153
|
|
|
155
154
|
@logger.error("Could not create guild channel in Guild ID #{guild_id}. Response: #{response.body}")
|
|
156
155
|
response
|
|
157
156
|
end
|
|
158
157
|
|
|
159
|
-
def modify_guild_channel_positions(guild_id, channel_id, position
|
|
158
|
+
def modify_guild_channel_positions(guild_id, channel_id, position: nil, lock_permissions: nil, parent_id: nil)
|
|
160
159
|
output = {}
|
|
161
160
|
output[:id] = channel_id
|
|
162
161
|
output[:position] = position unless position.nil?
|
|
163
162
|
output[:lock_permissions] = lock_permissions unless lock_permissions.nil?
|
|
164
163
|
output[:parent_id] = parent_id unless parent_id.nil?
|
|
165
|
-
url =
|
|
164
|
+
url = "#{@base_url}/guilds/#{guild_id}/channels"
|
|
166
165
|
data = JSON.generate(output)
|
|
167
166
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
168
|
-
response =
|
|
169
|
-
return response unless response.
|
|
167
|
+
response = DiscordApi.patch(url, headers, data)
|
|
168
|
+
return response unless response.status != 200
|
|
170
169
|
|
|
171
170
|
@logger.error("Could not modify guild channel positions with Guild ID #{guild_id}. Response: #{response.body}")
|
|
172
171
|
response
|
|
173
172
|
end
|
|
174
173
|
|
|
175
174
|
def list_active_guild_threads(guild_id)
|
|
176
|
-
url =
|
|
175
|
+
url = "#{@base_url}/guilds/#{guild_id}/threads/active"
|
|
177
176
|
headers = { 'Authorization': @authorization_header }
|
|
178
|
-
response =
|
|
179
|
-
return response unless response.
|
|
177
|
+
response = DiscordApi.get(url, headers)
|
|
178
|
+
return response unless response.status != 200
|
|
180
179
|
|
|
181
180
|
@logger.error("Could not list active guild threads with Guild ID #{guild_id}. Response: #{response.body}")
|
|
182
181
|
response
|
|
@@ -193,15 +192,15 @@ class DiscordApi
|
|
|
193
192
|
response
|
|
194
193
|
end
|
|
195
194
|
|
|
196
|
-
def list_guild_members(guild_id, limit
|
|
195
|
+
def list_guild_members(guild_id, limit: nil, after: nil)
|
|
197
196
|
query_string_hash = {}
|
|
198
|
-
query_string_hash[:limit] = limit
|
|
199
|
-
query_string_hash[:after] = after
|
|
197
|
+
query_string_hash[:limit] = limit unless limit.nil?
|
|
198
|
+
query_string_hash[:after] = after unless after.nil?
|
|
200
199
|
query_string = DiscordApi.handle_query_strings(query_string_hash)
|
|
201
|
-
url =
|
|
200
|
+
url = "#{@base_url}/guilds/#{guild_id}/members#{query_string}"
|
|
202
201
|
headers = { 'Authorization': @authorization_header }
|
|
203
|
-
response =
|
|
204
|
-
return response unless response.
|
|
202
|
+
response = DiscordApi.get(url, headers)
|
|
203
|
+
return response unless response.status != 200
|
|
205
204
|
|
|
206
205
|
@logger.error("Could not list members with Guild ID #{guild_id}. Response: #{response.body}")
|
|
207
206
|
response
|
|
@@ -210,7 +209,7 @@ class DiscordApi
|
|
|
210
209
|
def search_guild_members(guild_id, query, limit = nil)
|
|
211
210
|
query_string_hash = {}
|
|
212
211
|
query_string_hash[:query] = query
|
|
213
|
-
query_string_hash[:limit] = limit
|
|
212
|
+
query_string_hash[:limit] = limit unless limit.nil?
|
|
214
213
|
query_string = DiscordApi.handle_query_strings(query_string_hash)
|
|
215
214
|
url = "#{@base_url}/guilds/#{guild_id}/members/search#{query_string}"
|
|
216
215
|
headers = { 'Authorization': @authorization_header }
|
|
@@ -221,20 +220,20 @@ class DiscordApi
|
|
|
221
220
|
response
|
|
222
221
|
end
|
|
223
222
|
|
|
224
|
-
def add_guild_member(guild_id, user_id, access_token, nick
|
|
223
|
+
def add_guild_member(guild_id, user_id, access_token, nick: nil, roles: nil, mute: nil, deaf: nil)
|
|
225
224
|
output = {}
|
|
226
225
|
output[:access_token] = access_token
|
|
227
226
|
output[:nick] = nick unless nick.nil?
|
|
228
227
|
output[:roles] = roles unless roles.nil?
|
|
229
228
|
output[:mute] = mute unless mute.nil?
|
|
230
229
|
output[:deaf] = deaf unless deaf.nil?
|
|
231
|
-
url =
|
|
230
|
+
url = "#{@base_url}/guilds/#{guild_id}/members/#{user_id}"
|
|
232
231
|
data = JSON.generate(output)
|
|
233
232
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
234
|
-
response =
|
|
235
|
-
if response.
|
|
233
|
+
response = DiscordApi.put(url, data, headers)
|
|
234
|
+
if response.status == 204
|
|
236
235
|
@logger.warn("User with ID #{user_id} is already a member of the guild with ID #{guild_id}.")
|
|
237
|
-
elsif response.
|
|
236
|
+
elsif response.status == 201
|
|
238
237
|
@logger.info("Added user with ID #{user_id} to guild with ID #{guild_id}.")
|
|
239
238
|
else
|
|
240
239
|
@logger.error("Could not add user with ID #{user_id} to guild with ID #{guild_id}. Response: #{response.body}")
|
|
@@ -242,63 +241,63 @@ class DiscordApi
|
|
|
242
241
|
response
|
|
243
242
|
end
|
|
244
243
|
|
|
245
|
-
def modify_guild_member(guild_id, user_id, nick
|
|
246
|
-
communication_disabled_until
|
|
244
|
+
def modify_guild_member(guild_id, user_id, nick: nil, roles: nil, mute: nil, deaf: nil, channel_id: nil,
|
|
245
|
+
communication_disabled_until: nil, flags: nil, audit_reason: nil)
|
|
247
246
|
output = {}
|
|
248
247
|
output[:nick] = nick unless nick.nil?
|
|
249
248
|
output[:roles] = roles unless roles.nil?
|
|
250
249
|
output[:mute] = mute unless mute.nil?
|
|
251
250
|
output[:deaf] = deaf unless deaf.nil?
|
|
252
251
|
output[:channel_id] = channel_id unless channel_id.nil?
|
|
253
|
-
output[:communication_disabled_until] = communication_disabled_until
|
|
252
|
+
output[:communication_disabled_until] = communication_disabled_until unless communication_disabled_until.nil?
|
|
254
253
|
output[:flags] = flags unless flags.nil?
|
|
255
|
-
url =
|
|
254
|
+
url = "#{@base_url}/guilds/#{guild_id}/members/#{user_id}"
|
|
256
255
|
data = JSON.generate(output)
|
|
257
256
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
258
257
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
259
|
-
response =
|
|
260
|
-
return response unless response.
|
|
258
|
+
response = DiscordApi.patch(url, data, headers)
|
|
259
|
+
return response unless response.status != 200
|
|
261
260
|
|
|
262
261
|
@logger.error("Could not modify guild member with Guild ID #{guild_id} and User ID #{user_id}. " \
|
|
263
262
|
"Response: #{response.body}")
|
|
264
263
|
response
|
|
265
264
|
end
|
|
266
265
|
|
|
267
|
-
def modify_current_member(guild_id, nick
|
|
266
|
+
def modify_current_member(guild_id, nick: nil, audit_reason: nil)
|
|
268
267
|
output = {}
|
|
269
268
|
output[:nick] = nick unless nick.nil?
|
|
270
|
-
url =
|
|
269
|
+
url = "#{@base_url}/guilds/#{guild_id}/members/@me"
|
|
271
270
|
data = JSON.generate(output)
|
|
272
271
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
273
272
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
274
|
-
response =
|
|
275
|
-
return response unless response.
|
|
273
|
+
response = DiscordApi.patch(url, data, headers)
|
|
274
|
+
return response unless response.status != 200
|
|
276
275
|
|
|
277
276
|
@logger.error("Could not modify current member in guild with Guild ID #{guild_id}. Response: #{response.body}")
|
|
278
277
|
response
|
|
279
278
|
end
|
|
280
279
|
|
|
281
|
-
def modify_current_user_nick(guild_id, nick
|
|
280
|
+
def modify_current_user_nick(guild_id, nick: nil, audit_reason: nil)
|
|
282
281
|
@logger.warn('The "Modify Current User Nick" endpoint has been deprecated and should not be used!')
|
|
283
282
|
output = {}
|
|
284
283
|
output[:nick] = nick unless nick.nil?
|
|
285
|
-
url =
|
|
284
|
+
url = "#{@base_url}/guilds/#{guild_id}/users/@me/nick"
|
|
286
285
|
data = JSON.generate(output)
|
|
287
286
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
288
287
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
289
|
-
response =
|
|
290
|
-
return response unless response.
|
|
288
|
+
response = DiscordApi.patch(url, data, headers)
|
|
289
|
+
return response unless response.status != 200
|
|
291
290
|
|
|
292
291
|
@logger.error("Could not modify current user nick in guild with ID #{guild_id}. Response: #{response.body}")
|
|
293
292
|
response
|
|
294
293
|
end
|
|
295
294
|
|
|
296
295
|
def add_guild_member_role(guild_id, user_id, role_id, audit_reason = nil)
|
|
297
|
-
url =
|
|
296
|
+
url = "#{@base_url}/guilds/#{guild_id}/members/#{user_id}/roles/#{role_id}"
|
|
298
297
|
headers = { 'Authorization': @authorization_header }
|
|
299
298
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
300
|
-
response =
|
|
301
|
-
return response unless response.
|
|
299
|
+
response = DiscordApi.put(url, nil, headers)
|
|
300
|
+
return response unless response.status != 204
|
|
302
301
|
|
|
303
302
|
@logger.error("Could not add role with ID #{role_id}, to user with ID #{user_id} in guild with ID #{guild_id}." \
|
|
304
303
|
" Response: #{response.body}")
|
|
@@ -306,20 +305,18 @@ class DiscordApi
|
|
|
306
305
|
end
|
|
307
306
|
|
|
308
307
|
def remove_guild_member_role(guild_id, user_id, role_id, audit_reason = nil)
|
|
309
|
-
url =
|
|
308
|
+
url = "#{@base_url}/guilds/#{guild_id}/members/#{user_id}/roles/#{role_id}"
|
|
310
309
|
headers = { 'Authorization': @authorization_header }
|
|
311
310
|
headers['x-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
312
|
-
response =
|
|
313
|
-
return response unless response.
|
|
311
|
+
response = DiscordApi.delete(url, headers)
|
|
312
|
+
return response unless response.status != 204
|
|
314
313
|
|
|
315
314
|
@logger.error("Could not remove role with ID #{role_id}, from user with ID #{user_id}" \
|
|
316
315
|
" in guild with ID #{guild_id}. Response: #{response.body}")
|
|
317
316
|
response
|
|
318
317
|
end
|
|
319
318
|
|
|
320
|
-
|
|
321
|
-
# I should probably migrate to Faraday everywhere, but for now just a temporary fix.
|
|
322
|
-
def remove_guild_member(guild_id, user_id, audit_reason: nil)
|
|
319
|
+
def remove_guild_member(guild_id, user_id, audit_reason = nil)
|
|
323
320
|
url = "#{@base_url}/guilds/#{guild_id}/members/#{user_id}"
|
|
324
321
|
headers = { 'Authorization' => @authorization_header }
|
|
325
322
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
@@ -330,7 +327,7 @@ class DiscordApi
|
|
|
330
327
|
response
|
|
331
328
|
end
|
|
332
329
|
|
|
333
|
-
def get_guild_bans(guild_id, limit
|
|
330
|
+
def get_guild_bans(guild_id, limit: nil, before: nil, after: nil)
|
|
334
331
|
query_string_hash = {}
|
|
335
332
|
query_string_hash[:limit] = limit unless limit.nil?
|
|
336
333
|
query_string_hash[:before] = before unless before.nil?
|
|
@@ -339,7 +336,7 @@ class DiscordApi
|
|
|
339
336
|
url = "#{@base_url}/guilds/#{guild_id}/bans#{query_string}"
|
|
340
337
|
headers = { 'Authorization' => @authorization_header }
|
|
341
338
|
response = DiscordApi.get(url, headers)
|
|
342
|
-
return response unless response.status !=
|
|
339
|
+
return response unless response.status != 200
|
|
343
340
|
|
|
344
341
|
@logger.error("Could not get guild bans with Guild ID #{guild_id}. Response: #{response.body}")
|
|
345
342
|
response
|
|
@@ -367,12 +364,12 @@ class DiscordApi
|
|
|
367
364
|
output[:delete_message_days] = delete_message_days
|
|
368
365
|
end
|
|
369
366
|
output[:delete_message_seconds] = delete_message_seconds unless delete_message_seconds.nil?
|
|
370
|
-
url =
|
|
367
|
+
url = "#{@base_url}/guilds/#{guild_id}/bans/#{user_id}"
|
|
371
368
|
data = JSON.generate(output)
|
|
372
369
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
373
370
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
374
|
-
response =
|
|
375
|
-
return response unless response.
|
|
371
|
+
response = DiscordApi.put(url, data, headers)
|
|
372
|
+
return response unless response.status != 204
|
|
376
373
|
|
|
377
374
|
@logger.error("Could not create guild ban for user with ID #{user_id} in guild with ID #{guild_id}." \
|
|
378
375
|
" Response: #{response.body}")
|
|
@@ -380,29 +377,29 @@ class DiscordApi
|
|
|
380
377
|
end
|
|
381
378
|
|
|
382
379
|
def remove_guild_ban(guild_id, user_id, audit_reason = nil)
|
|
383
|
-
url =
|
|
380
|
+
url = "#{@base_url}/guilds/#{guild_id}/bans/#{user_id}"
|
|
384
381
|
headers = { 'Authorization': @authorization_header }
|
|
385
382
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
386
|
-
response =
|
|
387
|
-
return response unless response.
|
|
383
|
+
response = DiscordApi.delete(url, headers)
|
|
384
|
+
return response unless response.status != 204
|
|
388
385
|
|
|
389
386
|
@logger.error("Could not remove guild ban for user with ID #{user_id} in guild with ID #{guild_id}" \
|
|
390
387
|
" Response: #{response.body}")
|
|
391
388
|
response
|
|
392
389
|
end
|
|
393
390
|
|
|
394
|
-
def bulk_guild_ban(guild_id, user_ids, delete_message_seconds
|
|
391
|
+
def bulk_guild_ban(guild_id, user_ids, delete_message_seconds: nil, audit_reason: nil)
|
|
395
392
|
output = {}
|
|
396
393
|
output[:user_ids] = user_ids unless user_ids.nil?
|
|
397
394
|
output[:delete_message_seconds] = delete_message_seconds unless delete_message_seconds.nil?
|
|
398
|
-
url =
|
|
395
|
+
url = "#{@base_url}/guilds/#{guild_id}/bulk-ban"
|
|
399
396
|
data = JSON.generate(output)
|
|
400
397
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
401
398
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
402
|
-
response =
|
|
403
|
-
return response unless response.
|
|
399
|
+
response = DiscordApi.post(url, data, headers)
|
|
400
|
+
return response unless response.status != 200
|
|
404
401
|
|
|
405
|
-
if response.
|
|
402
|
+
if response.status == 500_000
|
|
406
403
|
@logger.error("No users were banned in bulk ban in guild with ID #{guild_id}. Response: #{response.body}")
|
|
407
404
|
else
|
|
408
405
|
@logger.error("Could not bulk ban users in guild with ID #{guild_id}. Response: #{response.body}")
|
|
@@ -411,63 +408,67 @@ class DiscordApi
|
|
|
411
408
|
end
|
|
412
409
|
|
|
413
410
|
def get_guild_roles(guild_id)
|
|
414
|
-
url =
|
|
411
|
+
url = "#{@base_url}/guilds/#{guild_id}/roles"
|
|
415
412
|
headers = { 'Authorization': @authorization_header }
|
|
416
|
-
response =
|
|
417
|
-
return response unless response.
|
|
413
|
+
response = DiscordApi.get(url, headers)
|
|
414
|
+
return response unless response.status != 200
|
|
418
415
|
|
|
419
416
|
@logger.error("Could not get guild roles with Guild ID #{guild_id}. Response: #{response.body}")
|
|
420
417
|
response
|
|
421
418
|
end
|
|
422
419
|
|
|
423
420
|
def get_guild_role(guild_id, role_id)
|
|
424
|
-
url =
|
|
421
|
+
url = "#{@base_url}/guilds/#{guild_id}/roles/#{role_id}"
|
|
425
422
|
headers = { 'Authorization': @authorization_header }
|
|
426
|
-
response =
|
|
427
|
-
return response unless response.
|
|
423
|
+
response = DiscordApi.get(url, headers)
|
|
424
|
+
return response unless response.status != 200
|
|
428
425
|
|
|
429
426
|
@logger.error("Could not get role with ID #{role_id} in guild with ID #{guild_id}. Response: #{response.body}")
|
|
430
427
|
response
|
|
431
428
|
end
|
|
432
429
|
|
|
433
|
-
def create_guild_role(guild_id, name
|
|
434
|
-
unicode_emoji
|
|
430
|
+
def create_guild_role(guild_id, name: nil, permissions: nil, color: nil, colors: nil, hoist: nil, icon: nil,
|
|
431
|
+
unicode_emoji: nil, mentionable: nil, audit_reason: nil)
|
|
435
432
|
output = {}
|
|
436
433
|
output[:name] = name unless name.nil?
|
|
437
434
|
output[:permissions] = permissions unless permissions.nil?
|
|
438
|
-
|
|
435
|
+
unless color.nil?
|
|
436
|
+
@logger.warn('The "color" parameter has been deprecated and should not be used!')
|
|
437
|
+
output[:color] = color
|
|
438
|
+
end
|
|
439
|
+
output[:colors] = colors unless colors.nil?
|
|
439
440
|
output[:hoist] = hoist unless hoist.nil?
|
|
440
441
|
output[:icon] = icon unless icon.nil?
|
|
441
442
|
output[:unicode_emoji] = unicode_emoji unless unicode_emoji.nil?
|
|
442
443
|
output[:mentionable] = mentionable unless mentionable.nil?
|
|
443
|
-
url =
|
|
444
|
+
url = "#{@base_url}/guilds/#{guild_id}/roles"
|
|
444
445
|
data = JSON.generate(output)
|
|
445
446
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
446
447
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
447
|
-
response =
|
|
448
|
-
return response unless response.
|
|
448
|
+
response = DiscordApi.post(url, data, headers)
|
|
449
|
+
return response unless response.status != 200
|
|
449
450
|
|
|
450
451
|
@logger.error("Could not create guild role in guild with ID #{guild_id}. Response: #{response.body}")
|
|
451
452
|
response
|
|
452
453
|
end
|
|
453
454
|
|
|
454
|
-
def modify_guild_role_positions(guild_id, id, position
|
|
455
|
+
def modify_guild_role_positions(guild_id, id, position: nil, audit_reason: nil)
|
|
455
456
|
output = {}
|
|
456
457
|
output[:id] = id
|
|
457
458
|
output[:position] = position unless position.nil?
|
|
458
|
-
url =
|
|
459
|
+
url = "#{@base_url}/guilds/#{guild_id}/roles"
|
|
459
460
|
data = JSON.generate(output)
|
|
460
461
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
461
462
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
462
|
-
response =
|
|
463
|
-
return response unless response.
|
|
463
|
+
response = DiscordApi.patch(url, data, headers)
|
|
464
|
+
return response unless response.status != 200
|
|
464
465
|
|
|
465
466
|
@logger.error("Could not modify guild role positions in guild with ID #{guild_id}. Response: #{response.body}")
|
|
466
467
|
response
|
|
467
468
|
end
|
|
468
469
|
|
|
469
|
-
def modify_guild_role(guild_id, role_id, name
|
|
470
|
-
unicode_emoji
|
|
470
|
+
def modify_guild_role(guild_id, role_id, name: nil, permissions: nil, color: nil, hoist: nil, icon: nil,
|
|
471
|
+
unicode_emoji: nil, mentionable: nil, audit_reason: nil)
|
|
471
472
|
output = {}
|
|
472
473
|
output[:name] = name unless name.nil?
|
|
473
474
|
output[:permissions] = permissions unless permissions.nil?
|
|
@@ -476,12 +477,12 @@ class DiscordApi
|
|
|
476
477
|
output[:icon] = icon unless icon.nil?
|
|
477
478
|
output[:unicode_emoji] = unicode_emoji unless unicode_emoji.nil?
|
|
478
479
|
output[:mentionable] = mentionable unless mentionable.nil?
|
|
479
|
-
url =
|
|
480
|
+
url = "#{@base_url}/guilds/#{guild_id}/roles/#{role_id}"
|
|
480
481
|
data = JSON.generate(output)
|
|
481
482
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
482
483
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
483
|
-
response =
|
|
484
|
-
return response unless response.
|
|
484
|
+
response = DiscordApi.patch(url, data, headers)
|
|
485
|
+
return response unless response.status != 200
|
|
485
486
|
|
|
486
487
|
@logger.error("Could not modify guild role with ID #{role_id} in guild with ID #{guild_id}." \
|
|
487
488
|
" Response: #{response.body}")
|
|
@@ -490,45 +491,45 @@ class DiscordApi
|
|
|
490
491
|
|
|
491
492
|
def modify_guild_mfa_level(guild_id, level, audit_reason = nil)
|
|
492
493
|
output = {}
|
|
493
|
-
output[:level] = level
|
|
494
|
-
url =
|
|
494
|
+
output[:level] = level
|
|
495
|
+
url = "#{@base_url}/guilds/#{guild_id}/mfa"
|
|
495
496
|
data = JSON.generate(output)
|
|
496
497
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
497
498
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
498
|
-
response =
|
|
499
|
-
return unless response !=
|
|
499
|
+
response = DiscordApi.post(url, data, headers)
|
|
500
|
+
return unless response.status != 200
|
|
500
501
|
|
|
501
502
|
@logger.error("Failed to modify guild MFA level. Response: #{response.body}")
|
|
502
503
|
response
|
|
503
504
|
end
|
|
504
505
|
|
|
505
506
|
def delete_guild_role(guild_id, role_id, audit_reason = nil)
|
|
506
|
-
url =
|
|
507
|
+
url = "#{@base_url}/guilds/#{guild_id}/roles/#{role_id}"
|
|
507
508
|
headers = { 'Authorization': @authorization_header }
|
|
508
509
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
509
|
-
response =
|
|
510
|
-
return response unless response.
|
|
510
|
+
response = DiscordApi.delete(url, headers)
|
|
511
|
+
return response unless response.status != 204
|
|
511
512
|
|
|
512
513
|
@logger.error("Failed to delete guild role. Response: #{response.body}")
|
|
513
514
|
response
|
|
514
515
|
end
|
|
515
516
|
|
|
516
|
-
def get_guild_prune_count(guild_id, days
|
|
517
|
+
def get_guild_prune_count(guild_id, days: nil, include_roles: nil)
|
|
517
518
|
query_string_hash = {}
|
|
518
519
|
query_string_hash[:days] = days unless days.nil?
|
|
519
520
|
query_string_hash[:include_roles] = include_roles unless include_roles.nil?
|
|
520
521
|
query_string = DiscordApi.handle_query_strings(query_string_hash)
|
|
521
|
-
url =
|
|
522
|
+
url = "#{@base_url}/guilds/#{guild_id}/prune#{query_string}"
|
|
522
523
|
headers = { 'Authorization': @authorization_header }
|
|
523
|
-
response =
|
|
524
|
-
return response unless response.
|
|
524
|
+
response = DiscordApi.get(url, headers)
|
|
525
|
+
return response unless response.status != 200
|
|
525
526
|
|
|
526
527
|
@logger.error("Failed to get guild prune count. Response: #{response.body}")
|
|
527
528
|
response
|
|
528
529
|
end
|
|
529
530
|
|
|
530
|
-
def begin_guild_prune(guild_id, days
|
|
531
|
-
|
|
531
|
+
def begin_guild_prune(guild_id, days: nil, compute_prune_count: nil, include_roles: nil, reason: nil,
|
|
532
|
+
audit_reason: nil)
|
|
532
533
|
output = {}
|
|
533
534
|
output[:days] = days unless days.nil?
|
|
534
535
|
output[:compute_prune_count] = compute_prune_count unless compute_prune_count.nil?
|
|
@@ -537,46 +538,46 @@ class DiscordApi
|
|
|
537
538
|
@logger.warn('The "reason" parameter has been deprecated and should not be used!')
|
|
538
539
|
output[:reason] = reason
|
|
539
540
|
end
|
|
540
|
-
url =
|
|
541
|
+
url = "#{@base_url}/guilds/#{guild_id}/prune"
|
|
541
542
|
data = JSON.generate(output)
|
|
542
543
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
543
544
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
544
|
-
response =
|
|
545
|
-
return response unless response.
|
|
545
|
+
response = DiscordApi.post(url, data, headers)
|
|
546
|
+
return response unless response.status != 200
|
|
546
547
|
|
|
547
548
|
@logger.error("Failed to begin guild prune. Response: #{response.body}")
|
|
548
549
|
response
|
|
549
550
|
end
|
|
550
551
|
|
|
551
552
|
def get_guild_voice_regions(guild_id)
|
|
552
|
-
url =
|
|
553
|
+
url = "#{@base_url}/guilds/#{guild_id}/regions"
|
|
553
554
|
headers = { 'Authorization': @authorization_header }
|
|
554
|
-
response =
|
|
555
|
-
return response unless response.
|
|
555
|
+
response = DiscordApi.get(url, headers)
|
|
556
|
+
return response unless response.status != 200
|
|
556
557
|
|
|
557
558
|
@logger.error("Failed to get guild voice regions. Response: #{response.body}")
|
|
558
559
|
response
|
|
559
560
|
end
|
|
560
561
|
|
|
561
562
|
def get_guild_invites(guild_id)
|
|
562
|
-
url =
|
|
563
|
+
url = "#{@base_url}/guilds/#{guild_id}/invites"
|
|
563
564
|
headers = { 'Authorization': @authorization_header }
|
|
564
|
-
response =
|
|
565
|
-
return response unless response.
|
|
565
|
+
response = DiscordApi.get(url, headers)
|
|
566
|
+
return response unless response.status != 200
|
|
566
567
|
|
|
567
568
|
@logger.error("Failed to get guild invites. Response: #{response.body}")
|
|
568
569
|
response
|
|
569
570
|
end
|
|
570
571
|
|
|
571
572
|
def get_guild_integrations(guild_id)
|
|
572
|
-
url =
|
|
573
|
+
url = "#{@base_url}/guilds/#{guild_id}/integrations"
|
|
573
574
|
headers = { 'Authorization': @authorization_header }
|
|
574
|
-
response =
|
|
575
|
-
|
|
575
|
+
response = DiscordApi.get(url, headers)
|
|
576
|
+
if response.status == 200
|
|
576
577
|
if JSON.parse(response.body).length == 50
|
|
577
578
|
@logger.warn('The endpoint returned 50 integrations, which means there could be more integrations not shown.')
|
|
578
579
|
end
|
|
579
|
-
response
|
|
580
|
+
return response
|
|
580
581
|
end
|
|
581
582
|
|
|
582
583
|
@logger.error("Failed to get guild integrations. Response: #{response.body}")
|
|
@@ -584,59 +585,58 @@ class DiscordApi
|
|
|
584
585
|
end
|
|
585
586
|
|
|
586
587
|
def delete_guild_integration(guild_id, integration_id, audit_reason = nil)
|
|
587
|
-
url =
|
|
588
|
+
url = "#{@base_url}/guilds/#{guild_id}/integrations/#{integration_id}"
|
|
588
589
|
headers = { 'Authorization': @authorization_header }
|
|
589
590
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
590
|
-
response =
|
|
591
|
-
return response unless response.
|
|
591
|
+
response = DiscordApi.delete(url, headers)
|
|
592
|
+
return response unless response.status != 204
|
|
592
593
|
|
|
593
594
|
@logger.error("Failed to delete guild integration. Response: #{response.body}")
|
|
594
595
|
response
|
|
595
596
|
end
|
|
596
597
|
|
|
597
598
|
def get_guild_widget_settings(guild_id)
|
|
598
|
-
url =
|
|
599
|
+
url = "#{@base_url}/guilds/#{guild_id}/widget"
|
|
599
600
|
headers = { 'Authorization': @authorization_header }
|
|
600
|
-
response =
|
|
601
|
-
return response unless response.
|
|
601
|
+
response = DiscordApi.get(url, headers)
|
|
602
|
+
return response unless response.status != 200
|
|
602
603
|
|
|
603
604
|
@logger.error("Failed to get guild widget settings. Response: #{response.body}")
|
|
604
605
|
response
|
|
605
606
|
end
|
|
606
607
|
|
|
607
|
-
def modify_guild_widget(guild_id, enabled, channel_id
|
|
608
|
+
def modify_guild_widget(guild_id, enabled, channel_id, audit_reason: nil)
|
|
608
609
|
output = {}
|
|
609
610
|
output[:enabled] = enabled
|
|
610
|
-
output[:channel_id] = channel_id
|
|
611
|
-
url =
|
|
611
|
+
output[:channel_id] = channel_id
|
|
612
|
+
url = "#{@base_url}/guilds/#{guild_id}/widget"
|
|
612
613
|
data = JSON.generate(output)
|
|
613
614
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
614
615
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
615
|
-
response =
|
|
616
|
-
return response unless response.
|
|
616
|
+
response = DiscordApi.patch(url, data, headers)
|
|
617
|
+
return response unless response.status != 200
|
|
617
618
|
|
|
618
619
|
@logger.error("Failed to modify guild widget. Response: #{response.body}")
|
|
619
620
|
response
|
|
620
621
|
end
|
|
621
622
|
|
|
622
623
|
def get_guild_wiget(guild_id)
|
|
623
|
-
url =
|
|
624
|
+
url = "#{@base_url}/guilds/#{guild_id}/widget.json"
|
|
624
625
|
headers = { 'Authorization': @authorization_header }
|
|
625
|
-
response =
|
|
626
|
-
return response unless response.
|
|
626
|
+
response = DiscordApi.get(url, headers)
|
|
627
|
+
return response unless response.status != 200
|
|
627
628
|
|
|
628
629
|
@logger.error("Failed to get guild widget. Response: #{response.body}")
|
|
629
630
|
response
|
|
630
631
|
end
|
|
631
632
|
|
|
632
633
|
def get_guild_vanity_url(guild_id)
|
|
633
|
-
url =
|
|
634
|
+
url = "#{@base_url}/guilds/#{guild_id}/vanity-url"
|
|
634
635
|
headers = { 'Authorization': @authorization_header }
|
|
635
|
-
response =
|
|
636
|
-
return response unless response.
|
|
636
|
+
response = DiscordApi.get(url, headers)
|
|
637
|
+
return response unless response.status != 200
|
|
637
638
|
|
|
638
|
-
@logger.error(
|
|
639
|
-
"If you only want to get the Vanity URL, use the get_guild endpoint. Response: #{response.body}")
|
|
639
|
+
@logger.error("Failed to get guild vanity URL. Response: #{response.body}")
|
|
640
640
|
response
|
|
641
641
|
end
|
|
642
642
|
|
|
@@ -649,93 +649,94 @@ class DiscordApi
|
|
|
649
649
|
nil
|
|
650
650
|
elsif true_keys.size == 1
|
|
651
651
|
style = true_keys.first.to_s
|
|
652
|
+
else
|
|
653
|
+
style = nil
|
|
652
654
|
end
|
|
653
655
|
|
|
654
656
|
query_string_hash = {}
|
|
655
657
|
query_string_hash[:style] = style unless style.nil?
|
|
656
658
|
query_string = DiscordApi.handle_query_strings(query_string_hash)
|
|
657
659
|
|
|
658
|
-
url =
|
|
659
|
-
response =
|
|
660
|
-
return unless response.
|
|
660
|
+
url = "#{@base_url}/guilds/#{guild_id}/widget.png#{query_string}"
|
|
661
|
+
response = DiscordApi.get(url)
|
|
662
|
+
return unless response.status != 200
|
|
661
663
|
|
|
662
664
|
@logger.error("Failed to get guild widget image. Response: #{response.body}")
|
|
663
665
|
response
|
|
664
666
|
end
|
|
665
667
|
|
|
666
668
|
def get_guild_welcome_screen(guild_id)
|
|
667
|
-
url =
|
|
669
|
+
url = "#{@base_url}/guilds/#{guild_id}/welcome-screen"
|
|
668
670
|
headers = { 'Authorization': @authorization_header }
|
|
669
|
-
response =
|
|
670
|
-
return response unless response.
|
|
671
|
+
response = DiscordApi.get(url, headers)
|
|
672
|
+
return response unless response.status != 200
|
|
671
673
|
|
|
672
674
|
@logger.error("Failed to get guild welcome screen. Response: #{response.body}")
|
|
673
675
|
response
|
|
674
676
|
end
|
|
675
677
|
|
|
676
|
-
def modify_guild_welcome_screen(guild_id, enabled
|
|
677
|
-
audit_reason
|
|
678
|
+
def modify_guild_welcome_screen(guild_id, enabled: nil, welcome_channels: nil, description: nil,
|
|
679
|
+
audit_reason: nil)
|
|
678
680
|
output = {}
|
|
679
681
|
output[:enabled] = enabled unless enabled.nil?
|
|
680
682
|
output[:welcome_channels] = welcome_channels unless welcome_channels.nil?
|
|
681
683
|
output[:description] = description unless description.nil?
|
|
682
|
-
url =
|
|
684
|
+
url = "#{@base_url}/guilds/#{guild_id}/welcome-screen"
|
|
683
685
|
data = JSON.generate(output)
|
|
684
686
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
685
687
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
686
|
-
response =
|
|
687
|
-
return response unless response.
|
|
688
|
+
response = DiscordApi.patch(url, data, headers)
|
|
689
|
+
return response unless response.status != 200
|
|
688
690
|
|
|
689
691
|
@logger.error("Failed to modify guild welcome screen. Response: #{response.body}")
|
|
690
692
|
response
|
|
691
693
|
end
|
|
692
694
|
|
|
693
695
|
def get_guild_onboarding(guild_id)
|
|
694
|
-
url =
|
|
696
|
+
url = "#{@base_url}/guilds/#{guild_id}/onboarding"
|
|
695
697
|
headers = { 'Authorization': @authorization_header }
|
|
696
|
-
response =
|
|
697
|
-
return response unless response.
|
|
698
|
+
response = DiscordApi.get(url, headers)
|
|
699
|
+
return response unless response.status != 200
|
|
698
700
|
|
|
699
701
|
@logger.error("Failed to get guild onboarding. Response: #{response.body}")
|
|
700
702
|
response
|
|
701
703
|
end
|
|
702
704
|
|
|
703
|
-
def modify_guild_onboarding(guild_id, prompts, default_channel_ids, enabled, mode
|
|
705
|
+
def modify_guild_onboarding(guild_id, prompts: nil, default_channel_ids: nil, enabled: nil, mode: nil,
|
|
706
|
+
audit_reason: nil)
|
|
704
707
|
output = {}
|
|
705
|
-
output[:prompts] = prompts
|
|
706
|
-
output[:default_channel_ids] = default_channel_ids
|
|
707
|
-
output[:enabled] = enabled
|
|
708
|
-
output[:mode] = mode
|
|
709
|
-
url =
|
|
708
|
+
output[:prompts] = prompts unless prompts.nil?
|
|
709
|
+
output[:default_channel_ids] = default_channel_ids unless default_channel_ids.nil?
|
|
710
|
+
output[:enabled] = enabled unless enabled.nil?
|
|
711
|
+
output[:mode] = mode unless mode.nil?
|
|
712
|
+
url = "#{@base_url}/guilds/#{guild_id}/onboarding"
|
|
710
713
|
data = JSON.generate(output)
|
|
711
714
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
712
715
|
headers['X-Audit-Log-Reason'] = audit_reason unless audit_reason.nil?
|
|
713
|
-
response =
|
|
714
|
-
return response unless response.
|
|
716
|
+
response = DiscordApi.put(url, data, headers)
|
|
717
|
+
return response unless response.status != 200
|
|
715
718
|
|
|
716
719
|
@logger.error("Failed to modify guild onboarding. Response: #{response.body}")
|
|
717
720
|
response
|
|
718
721
|
end
|
|
719
722
|
|
|
720
|
-
def modify_guild_incident_actions(guild_id, invites_disabled_until
|
|
723
|
+
def modify_guild_incident_actions(guild_id, invites_disabled_until: nil, dms_disabled_until: nil)
|
|
721
724
|
output = {}
|
|
722
|
-
# if only discord wouldn't of have required to set a variable to null for some functionality
|
|
723
725
|
if invites_disabled_until == false
|
|
724
726
|
output[:invites_disabled_until] = nil
|
|
725
|
-
elsif !invites_disabled_until.nil?
|
|
727
|
+
elsif !invites_disabled_until.nil?
|
|
726
728
|
output[:invites_disabled_until] = invites_disabled_until
|
|
727
729
|
end
|
|
728
730
|
if dms_disabled_until == false
|
|
729
731
|
output[:dms_disabled_until] = nil
|
|
730
|
-
elsif !dms_disabled_until.nil?
|
|
732
|
+
elsif !dms_disabled_until.nil?
|
|
731
733
|
output[:dms_disabled_until] = dms_disabled_until
|
|
732
734
|
end
|
|
733
|
-
url =
|
|
735
|
+
url = "#{@base_url}/guilds/#{guild_id}/incident-actions"
|
|
734
736
|
data = JSON.generate(output)
|
|
735
737
|
headers = { 'Authorization': @authorization_header, 'Content-Type': 'application/json' }
|
|
736
|
-
response =
|
|
737
|
-
|
|
738
|
-
return response unless response.code != '200'
|
|
738
|
+
response = DiscordApi.put(url, data, headers)
|
|
739
|
+
return response unless response.status != 200
|
|
739
740
|
|
|
740
741
|
@logger.error("Failed to modify guild incident actions. Response: #{response.body}")
|
|
741
742
|
response
|