discorb 0.0.4 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,8 +16,8 @@ module Discorb
16
16
  # @return [Discorb::Application] The application that the client is using.
17
17
  # @return [nil] If never fetched application by {#fetch_application}.
18
18
  attr_reader :application
19
- # @return [Discorb::Internet] The internet client.
20
- attr_reader :internet
19
+ # @return [Discorb::HTTP] The http client.
20
+ attr_reader :http
21
21
  # @return [Integer] The heartbeat interval.
22
22
  attr_reader :heartbeat_interval
23
23
  # @return [Integer] The API version of the Discord gateway.
@@ -124,7 +124,7 @@ module Discorb
124
124
  # @param [Object] args The arguments to pass to the event.
125
125
  #
126
126
  def dispatch(event_name, *args)
127
- Async do |_task|
127
+ Async do
128
128
  if (conditions = @conditions[event_name])
129
129
  ids = Set[*conditions.map(&:first).map(&:object_id)]
130
130
  conditions.delete_if do |condition|
@@ -148,7 +148,7 @@ module Discorb
148
148
  lambda { |event_args|
149
149
  Async(annotation: "Discorb event: #{event_name}") do |task|
150
150
  @events[event_name].delete(block) if block.discriminator[:once]
151
- block.call(task, *event_args)
151
+ block.call(*event_args)
152
152
  @log.debug "Dispatched proc with ID #{block.id.inspect}"
153
153
  rescue StandardError, ScriptError => e
154
154
  message = "An error occurred while dispatching proc with ID #{block.id.inspect}\n#{e.full_message}"
@@ -187,7 +187,7 @@ module Discorb
187
187
  #
188
188
  def fetch_user(id)
189
189
  Async do
190
- _resp, data = internet.get("/users/#{id}").wait
190
+ _resp, data = http.get("/users/#{id}").wait
191
191
  User.new(self, data)
192
192
  end
193
193
  end
@@ -205,7 +205,7 @@ module Discorb
205
205
  #
206
206
  def fetch_channel(id)
207
207
  Async do
208
- _resp, data = internet.get("/channels/#{id}").wait
208
+ _resp, data = http.get("/channels/#{id}").wait
209
209
  Channel.make_channel(self, data)
210
210
  end
211
211
  end
@@ -223,7 +223,7 @@ module Discorb
223
223
  #
224
224
  def fetch_guild(id)
225
225
  Async do
226
- _resp, data = internet.get("/guilds/#{id}").wait
226
+ _resp, data = http.get("/guilds/#{id}").wait
227
227
  Guild.new(self, data, false)
228
228
  end
229
229
  end
@@ -241,7 +241,7 @@ module Discorb
241
241
  #
242
242
  def fetch_invite(code, with_count: false, with_expiration: false)
243
243
  Async do
244
- _resp, data = internet.get("/invites/#{code}?with_count=#{with_count}&with_expiration=#{with_expiration}").wait
244
+ _resp, data = http.get("/invites/#{code}?with_count=#{with_count}&with_expiration=#{with_expiration}").wait
245
245
  Invite.new(self, data, false)
246
246
  end
247
247
  end
@@ -260,7 +260,7 @@ module Discorb
260
260
  Async do
261
261
  next @application if @application && !force
262
262
 
263
- _resp, data = internet.get("/oauth2/applications/@me").wait
263
+ _resp, data = http.get("/oauth2/applications/@me").wait
264
264
  @application = Application.new(self, data)
265
265
  @application
266
266
  end
@@ -275,7 +275,7 @@ module Discorb
275
275
  #
276
276
  def fetch_nitro_sticker_packs
277
277
  Async do
278
- _resp, data = internet.get("/stickers-packs").wait
278
+ _resp, data = http.get("/stickers-packs").wait
279
279
  data.map { |pack| Sticker::Pack.new(self, pack) }
280
280
  end
281
281
  end
@@ -293,7 +293,7 @@ module Discorb
293
293
  end
294
294
  payload[:status] = status unless status.nil?
295
295
  if @connection
296
- Async do |_task|
296
+ Async do
297
297
  send_gateway(3, **payload)
298
298
  end
299
299
  else
@@ -4,7 +4,7 @@ module Discorb
4
4
  # @return [String] The API base URL.
5
5
  API_BASE_URL = "https://discord.com/api/v9"
6
6
  # @return [String] The version of discorb.
7
- VERSION = "0.0.4"
7
+ VERSION = "0.0.8"
8
8
  # @return [String] The user agent for the bot.
9
9
  USER_AGENT = "DiscordBot (https://github.com/discorb-lib/discorb #{VERSION}) Ruby/#{RUBY_VERSION}"
10
10
 
data/lib/discorb/emoji.rb CHANGED
@@ -86,7 +86,7 @@ module Discorb
86
86
  payload = {}
87
87
  payload[:name] = name if name != :unset
88
88
  payload[:roles] = roles.map { |r| Discorb::Utils.try(r, :id) } if roles != :unset
89
- @client.internet.patch("/guilds/#{@guild.id}/emojis/#{@id}", payload, audit_log_reason: reason)
89
+ @client.http.patch("/guilds/#{@guild.id}/emojis/#{@id}", payload, audit_log_reason: reason)
90
90
  self
91
91
  end
92
92
  end
@@ -104,7 +104,7 @@ module Discorb
104
104
  #
105
105
  def delete!(reason: nil)
106
106
  Async do
107
- @client.internet.delete("/guilds/#{@guild.id}/emojis/#{@id}", audit_log_reason: reason).wait
107
+ @client.http.delete("/guilds/#{@guild.id}/emojis/#{@id}", audit_log_reason: reason).wait
108
108
  @available = false
109
109
  self
110
110
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "async/http"
4
+
3
5
  module Discorb
4
6
  #
5
7
  # A module to handle gateway.
@@ -87,7 +89,7 @@ module Discorb
87
89
  #
88
90
  # @return [Discorb::Message] The message.
89
91
  def fetch_message(force: false)
90
- Async do |_task|
92
+ Async do
91
93
  next @message if !force && @message
92
94
 
93
95
  @message = @channel.fetch_message(@message_id).wait
@@ -136,7 +138,7 @@ module Discorb
136
138
  #
137
139
  # @return [Discorb::Message] The message.
138
140
  def fetch_message(force: false)
139
- Async do |_task|
141
+ Async do
140
142
  next @message if !force && @message
141
143
 
142
144
  @message = @channel.fetch_message(@message_id).wait
@@ -188,7 +190,7 @@ module Discorb
188
190
  #
189
191
  # @return [Discorb::Message] The message.
190
192
  def fetch_message(force: false)
191
- Async do |_task|
193
+ Async do
192
194
  next @message if !force && @message
193
195
 
194
196
  @message = @channel.fetch_message(@message_id).wait
@@ -453,10 +455,10 @@ module Discorb
453
455
 
454
456
  def connect_gateway(first)
455
457
  @log.info "Connecting to gateway."
456
- Async do |_task|
457
- @internet = Internet.new(self) if first
458
+ Async do
459
+ @http = HTTP.new(self) if first
458
460
  @first = first
459
- _, gateway_response = @internet.get("/gateway").wait
461
+ _, gateway_response = @http.get("/gateway").wait
460
462
  gateway_url = gateway_response[:url]
461
463
  endpoint = Async::HTTP::Endpoint.parse("#{gateway_url}?v=9&encoding=json",
462
464
  alpn_protocols: Async::HTTP::Protocol::HTTP11.names)
@@ -710,14 +712,14 @@ module Discorb
710
712
  dispatch(:member_add, nm)
711
713
  when "GUILD_MEMBER_UPDATE"
712
714
  return @log.warn "Unknown guild id #{data[:guild_id]}, ignoring" unless (guild = @guilds[data[:guild_id]])
713
- return @log.warn "Unknown member id #{data[:id]}, ignoring" unless (nm = guild.members[data[:id]])
715
+ return @log.warn "Unknown member id #{data[:user][:id]}, ignoring" unless (nm = guild.members[data[:user][:id]])
714
716
 
715
717
  old = Member.new(self, data[:guild_id], data[:user], data.update({ no_cache: true }))
716
718
  nm.send(:_set_data, data[:user], data)
717
719
  dispatch(:member_update, old, nm)
718
720
  when "GUILD_MEMBER_REMOVE"
719
721
  return @log.warn "Unknown guild id #{data[:guild_id]}, ignoring" unless (guild = @guilds[data[:guild_id]])
720
- return @log.warn "Unknown member id #{data[:id]}, ignoring" unless (member = guild.members.delete(data[:id]))
722
+ return @log.warn "Unknown member id #{data[:user][:id]}, ignoring" unless (member = guild.members.delete(data[:user][:id]))
721
723
 
722
724
  dispatch(:member_remove, member)
723
725
  when "GUILD_BAN_ADD"
data/lib/discorb/guild.rb CHANGED
@@ -164,7 +164,7 @@ module Discorb
164
164
  #
165
165
  def leave!
166
166
  Async do
167
- @client.internet.delete("/users/@me/guilds/#{@id}").wait
167
+ @client.http.delete("/users/@me/guilds/#{@id}").wait
168
168
  @client.guilds.delete(@id)
169
169
  end
170
170
  end
@@ -179,7 +179,7 @@ module Discorb
179
179
  #
180
180
  def fetch_emoji_list
181
181
  Async do
182
- _resp, data = @client.internet.get("/guilds/#{@id}/emojis").wait
182
+ _resp, data = @client.http.get("/guilds/#{@id}/emojis").wait
183
183
  @emojis = Dictionary.new
184
184
  ids = @emojis.map(&:id).map(&:to_s)
185
185
  data.map do |e|
@@ -204,7 +204,7 @@ module Discorb
204
204
  # @return [Discorb::CustomEmoji] The emoji with the given id.
205
205
  #
206
206
  def fetch_emoji(id)
207
- _resp, data = @client.internet.get("/guilds/#{@id}/emojis/#{id}").wait
207
+ _resp, data = @client.http.get("/guilds/#{@id}/emojis/#{id}").wait
208
208
  @emojis[e[:id]] = CustomEmoji.new(@client, self, data)
209
209
  end
210
210
 
@@ -220,7 +220,7 @@ module Discorb
220
220
  # @return [Discorb::CustomEmoji] The created emoji.
221
221
  #
222
222
  def create_emoji(name, image, roles: [])
223
- _resp, data = @client.internet.post(
223
+ _resp, data = @client.http.post(
224
224
  "/guilds/#{@id}/emojis",
225
225
  {
226
226
  name: name,
@@ -240,7 +240,7 @@ module Discorb
240
240
  #
241
241
  def fetch_webhooks
242
242
  Async do
243
- _resp, data = @client.internet.get("/guilds/#{@id}/webhooks").wait
243
+ _resp, data = @client.http.get("/guilds/#{@id}/webhooks").wait
244
244
  data.map { |webhook| Webhook.new([@client, webhook]) }
245
245
  end
246
246
  end
@@ -254,7 +254,7 @@ module Discorb
254
254
  #
255
255
  def fetch_audit_log
256
256
  Async do
257
- _resp, data = @client.internet.get("/guilds/#{@id}/audit-logs").wait
257
+ _resp, data = @client.http.get("/guilds/#{@id}/audit-logs").wait
258
258
  AuditLog.new(@client, data, self)
259
259
  end
260
260
  end
@@ -268,7 +268,7 @@ module Discorb
268
268
  #
269
269
  def fetch_channels
270
270
  Async do
271
- _resp, data = @client.internet.get("/guilds/#{@id}/channels").wait
271
+ _resp, data = @client.http.get("/guilds/#{@id}/channels").wait
272
272
  data.map { |c| Channel.make_channel(@client, c) }
273
273
  end
274
274
  end
@@ -312,7 +312,7 @@ module Discorb
312
312
  end
313
313
  end
314
314
  payload[:parent_id] = parent.id if parent
315
- _resp, data = @client.internet.post(
315
+ _resp, data = @client.http.post(
316
316
  "/guilds/#{@id}/channels", payload, audit_log_reason: reason,
317
317
  ).wait
318
318
  payload[:parent_id] = parent&.id
@@ -355,7 +355,7 @@ module Discorb
355
355
  end
356
356
  end
357
357
  payload[:parent_id] = parent.id if parent
358
- _resp, data = @client.internet.post(
358
+ _resp, data = @client.http.post(
359
359
  "/guilds/#{@id}/channels", payload, audit_log_reason: reason,
360
360
  ).wait
361
361
  payload[:parent_id] = parent&.id
@@ -391,7 +391,7 @@ module Discorb
391
391
  end
392
392
  end
393
393
  payload[:parent_id] = parent&.id
394
- _resp, data = @client.internet.post(
394
+ _resp, data = @client.http.post(
395
395
  "/guilds/#{@id}/channels", payload, audit_log_reason: reason,
396
396
  ).wait
397
397
  Channel.make_channel(@client, data)
@@ -431,7 +431,7 @@ module Discorb
431
431
  end
432
432
  end
433
433
  payload[:parent_id] = parent&.id
434
- _resp, data = @client.internet.post(
434
+ _resp, data = @client.http.post(
435
435
  "/guilds/#{@id}/channels", payload, audit_log_reason: reason,
436
436
  ).wait
437
437
  Channel.make_channel(@client, data)
@@ -477,7 +477,7 @@ module Discorb
477
477
  end
478
478
  payload[:nsfw] = nsfw unless nsfw.nil?
479
479
  payload[:parent_id] = parent&.id
480
- _resp, data = @client.internet.post(
480
+ _resp, data = @client.http.post(
481
481
  "/guilds/#{@id}/channels", payload, audit_log_reason: reason,
482
482
  ).wait
483
483
  Channel.make_channel(@client, data)
@@ -493,7 +493,7 @@ module Discorb
493
493
  #
494
494
  def fetch_active_threads
495
495
  Async do
496
- _resp, data = @client.internet.get("/guilds/#{@id}/threads/active").wait
496
+ _resp, data = @client.http.get("/guilds/#{@id}/threads/active").wait
497
497
  data[:threads].map { |t| Channel.make_thread(@client, t) }
498
498
  end
499
499
  end
@@ -511,7 +511,7 @@ module Discorb
511
511
  #
512
512
  def fetch_member(id)
513
513
  Async do
514
- _resp, data = @client.internet.get("/guilds/#{@id}/members/#{id}").wait
514
+ _resp, data = @client.http.get("/guilds/#{@id}/members/#{id}").wait
515
515
  rescue Discorb::NotFoundError
516
516
  nil
517
517
  else
@@ -531,7 +531,7 @@ module Discorb
531
531
  #
532
532
  def fetch_members_named(name, limit: 1)
533
533
  Async do
534
- _resp, data = @client.internet.get("/guilds/#{@id}/members/search?#{URI.encode_www_form({ query: name, limit: limit })}").wait
534
+ _resp, data = @client.http.get("/guilds/#{@id}/members/search?#{URI.encode_www_form({ query: name, limit: limit })}").wait
535
535
  data.map { |d| Member.new(@client, @id, d[:user], d) }
536
536
  end
537
537
  end
@@ -558,7 +558,7 @@ module Discorb
558
558
  #
559
559
  def edit_nickname(nickname, reason: nil)
560
560
  Async do
561
- @client.internet.patch("/guilds/#{@id}/members/@me/nick", { nick: nickname }, audit_log_reason: reason).wait
561
+ @client.http.patch("/guilds/#{@id}/members/@me/nick", { nick: nickname }, audit_log_reason: reason).wait
562
562
  end
563
563
  end
564
564
 
@@ -576,7 +576,7 @@ module Discorb
576
576
  #
577
577
  def kick_member(member, reason: nil)
578
578
  Async do
579
- @client.internet.delete("/guilds/#{@id}/members/#{member.id}", audit_log_reason: reason).wait
579
+ @client.http.delete("/guilds/#{@id}/members/#{member.id}", audit_log_reason: reason).wait
580
580
  end
581
581
  end
582
582
 
@@ -589,7 +589,7 @@ module Discorb
589
589
  #
590
590
  def fetch_bans
591
591
  Async do
592
- _resp, data = @client.internet.get("/guilds/#{@id}/bans").wait
592
+ _resp, data = @client.http.get("/guilds/#{@id}/bans").wait
593
593
  data.map { |d| Ban.new(@client, self, d) }
594
594
  end
595
595
  end
@@ -606,7 +606,7 @@ module Discorb
606
606
  #
607
607
  def fetch_ban(user)
608
608
  Async do
609
- _resp, data = @client.internet.get("/guilds/#{@id}/bans/#{user.id}").wait
609
+ _resp, data = @client.http.get("/guilds/#{@id}/bans/#{user.id}").wait
610
610
  rescue Discorb::NotFoundError
611
611
  nil
612
612
  else
@@ -642,7 +642,7 @@ module Discorb
642
642
  #
643
643
  def ban_member(member, delete_message_days: 0, reason: nil)
644
644
  Async do
645
- _resp, data = @client.internet.post(
645
+ _resp, data = @client.http.post(
646
646
  "/guilds/#{@id}/bans", { user: member.id, delete_message_days: delete_message_days }, audit_log_reason: reason,
647
647
  ).wait
648
648
  Ban.new(@client, self, data)
@@ -659,7 +659,7 @@ module Discorb
659
659
  #
660
660
  def unban_user(user, reason: nil)
661
661
  Async do
662
- @client.internet.delete("/guilds/#{@id}/bans/#{user.id}", audit_log_reason: reason).wait
662
+ @client.http.delete("/guilds/#{@id}/bans/#{user.id}", audit_log_reason: reason).wait
663
663
  end
664
664
  end
665
665
 
@@ -672,7 +672,7 @@ module Discorb
672
672
  #
673
673
  def fetch_roles
674
674
  Async do
675
- _resp, data = @client.internet.get("/guilds/#{@id}/roles").wait
675
+ _resp, data = @client.http.get("/guilds/#{@id}/roles").wait
676
676
  data.map { |d| Role.new(@client, self, d) }
677
677
  end
678
678
  end
@@ -697,7 +697,7 @@ module Discorb
697
697
  payload[:color] = color.to_i if color
698
698
  payload[:hoist] = hoist if hoist
699
699
  payload[:mentionable] = mentionable if mentionable
700
- _resp, data = @client.internet.post(
700
+ _resp, data = @client.http.post(
701
701
  "/guilds/#{@id}/roles", payload, audit_log_reason: reason,
702
702
  ).wait
703
703
  Role.new(@client, self, data)
@@ -721,7 +721,7 @@ module Discorb
721
721
  include_roles: @id.to_s,
722
722
  }
723
723
  param[:include_roles] = roles.map(&:id).map(&:to_s).join(";") if roles.any?
724
- _resp, data = @client.internet.get("/guilds/#{@id}/prune?#{URI.encode_www_form(params)}").wait
724
+ _resp, data = @client.http.get("/guilds/#{@id}/prune?#{URI.encode_www_form(params)}").wait
725
725
  data[:pruned]
726
726
  end
727
727
  end
@@ -739,7 +739,7 @@ module Discorb
739
739
  #
740
740
  def prune(days = 7, roles: [], reason: nil)
741
741
  Async do
742
- _resp, data = @client.internet.post(
742
+ _resp, data = @client.http.post(
743
743
  "/guilds/#{@id}/prune", { days: days, roles: roles.map(&:id) }, audit_log_reason: reason,
744
744
  ).wait
745
745
  data[:pruned]
@@ -755,7 +755,7 @@ module Discorb
755
755
  #
756
756
  def fetch_voice_regions
757
757
  Async do
758
- _resp, data = @client.internet.get("/guilds/#{@id}/voice").wait
758
+ _resp, data = @client.http.get("/guilds/#{@id}/voice").wait
759
759
  data.map { |d| VoiceRegion.new(@client, d) }
760
760
  end
761
761
  end
@@ -769,7 +769,7 @@ module Discorb
769
769
  #
770
770
  def fetch_invites
771
771
  Async do
772
- _resp, data = @client.internet.get("/guilds/#{@id}/invites").wait
772
+ _resp, data = @client.http.get("/guilds/#{@id}/invites").wait
773
773
  data.map { |d| Invite.new(@client, d) }
774
774
  end
775
775
  end
@@ -783,7 +783,7 @@ module Discorb
783
783
  #
784
784
  def fetch_integrations
785
785
  Async do
786
- _resp, data = @client.internet.get("/guilds/#{@id}/integrations").wait
786
+ _resp, data = @client.http.get("/guilds/#{@id}/integrations").wait
787
787
  data.map { |d| Integration.new(@client, d) }
788
788
  end
789
789
  end
@@ -797,7 +797,7 @@ module Discorb
797
797
  #
798
798
  def fetch_widget
799
799
  Async do
800
- _resp, data = @client.internet.get("/guilds/#{@id}/widget").wait
800
+ _resp, data = @client.http.get("/guilds/#{@id}/widget").wait
801
801
  Widget.new(@client, @id, data)
802
802
  end
803
803
  end
@@ -811,7 +811,7 @@ module Discorb
811
811
  #
812
812
  def fetch_vanity_invite
813
813
  Async do
814
- _resp, data = @client.internet.get("/guilds/#{@id}/vanity-url").wait
814
+ _resp, data = @client.http.get("/guilds/#{@id}/vanity-url").wait
815
815
  VanityInvite.new(@client, self, data)
816
816
  end
817
817
  end
@@ -825,7 +825,7 @@ module Discorb
825
825
  #
826
826
  def fetch_welcome_screen
827
827
  Async do
828
- _resp, data = @client.internet.get("/guilds/#{@id}/welcome-screen").wait
828
+ _resp, data = @client.http.get("/guilds/#{@id}/welcome-screen").wait
829
829
  WelcomeScreen.new(@client, self, data)
830
830
  end
831
831
  end
@@ -839,7 +839,7 @@ module Discorb
839
839
  #
840
840
  def fetch_stickers
841
841
  Async do
842
- _resp, data = @client.internet.get("/guilds/#{@id}/stickers").wait
842
+ _resp, data = @client.http.get("/guilds/#{@id}/stickers").wait
843
843
  data.map { |d| Sticker::GuildSticker.new(@client, d) }
844
844
  end
845
845
  end
@@ -856,7 +856,7 @@ module Discorb
856
856
  #
857
857
  def fetch_sticker(id)
858
858
  Async do
859
- _resp, data = @client.internet.get("/guilds/#{@id}/stickers/#{id}").wait
859
+ _resp, data = @client.http.get("/guilds/#{@id}/stickers/#{id}").wait
860
860
  rescue Discorb::NotFoundError
861
861
  nil
862
862
  else
@@ -873,7 +873,7 @@ module Discorb
873
873
  #
874
874
  def fetch_templates
875
875
  Async do
876
- _resp, data = @client.internet.get("/guilds/#{@id}/templates").wait
876
+ _resp, data = @client.http.get("/guilds/#{@id}/templates").wait
877
877
  data.map { |d| GuildTemplate.new(@client, d) }
878
878
  end
879
879
  end
@@ -901,7 +901,7 @@ module Discorb
901
901
  #
902
902
  def create_template(name, description = nil, reason: nil)
903
903
  Async do
904
- _resp, data = @client.internet.post(
904
+ _resp, data = @client.http.post(
905
905
  "/guilds/#{@id}/templates", { name: name, description: description }, audit_log_reason: reason,
906
906
  ).wait
907
907
  GuildTemplate.new(@client, data)
@@ -982,7 +982,7 @@ module Discorb
982
982
  payload = {}
983
983
  payload[:enabled] = enabled unless enabled.nil?
984
984
  payload[:channel_id] = channel.id if channel_id
985
- @client.internet.patch("/guilds/#{@guild_id}/widget", payload, audit_log_reason: reason).wait
985
+ @client.http.patch("/guilds/#{@guild_id}/widget", payload, audit_log_reason: reason).wait
986
986
  end
987
987
  end
988
988
 
@@ -1059,7 +1059,7 @@ module Discorb
1059
1059
  @members = Discorb::Dictionary.new
1060
1060
  data[:members].each do |m|
1061
1061
  Member.new(@client, @id, m[:user], m)
1062
- end
1062
+ end if data[:members]
1063
1063
  @splash = data[:splash] && Asset.new(self, data[:splash], path: "splashes/#{@id}")
1064
1064
  @discovery_splash = data[:discovery_splash] && Asset.new(self, data[:discovery_splash], path: "discovery-splashes/#{@id}")
1065
1065
  @owner_id = data[:owner_id]
@@ -1236,7 +1236,7 @@ module Discorb
1236
1236
  payload[:enabled] = enabled unless enabled == :unset
1237
1237
  payload[:welcome_channels] = channels.map(&:to_hash) unless channels == :unset
1238
1238
  payload[:description] = description unless description == :unset
1239
- @client.internet.patch("/guilds/#{@guild.id}/welcome-screen", payload, audit_log_reason: reason).wait
1239
+ @client.http.patch("/guilds/#{@guild.id}/welcome-screen", payload, audit_log_reason: reason).wait
1240
1240
  end
1241
1241
  end
1242
1242
  end