discorb 0.13.3 → 0.13.4
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/CODE_OF_CONDUCT.md +128 -0
- data/Changelog.md +8 -0
- data/lib/discorb/app_command.rb +24 -2
- data/lib/discorb/channel.rb +42 -49
- data/lib/discorb/client.rb +7 -7
- data/lib/discorb/common.rb +30 -1
- data/lib/discorb/dictionary.rb +10 -2
- data/lib/discorb/emoji.rb +2 -2
- data/lib/discorb/event.rb +4 -4
- data/lib/discorb/gateway.rb +26 -5
- data/lib/discorb/guild.rb +47 -67
- data/lib/discorb/guild_template.rb +3 -3
- data/lib/discorb/http.rb +25 -158
- data/lib/discorb/integration.rb +1 -1
- data/lib/discorb/interaction/autocomplete.rb +1 -1
- data/lib/discorb/interaction/response.rb +8 -8
- data/lib/discorb/invite.rb +1 -1
- data/lib/discorb/log.rb +3 -2
- data/lib/discorb/member.rb +3 -3
- data/lib/discorb/message.rb +5 -5
- data/lib/discorb/modules.rb +10 -10
- data/lib/discorb/presence.rb +2 -2
- data/lib/discorb/rate_limit.rb +14 -18
- data/lib/discorb/role.rb +3 -3
- data/lib/discorb/sticker.rb +2 -2
- data/lib/discorb/user.rb +3 -3
- data/lib/discorb/voice_state.rb +4 -2
- data/lib/discorb/webhook.rb +8 -5
- metadata +3 -2
data/lib/discorb/event.rb
CHANGED
@@ -164,7 +164,7 @@ module Discorb
|
|
164
164
|
else
|
165
165
|
raise ArgumentError, "Invalid scheduled event type: #{type}"
|
166
166
|
end
|
167
|
-
@client.http.
|
167
|
+
@client.http.request(Route.new("/guilds/#{@guild_id}/scheduled-events/#{@id}", "//guilds/:guild_id/scheduled-events/:scheduled_event_id", :patch), payload).wait
|
168
168
|
end
|
169
169
|
end
|
170
170
|
|
@@ -201,7 +201,7 @@ module Discorb
|
|
201
201
|
#
|
202
202
|
def delete!
|
203
203
|
Async do
|
204
|
-
@client.http.
|
204
|
+
@client.http.request(Route.new("/guilds/#{@guild_id}/scheduled-events/#{@id}", "//guilds/:guild_id/scheduled-events/:scheduled_event_id", :delete)).wait
|
205
205
|
end
|
206
206
|
end
|
207
207
|
|
@@ -227,7 +227,7 @@ module Discorb
|
|
227
227
|
after = 0
|
228
228
|
res = []
|
229
229
|
while true
|
230
|
-
_resp, users = @client.http.
|
230
|
+
_resp, users = @client.http.request(Route.new("/guilds/#{@guild_id}/scheduled-events/#{@id}/users?limit=100&after=#{after}&with_member=true", "//guilds/:guild_id/scheduled-events/:scheduled_event_id/users", :get)).wait
|
231
231
|
if users.empty?
|
232
232
|
break
|
233
233
|
end
|
@@ -242,7 +242,7 @@ module Discorb
|
|
242
242
|
after: Discorb::Utils.try(around, :id),
|
243
243
|
with_member: with_member,
|
244
244
|
}.filter { |_k, v| !v.nil? }.to_h
|
245
|
-
_resp, messages = @client.http.
|
245
|
+
_resp, messages = @client.http.request(Route.new("/channels/#{channel_id.wait}/messages?#{URI.encode_www_form(params)}", "//channels/:channel_id/messages", :get)).wait
|
246
246
|
messages.map { |m| Message.new(@client, m.merge({ guild_id: @guild_id.to_s })) }
|
247
247
|
end
|
248
248
|
end
|
data/lib/discorb/gateway.rb
CHANGED
@@ -528,16 +528,24 @@ module Discorb
|
|
528
528
|
module Handler
|
529
529
|
private
|
530
530
|
|
531
|
-
def connect_gateway(reconnect,
|
531
|
+
def connect_gateway(reconnect, force_close: false)
|
532
532
|
if reconnect
|
533
533
|
@log.info "Reconnecting to gateway..."
|
534
534
|
else
|
535
535
|
@log.info "Connecting to gateway..."
|
536
536
|
end
|
537
537
|
Async do
|
538
|
-
@connection
|
538
|
+
if @connection
|
539
|
+
Async do
|
540
|
+
if force_close
|
541
|
+
@connection.force_close
|
542
|
+
else
|
543
|
+
@connection.close
|
544
|
+
end
|
545
|
+
end
|
546
|
+
end
|
539
547
|
@http = HTTP.new(self)
|
540
|
-
_, gateway_response = @http.
|
548
|
+
_, gateway_response = @http.request(Route.new("/gateway", "//gateway", :get)).wait
|
541
549
|
gateway_url = gateway_response[:url]
|
542
550
|
endpoint = Async::HTTP::Endpoint.parse("#{gateway_url}?v=9&encoding=json&compress=zlib-stream",
|
543
551
|
alpn_protocols: Async::HTTP::Protocol::HTTP11.names)
|
@@ -562,9 +570,15 @@ module Discorb
|
|
562
570
|
end
|
563
571
|
end
|
564
572
|
end
|
565
|
-
rescue Async::Wrapper::Cancelled,
|
573
|
+
rescue Async::Wrapper::Cancelled,
|
574
|
+
OpenSSL::SSL::SSLError,
|
575
|
+
Async::Wrapper::WaitError,
|
576
|
+
EOFError,
|
577
|
+
Errno::EPIPE,
|
578
|
+
Errno::ECONNRESET,
|
579
|
+
IOError => e
|
566
580
|
@log.error "Gateway connection closed accidentally: #{e.class}: #{e.message}"
|
567
|
-
connect_gateway(true,
|
581
|
+
connect_gateway(true, force_close: true)
|
568
582
|
else # should never happen
|
569
583
|
connect_gateway(true)
|
570
584
|
end
|
@@ -1168,6 +1182,13 @@ module Discorb
|
|
1168
1182
|
def close
|
1169
1183
|
super
|
1170
1184
|
@closed = true
|
1185
|
+
rescue
|
1186
|
+
force_close
|
1187
|
+
end
|
1188
|
+
|
1189
|
+
def force_close
|
1190
|
+
@framer.instance_variable_get(:@stream).close
|
1191
|
+
@closed = true
|
1171
1192
|
end
|
1172
1193
|
|
1173
1194
|
def parse(buffer)
|
data/lib/discorb/guild.rb
CHANGED
@@ -168,7 +168,7 @@ module Discorb
|
|
168
168
|
#
|
169
169
|
def leave!
|
170
170
|
Async do
|
171
|
-
@client.http.
|
171
|
+
@client.http.request(Route.new("/users/@me/guilds/#{@id}", "//users/@me/guilds/:guild_id", :delete)).wait
|
172
172
|
@client.guilds.delete(@id)
|
173
173
|
end
|
174
174
|
end
|
@@ -184,7 +184,7 @@ module Discorb
|
|
184
184
|
#
|
185
185
|
def fetch_scheduled_events(with_user_count: true)
|
186
186
|
Async do
|
187
|
-
_resp, events = @client.http.
|
187
|
+
_resp, events = @client.http.request(Route.new("/guilds/#{@id}/scheduled-events?with_user_count=#{with_user_count}", "//guilds/:guild_id/scheduled-events", :get)).wait
|
188
188
|
@scheduled_events = events.map { |e| ScheduledEvent.new(@client, e) }
|
189
189
|
end
|
190
190
|
end
|
@@ -200,7 +200,7 @@ module Discorb
|
|
200
200
|
#
|
201
201
|
def fetch_scheduled_event(id)
|
202
202
|
Async do
|
203
|
-
_resp, event = @client.http.
|
203
|
+
_resp, event = @client.http.request(Route.new("/guilds/#{@id}/scheduled-events/#{id}", "//guilds/:guild_id/scheduled-events/:scheduled_event_id", :get)).wait
|
204
204
|
rescue Discorb::NotFoundError
|
205
205
|
return nil
|
206
206
|
else
|
@@ -274,7 +274,7 @@ module Discorb
|
|
274
274
|
else
|
275
275
|
raise ArgumentError, "Invalid scheduled event type: #{type}"
|
276
276
|
end
|
277
|
-
_resp, event = @client.http.
|
277
|
+
_resp, event = @client.http.request(Route.new("/guilds/#{@id}/scheduled-events", "//guilds/:guild_id/scheduled-events", :post), payload).wait
|
278
278
|
Discorb::ScheduledEvent.new(@client, event)
|
279
279
|
end
|
280
280
|
end
|
@@ -288,7 +288,7 @@ module Discorb
|
|
288
288
|
#
|
289
289
|
def fetch_emoji_list
|
290
290
|
Async do
|
291
|
-
_resp, data = @client.http.
|
291
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/emojis", "//guilds/:guild_id/emojis", :get)).wait
|
292
292
|
@emojis = Dictionary.new
|
293
293
|
ids = @emojis.map(&:id).map(&:to_s)
|
294
294
|
data.map do |e|
|
@@ -312,7 +312,7 @@ module Discorb
|
|
312
312
|
# @return [Async::Task<Discorb::CustomEmoji>] The emoji with the given id.
|
313
313
|
#
|
314
314
|
def fetch_emoji(id)
|
315
|
-
_resp, data = @client.http.
|
315
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/emojis/#{id}", "//guilds/:guild_id/emojis/:emoji_id", :get)).wait
|
316
316
|
@emojis[e[:id]] = CustomEmoji.new(@client, self, data)
|
317
317
|
end
|
318
318
|
|
@@ -327,14 +327,12 @@ module Discorb
|
|
327
327
|
# @return [Async::Task<Discorb::CustomEmoji>] The created emoji.
|
328
328
|
#
|
329
329
|
def create_emoji(name, image, roles: [])
|
330
|
-
_resp, data = @client.http.post
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
}
|
337
|
-
).wait
|
330
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/emojis", "//guilds/:guild_id/emojis", :post),
|
331
|
+
{
|
332
|
+
name: name,
|
333
|
+
image: image.to_s,
|
334
|
+
roles: roles.map { |r| Discorb::Utils.try(r, :id) },
|
335
|
+
}).wait
|
338
336
|
@emojis[data[:id]] = CustomEmoji.new(@client, self, data)
|
339
337
|
end
|
340
338
|
|
@@ -346,7 +344,7 @@ module Discorb
|
|
346
344
|
#
|
347
345
|
def fetch_webhooks
|
348
346
|
Async do
|
349
|
-
_resp, data = @client.http.
|
347
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/webhooks", "//guilds/:guild_id/webhooks", :get)).wait
|
350
348
|
data.map { |webhook| Webhook.new([@client, webhook]) }
|
351
349
|
end
|
352
350
|
end
|
@@ -359,7 +357,7 @@ module Discorb
|
|
359
357
|
#
|
360
358
|
def fetch_audit_log
|
361
359
|
Async do
|
362
|
-
_resp, data = @client.http.
|
360
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/audit-logs", "//guilds/:guild_id/audit-logs", :get)).wait
|
363
361
|
AuditLog.new(@client, data, self)
|
364
362
|
end
|
365
363
|
end
|
@@ -372,7 +370,7 @@ module Discorb
|
|
372
370
|
#
|
373
371
|
def fetch_channels
|
374
372
|
Async do
|
375
|
-
_resp, data = @client.http.
|
373
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/channels", "//guilds/:guild_id/channels", :get)).wait
|
376
374
|
data.map { |c| Channel.make_channel(@client, c) }
|
377
375
|
end
|
378
376
|
end
|
@@ -415,9 +413,7 @@ module Discorb
|
|
415
413
|
end
|
416
414
|
end
|
417
415
|
payload[:parent_id] = parent.id if parent
|
418
|
-
_resp, data = @client.http.post
|
419
|
-
"/guilds/#{@id}/channels", payload, audit_log_reason: reason,
|
420
|
-
).wait
|
416
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/channels", "//guilds/:guild_id/channels", :post), payload, audit_log_reason: reason).wait
|
421
417
|
payload[:parent_id] = parent&.id
|
422
418
|
Channel.make_channel(@client, data)
|
423
419
|
end
|
@@ -457,9 +453,7 @@ module Discorb
|
|
457
453
|
end
|
458
454
|
end
|
459
455
|
payload[:parent_id] = parent.id if parent
|
460
|
-
_resp, data = @client.http.post
|
461
|
-
"/guilds/#{@id}/channels", payload, audit_log_reason: reason,
|
462
|
-
).wait
|
456
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/channels", "//guilds/:guild_id/channels", :post), payload, audit_log_reason: reason).wait
|
463
457
|
payload[:parent_id] = parent&.id
|
464
458
|
Channel.make_channel(@client, data)
|
465
459
|
end
|
@@ -492,9 +486,7 @@ module Discorb
|
|
492
486
|
end
|
493
487
|
end
|
494
488
|
payload[:parent_id] = parent&.id
|
495
|
-
_resp, data = @client.http.post
|
496
|
-
"/guilds/#{@id}/channels", payload, audit_log_reason: reason,
|
497
|
-
).wait
|
489
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/channels", "//guilds/:guild_id/channels", :post), payload, audit_log_reason: reason).wait
|
498
490
|
Channel.make_channel(@client, data)
|
499
491
|
end
|
500
492
|
end
|
@@ -531,9 +523,7 @@ module Discorb
|
|
531
523
|
end
|
532
524
|
end
|
533
525
|
payload[:parent_id] = parent&.id
|
534
|
-
_resp, data = @client.http.post
|
535
|
-
"/guilds/#{@id}/channels", payload, audit_log_reason: reason,
|
536
|
-
).wait
|
526
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/channels", "//guilds/:guild_id/channels", :post), payload, audit_log_reason: reason).wait
|
537
527
|
Channel.make_channel(@client, data)
|
538
528
|
end
|
539
529
|
end
|
@@ -576,9 +566,7 @@ module Discorb
|
|
576
566
|
end
|
577
567
|
payload[:nsfw] = nsfw unless nsfw.nil?
|
578
568
|
payload[:parent_id] = parent&.id
|
579
|
-
_resp, data = @client.http.post
|
580
|
-
"/guilds/#{@id}/channels", payload, audit_log_reason: reason,
|
581
|
-
).wait
|
569
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/channels", "//guilds/:guild_id/channels", :post), payload, audit_log_reason: reason).wait
|
582
570
|
Channel.make_channel(@client, data)
|
583
571
|
end
|
584
572
|
end
|
@@ -591,7 +579,7 @@ module Discorb
|
|
591
579
|
#
|
592
580
|
def fetch_active_threads
|
593
581
|
Async do
|
594
|
-
_resp, data = @client.http.
|
582
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/threads/active", "//guilds/:guild_id/threads/active", :get)).wait
|
595
583
|
data[:threads].map { |t| Channel.make_thread(@client, t) }
|
596
584
|
end
|
597
585
|
end
|
@@ -607,7 +595,7 @@ module Discorb
|
|
607
595
|
#
|
608
596
|
def fetch_member(id)
|
609
597
|
Async do
|
610
|
-
_resp, data = @client.http.
|
598
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/members/#{id}", "//guilds/:guild_id/members/:user_id", :get)).wait
|
611
599
|
rescue Discorb::NotFoundError
|
612
600
|
nil
|
613
601
|
else
|
@@ -627,14 +615,14 @@ module Discorb
|
|
627
615
|
def fetch_members(limit: 0, after: nil)
|
628
616
|
Async do
|
629
617
|
unless limit == 0
|
630
|
-
_resp, data = @client.http.
|
618
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/members?#{URI.encode_www_form({ after: after, limit: limit })}", "//guilds/:guild_id/members", :get)).wait
|
631
619
|
next data[:members].map { |m| Member.new(@client, @id, m[:user], m) }
|
632
620
|
end
|
633
621
|
ret = []
|
634
622
|
after = 0
|
635
623
|
loop do
|
636
624
|
params = { after: after, limit: 100 }
|
637
|
-
_resp, data = @client.http.
|
625
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/members?#{URI.encode_www_form(params)}", "//guilds/:guild_id/members", :get)).wait
|
638
626
|
ret += data.map { |m| Member.new(@client, @id, m[:user], m) }
|
639
627
|
after = data.last[:user][:id]
|
640
628
|
if data.length != 1000
|
@@ -658,7 +646,7 @@ module Discorb
|
|
658
646
|
#
|
659
647
|
def fetch_members_named(name, limit: 1)
|
660
648
|
Async do
|
661
|
-
_resp, data = @client.http.
|
649
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/members/search?#{URI.encode_www_form({ query: name, limit: limit })}", "//guilds/:guild_id/members/search", :get)).wait
|
662
650
|
data.map { |d| Member.new(@client, @id, d[:user], d) }
|
663
651
|
end
|
664
652
|
end
|
@@ -687,7 +675,7 @@ module Discorb
|
|
687
675
|
#
|
688
676
|
def edit_nickname(nickname, reason: nil)
|
689
677
|
Async do
|
690
|
-
@client.http.
|
678
|
+
@client.http.request(Route.new("/guilds/#{@id}/members/@me/nick", "//guilds/:guild_id/members/@me/nick", :patch), { nick: nickname }, audit_log_reason: reason).wait
|
691
679
|
end
|
692
680
|
end
|
693
681
|
|
@@ -706,7 +694,7 @@ module Discorb
|
|
706
694
|
#
|
707
695
|
def kick_member(member, reason: nil)
|
708
696
|
Async do
|
709
|
-
@client.http.
|
697
|
+
@client.http.request(Route.new("/guilds/#{@id}/members/#{member.id}", "//guilds/:guild_id/members/:user_id", :delete), audit_log_reason: reason).wait
|
710
698
|
end
|
711
699
|
end
|
712
700
|
|
@@ -718,7 +706,7 @@ module Discorb
|
|
718
706
|
#
|
719
707
|
def fetch_bans
|
720
708
|
Async do
|
721
|
-
_resp, data = @client.http.
|
709
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/bans", "//guilds/:guild_id/bans", :get)).wait
|
722
710
|
data.map { |d| Ban.new(@client, self, d) }
|
723
711
|
end
|
724
712
|
end
|
@@ -734,7 +722,7 @@ module Discorb
|
|
734
722
|
#
|
735
723
|
def fetch_ban(user)
|
736
724
|
Async do
|
737
|
-
_resp, data = @client.http.
|
725
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/bans/#{user.id}", "//guilds/:guild_id/bans/:user_id", :get)).wait
|
738
726
|
rescue Discorb::NotFoundError
|
739
727
|
nil
|
740
728
|
else
|
@@ -768,9 +756,7 @@ module Discorb
|
|
768
756
|
#
|
769
757
|
def ban_member(member, delete_message_days: 0, reason: nil)
|
770
758
|
Async do
|
771
|
-
_resp, data = @client.http.post
|
772
|
-
"/guilds/#{@id}/bans", { user: member.id, delete_message_days: delete_message_days }, audit_log_reason: reason,
|
773
|
-
).wait
|
759
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/bans", "//guilds/:guild_id/bans", :post), { user: member.id, delete_message_days: delete_message_days }, audit_log_reason: reason).wait
|
774
760
|
Ban.new(@client, self, data)
|
775
761
|
end
|
776
762
|
end
|
@@ -786,7 +772,7 @@ module Discorb
|
|
786
772
|
#
|
787
773
|
def unban_user(user, reason: nil)
|
788
774
|
Async do
|
789
|
-
@client.http.
|
775
|
+
@client.http.request(Route.new("/guilds/#{@id}/bans/#{user.id}", "//guilds/:guild_id/bans/:user_id", :delete), audit_log_reason: reason).wait
|
790
776
|
end
|
791
777
|
end
|
792
778
|
|
@@ -798,7 +784,7 @@ module Discorb
|
|
798
784
|
#
|
799
785
|
def fetch_roles
|
800
786
|
Async do
|
801
|
-
_resp, data = @client.http.
|
787
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/roles", "//guilds/:guild_id/roles", :get)).wait
|
802
788
|
data.map { |d| Role.new(@client, self, d) }
|
803
789
|
end
|
804
790
|
end
|
@@ -822,9 +808,7 @@ module Discorb
|
|
822
808
|
payload[:color] = color.to_i if color
|
823
809
|
payload[:hoist] = hoist if hoist
|
824
810
|
payload[:mentionable] = mentionable if mentionable
|
825
|
-
_resp, data = @client.http.post
|
826
|
-
"/guilds/#{@id}/roles", payload, audit_log_reason: reason,
|
827
|
-
).wait
|
811
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/roles", "//guilds/:guild_id/roles", :post), payload, audit_log_reason: reason).wait
|
828
812
|
Role.new(@client, self, data)
|
829
813
|
end
|
830
814
|
end
|
@@ -845,7 +829,7 @@ module Discorb
|
|
845
829
|
include_roles: @id.to_s,
|
846
830
|
}
|
847
831
|
param[:include_roles] = roles.map(&:id).map(&:to_s).join(";") if roles.any?
|
848
|
-
_resp, data = @client.http.
|
832
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/prune?#{URI.encode_www_form(params)}", "//guilds/:guild_id/prune", :get)).wait
|
849
833
|
data[:pruned]
|
850
834
|
end
|
851
835
|
end
|
@@ -862,9 +846,7 @@ module Discorb
|
|
862
846
|
#
|
863
847
|
def prune(days = 7, roles: [], reason: nil)
|
864
848
|
Async do
|
865
|
-
_resp, data = @client.http.post(
|
866
|
-
"/guilds/#{@id}/prune", { days: days, roles: roles.map(&:id) }, audit_log_reason: reason,
|
867
|
-
).wait
|
849
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/prune", "//guilds/:guild_id/prune", :post), { days: days, roles: roles.map(&:id) }, audit_log_reason: reason).wait
|
868
850
|
data[:pruned]
|
869
851
|
end
|
870
852
|
end
|
@@ -877,7 +859,7 @@ module Discorb
|
|
877
859
|
#
|
878
860
|
def fetch_voice_regions
|
879
861
|
Async do
|
880
|
-
_resp, data = @client.http.
|
862
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/voice", "//guilds/:guild_id/voice", :get)).wait
|
881
863
|
data.map { |d| VoiceRegion.new(@client, d) }
|
882
864
|
end
|
883
865
|
end
|
@@ -890,7 +872,7 @@ module Discorb
|
|
890
872
|
#
|
891
873
|
def fetch_invites
|
892
874
|
Async do
|
893
|
-
_resp, data = @client.http.
|
875
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/invites", "//guilds/:guild_id/invites", :get)).wait
|
894
876
|
data.map { |d| Invite.new(@client, d) }
|
895
877
|
end
|
896
878
|
end
|
@@ -903,7 +885,7 @@ module Discorb
|
|
903
885
|
#
|
904
886
|
def fetch_integrations
|
905
887
|
Async do
|
906
|
-
_resp, data = @client.http.
|
888
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/integrations", "//guilds/:guild_id/integrations", :get)).wait
|
907
889
|
data.map { |d| Integration.new(@client, d) }
|
908
890
|
end
|
909
891
|
end
|
@@ -916,7 +898,7 @@ module Discorb
|
|
916
898
|
#
|
917
899
|
def fetch_widget
|
918
900
|
Async do
|
919
|
-
_resp, data = @client.http.
|
901
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/widget", "//guilds/:guild_id/widget", :get)).wait
|
920
902
|
Widget.new(@client, @id, data)
|
921
903
|
end
|
922
904
|
end
|
@@ -929,7 +911,7 @@ module Discorb
|
|
929
911
|
#
|
930
912
|
def fetch_vanity_invite
|
931
913
|
Async do
|
932
|
-
_resp, data = @client.http.
|
914
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/vanity-url", "//guilds/:guild_id/vanity-url", :get)).wait
|
933
915
|
VanityInvite.new(@client, self, data)
|
934
916
|
end
|
935
917
|
end
|
@@ -942,7 +924,7 @@ module Discorb
|
|
942
924
|
#
|
943
925
|
def fetch_welcome_screen
|
944
926
|
Async do
|
945
|
-
_resp, data = @client.http.
|
927
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/welcome-screen", "//guilds/:guild_id/welcome-screen", :get)).wait
|
946
928
|
WelcomeScreen.new(@client, self, data)
|
947
929
|
end
|
948
930
|
end
|
@@ -955,7 +937,7 @@ module Discorb
|
|
955
937
|
#
|
956
938
|
def fetch_stickers
|
957
939
|
Async do
|
958
|
-
_resp, data = @client.http.
|
940
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/stickers", "//guilds/:guild_id/stickers", :get)).wait
|
959
941
|
data.map { |d| Sticker::GuildSticker.new(@client, d) }
|
960
942
|
end
|
961
943
|
end
|
@@ -971,7 +953,7 @@ module Discorb
|
|
971
953
|
#
|
972
954
|
def fetch_sticker(id)
|
973
955
|
Async do
|
974
|
-
_resp, data = @client.http.
|
956
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/stickers/#{id}", "//guilds/:guild_id/stickers/:sticker_id", :get)).wait
|
975
957
|
rescue Discorb::NotFoundError
|
976
958
|
nil
|
977
959
|
else
|
@@ -987,7 +969,7 @@ module Discorb
|
|
987
969
|
#
|
988
970
|
def fetch_templates
|
989
971
|
Async do
|
990
|
-
_resp, data = @client.http.
|
972
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/templates", "//guilds/:guild_id/templates", :get)).wait
|
991
973
|
data.map { |d| GuildTemplate.new(@client, d) }
|
992
974
|
end
|
993
975
|
end
|
@@ -1015,9 +997,7 @@ module Discorb
|
|
1015
997
|
#
|
1016
998
|
def create_template(name, description = nil, reason: nil)
|
1017
999
|
Async do
|
1018
|
-
_resp, data = @client.http.post
|
1019
|
-
"/guilds/#{@id}/templates", { name: name, description: description }, audit_log_reason: reason,
|
1020
|
-
).wait
|
1000
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@id}/templates", "//guilds/:guild_id/templates", :post), { name: name, description: description }, audit_log_reason: reason).wait
|
1021
1001
|
GuildTemplate.new(@client, data)
|
1022
1002
|
end
|
1023
1003
|
end
|
@@ -1097,7 +1077,7 @@ module Discorb
|
|
1097
1077
|
payload = {}
|
1098
1078
|
payload[:enabled] = enabled unless enabled.nil?
|
1099
1079
|
payload[:channel_id] = channel.id if channel_id
|
1100
|
-
@client.http.
|
1080
|
+
@client.http.request(Route.new("/guilds/#{@guild_id}/widget", "//guilds/:guild_id/widget", :patch), payload, audit_log_reason: reason).wait
|
1101
1081
|
end
|
1102
1082
|
end
|
1103
1083
|
|
@@ -1355,7 +1335,7 @@ module Discorb
|
|
1355
1335
|
payload[:enabled] = enabled unless enabled == Discorb::Unset
|
1356
1336
|
payload[:welcome_channels] = channels.map(&:to_hash) unless channels == Discorb::Unset
|
1357
1337
|
payload[:description] = description unless description == Discorb::Unset
|
1358
|
-
@client.http.
|
1338
|
+
@client.http.request(Route.new("/guilds/#{@guild.id}/welcome-screen", "//guilds/:guild_id/welcome-screen", :patch), payload, audit_log_reason: reason).wait
|
1359
1339
|
end
|
1360
1340
|
end
|
1361
1341
|
end
|
@@ -58,7 +58,7 @@ module Discorb
|
|
58
58
|
payload = {}
|
59
59
|
payload[:name] = name if name
|
60
60
|
payload[:description] = description if description != Discorb::Unset
|
61
|
-
@client.http.
|
61
|
+
@client.http.request(Route.new("/guilds/#{@source_guild_id}/templates/#{@code}", "//guilds/:guild_id/templates/:code", :patch), payload).wait
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
@@ -72,7 +72,7 @@ module Discorb
|
|
72
72
|
#
|
73
73
|
def update
|
74
74
|
Async do
|
75
|
-
_resp, data = @client.http.
|
75
|
+
_resp, data = @client.http.request(Route.new("/guilds/#{@source_guild_id}/templates/#{@code}", "//guilds/:guild_id/templates/:code", :put)).wait
|
76
76
|
_set_data(data)
|
77
77
|
end
|
78
78
|
end
|
@@ -85,7 +85,7 @@ module Discorb
|
|
85
85
|
#
|
86
86
|
def delete!
|
87
87
|
Async do
|
88
|
-
@client.http.
|
88
|
+
@client.http.request(Route.new("/guilds/#{@source_guild_id}/templates/#{@code}", "//guilds/:guild_id/templates/:code", :delete)).wait
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|