discorb 0.13.0 → 0.13.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/.github/workflows/build_main.yml +1 -0
- data/.github/workflows/build_version.yml +1 -0
- data/.github/workflows/crowdin.yml +32 -0
- data/.gitignore +3 -1
- data/.yardopts +2 -0
- data/Changelog.md +399 -388
- data/Gemfile +5 -1
- data/README.md +1 -1
- data/Rakefile +139 -9
- data/crowdin.yml +2 -0
- data/docs/Examples.md +2 -0
- data/docs/application_command.md +7 -5
- data/docs/cli/irb.md +2 -0
- data/docs/cli/new.md +2 -0
- data/docs/cli/run.md +3 -1
- data/docs/cli/setup.md +4 -2
- data/docs/cli.md +2 -0
- data/docs/events.md +6 -4
- data/docs/extension.md +2 -2
- data/docs/faq.md +4 -2
- data/docs/license.md +2 -0
- data/docs/tutorial.md +4 -3
- data/docs/voice_events.md +2 -0
- data/lib/discorb/app_command.rb +8 -7
- data/lib/discorb/application.rb +1 -1
- data/lib/discorb/channel.rb +100 -76
- data/lib/discorb/client.rb +13 -15
- data/lib/discorb/common.rb +3 -1
- data/lib/discorb/emoji.rb +5 -7
- data/lib/discorb/emoji_table.rb +3891 -3891
- data/lib/discorb/event.rb +8 -7
- data/lib/discorb/exe/show.rb +2 -0
- data/lib/discorb/extension.rb +1 -1
- data/lib/discorb/flag.rb +1 -1
- data/lib/discorb/gateway.rb +9 -13
- data/lib/discorb/guild.rb +63 -89
- data/lib/discorb/guild_template.rb +12 -9
- data/lib/discorb/http.rb +82 -44
- data/lib/discorb/integration.rb +3 -0
- data/lib/discorb/interaction/response.rb +27 -25
- data/lib/discorb/interaction/root.rb +8 -0
- data/lib/discorb/invite.rb +3 -2
- data/lib/discorb/member.rb +41 -12
- data/lib/discorb/message.rb +28 -17
- data/lib/discorb/modules.rb +19 -26
- data/lib/discorb/role.rb +15 -11
- data/lib/discorb/sticker.rb +8 -12
- data/lib/discorb/user.rb +7 -7
- data/lib/discorb/voice_state.rb +8 -5
- data/lib/discorb/webhook.rb +38 -47
- data/lib/discorb.rb +1 -1
- data/po/yard.pot +7772 -5154
- data/sig/discorb.rbs +3316 -3819
- data/template-replace/scripts/locale_ja.rb +62 -0
- metadata +5 -3
data/lib/discorb/event.rb
CHANGED
@@ -90,8 +90,7 @@ module Discorb
|
|
90
90
|
|
91
91
|
#
|
92
92
|
# Create a scheduled event for the guild.
|
93
|
-
# @
|
94
|
-
# @macro http
|
93
|
+
# @async
|
95
94
|
#
|
96
95
|
# @param [:stage_instance, :voice, :external] type The type of event to create.
|
97
96
|
# @param [String] name The name of the event.
|
@@ -103,6 +102,8 @@ module Discorb
|
|
103
102
|
# @param [:guild_only] privacy_level The privacy level of the event. This must be `:guild_only`.
|
104
103
|
# @param [:active, :completed, :canceled] status The status of the event.
|
105
104
|
#
|
105
|
+
# @return [Async::Task<Discorb::ScheduledEvent>] The event that was created.
|
106
|
+
#
|
106
107
|
# @see Event#start
|
107
108
|
# @see Event#cancel
|
108
109
|
# @see Event#complete
|
@@ -194,8 +195,9 @@ module Discorb
|
|
194
195
|
|
195
196
|
#
|
196
197
|
# Deletes the event.
|
197
|
-
# @
|
198
|
-
#
|
198
|
+
# @async
|
199
|
+
#
|
200
|
+
# @return [Async::Task<void>] The task.
|
199
201
|
#
|
200
202
|
def delete!
|
201
203
|
Async do
|
@@ -207,8 +209,7 @@ module Discorb
|
|
207
209
|
|
208
210
|
#
|
209
211
|
# Fetches the event users.
|
210
|
-
# @
|
211
|
-
# @macro http
|
212
|
+
# @async
|
212
213
|
#
|
213
214
|
# @note You can fetch all of members by not specifying a parameter.
|
214
215
|
#
|
@@ -218,7 +219,7 @@ module Discorb
|
|
218
219
|
# @param [Boolean] with_member Whether to include the member object of the event. Defaults to `false`.
|
219
220
|
# This should be used for manual fetching of members.
|
220
221
|
#
|
221
|
-
# @return [Array<Discorb::Member
|
222
|
+
# @return [Async::Task<Array<Discorb::Member>>] The event users.
|
222
223
|
#
|
223
224
|
def fetch_users(limit = nil, before: nil, after: nil, with_member: true)
|
224
225
|
Async do
|
data/lib/discorb/exe/show.rb
CHANGED
data/lib/discorb/extension.rb
CHANGED
data/lib/discorb/flag.rb
CHANGED
data/lib/discorb/gateway.rb
CHANGED
@@ -94,8 +94,7 @@ module Discorb
|
|
94
94
|
|
95
95
|
# Fetch the message.
|
96
96
|
# If message is cached, it will be returned.
|
97
|
-
# @
|
98
|
-
# @macro http
|
97
|
+
# @async
|
99
98
|
#
|
100
99
|
# @param [Boolean] force Whether to force fetching the message.
|
101
100
|
#
|
@@ -143,8 +142,7 @@ module Discorb
|
|
143
142
|
|
144
143
|
# Fetch the message.
|
145
144
|
# If message is cached, it will be returned.
|
146
|
-
# @
|
147
|
-
# @macro http
|
145
|
+
# @async
|
148
146
|
#
|
149
147
|
# @param [Boolean] force Whether to force fetching the message.
|
150
148
|
#
|
@@ -195,8 +193,7 @@ module Discorb
|
|
195
193
|
|
196
194
|
# Fetch the message.
|
197
195
|
# If message is cached, it will be returned.
|
198
|
-
# @
|
199
|
-
# @macro http
|
196
|
+
# @async
|
200
197
|
#
|
201
198
|
# @param [Boolean] force Whether to force fetching the message.
|
202
199
|
#
|
@@ -293,8 +290,7 @@ module Discorb
|
|
293
290
|
end
|
294
291
|
|
295
292
|
# Fetch the message.
|
296
|
-
# @
|
297
|
-
# @macro http
|
293
|
+
# @async
|
298
294
|
#
|
299
295
|
# @return [Async::Task<Discorb::Message>] The message.
|
300
296
|
def fetch_message
|
@@ -503,14 +499,14 @@ module Discorb
|
|
503
499
|
module Handler
|
504
500
|
private
|
505
501
|
|
506
|
-
def connect_gateway(reconnect)
|
502
|
+
def connect_gateway(reconnect, no_close: false)
|
507
503
|
if reconnect
|
508
504
|
@log.info "Reconnecting to gateway..."
|
509
505
|
else
|
510
506
|
@log.info "Connecting to gateway..."
|
511
507
|
end
|
512
508
|
Async do
|
513
|
-
@connection&.close
|
509
|
+
@connection&.close unless no_close
|
514
510
|
@http = HTTP.new(self)
|
515
511
|
_, gateway_response = @http.get("/gateway").wait
|
516
512
|
gateway_url = gateway_response[:url]
|
@@ -537,9 +533,9 @@ module Discorb
|
|
537
533
|
end
|
538
534
|
end
|
539
535
|
end
|
540
|
-
rescue Async::Wrapper::Cancelled, OpenSSL::SSL::SSLError, Async::Wrapper::WaitError, EOFError => e
|
541
|
-
@log.error "Gateway connection closed: #{e.class}: #{e.message}"
|
542
|
-
connect_gateway(true)
|
536
|
+
rescue Async::Wrapper::Cancelled, OpenSSL::SSL::SSLError, Async::Wrapper::WaitError, EOFError, Errno::EPIPE => e
|
537
|
+
@log.error "Gateway connection closed accidentally: #{e.class}: #{e.message}"
|
538
|
+
connect_gateway(true, no_close: true)
|
543
539
|
else # should never happen
|
544
540
|
connect_gateway(true)
|
545
541
|
end
|
data/lib/discorb/guild.rb
CHANGED
@@ -28,7 +28,7 @@ module Discorb
|
|
28
28
|
attr_reader :features
|
29
29
|
# @return [:none, :elevated] The MFA level of the guild.
|
30
30
|
attr_reader :mfa_level
|
31
|
-
# @return [Discorb::
|
31
|
+
# @return [Discorb::SystemChannelFlag] The flag for the system channel.
|
32
32
|
attr_reader :system_channel_flags
|
33
33
|
# @return [Time] Time that representing when bot has joined the guild.
|
34
34
|
attr_reader :joined_at
|
@@ -162,8 +162,9 @@ module Discorb
|
|
162
162
|
|
163
163
|
#
|
164
164
|
# Leave the guild.
|
165
|
-
# @
|
166
|
-
#
|
165
|
+
# @async
|
166
|
+
#
|
167
|
+
# @return [Async::Task<void>] The task.
|
167
168
|
#
|
168
169
|
def leave!
|
169
170
|
Async do
|
@@ -174,8 +175,7 @@ module Discorb
|
|
174
175
|
|
175
176
|
#
|
176
177
|
# Fetch scheduled events for the guild.
|
177
|
-
# @
|
178
|
-
# @macro http
|
178
|
+
# @async
|
179
179
|
#
|
180
180
|
# @param [Boolean] with_user_count Whether to include the user count in the events.
|
181
181
|
# Defaults to `true`.
|
@@ -191,13 +191,12 @@ module Discorb
|
|
191
191
|
|
192
192
|
#
|
193
193
|
# Fetch the scheduled event by ID.
|
194
|
-
# @
|
195
|
-
# @macro http
|
194
|
+
# @async
|
196
195
|
#
|
197
196
|
# @param [#to_s] id The ID of the scheduled event.
|
198
197
|
#
|
199
|
-
# @return [Discorb::ScheduledEvent] The event with the given ID.
|
200
|
-
# @return [nil] If no event with the given ID exists.
|
198
|
+
# @return [Async::Task<Discorb::ScheduledEvent>] The event with the given ID.
|
199
|
+
# @return [Async::Task<nil>] If no event with the given ID exists.
|
201
200
|
#
|
202
201
|
def fetch_scheduled_event(id)
|
203
202
|
Async do
|
@@ -211,6 +210,7 @@ module Discorb
|
|
211
210
|
|
212
211
|
#
|
213
212
|
# Create a scheduled event for the guild.
|
213
|
+
# @async
|
214
214
|
#
|
215
215
|
# @param [:stage_instance, :voice, :external] type The type of event to create.
|
216
216
|
# @param [String] name The name of the event.
|
@@ -221,7 +221,7 @@ module Discorb
|
|
221
221
|
# @param [String, nil] location The location of the event. Defaults to `nil`.
|
222
222
|
# @param [:guild_only] privacy_level The privacy level of the event. This must be `:guild_only`.
|
223
223
|
#
|
224
|
-
# @return [Discorb::ScheduledEvent] The created event.
|
224
|
+
# @return [Async::Task<Discorb::ScheduledEvent>] The created event.
|
225
225
|
#
|
226
226
|
def create_scheduled_event(
|
227
227
|
type,
|
@@ -281,8 +281,7 @@ module Discorb
|
|
281
281
|
|
282
282
|
#
|
283
283
|
# Fetch emoji list of the guild.
|
284
|
-
# @
|
285
|
-
# @macro http
|
284
|
+
# @async
|
286
285
|
# @note This querys the API every time. We recommend using {#emojis} instead.
|
287
286
|
#
|
288
287
|
# @return [Async::Task<Discorb::Dictionary{Discorb::Snowflake => Discorb::CustomEmoji}>] A dictionary of emoji in the guild.
|
@@ -305,8 +304,7 @@ module Discorb
|
|
305
304
|
|
306
305
|
#
|
307
306
|
# Fetch emoji id of the guild.
|
308
|
-
# @
|
309
|
-
# @macro http
|
307
|
+
# @async
|
310
308
|
# @note This querys the API every time. We recommend using {#emojis} instead.
|
311
309
|
#
|
312
310
|
# @param [#to_s] id The emoji id.
|
@@ -320,8 +318,7 @@ module Discorb
|
|
320
318
|
|
321
319
|
#
|
322
320
|
# Create a custom emoji.
|
323
|
-
# @
|
324
|
-
# @macro http
|
321
|
+
# @async
|
325
322
|
#
|
326
323
|
# @param [#to_s] name The name of the emoji.
|
327
324
|
# @param [Discorb::Image] image The image of the emoji.
|
@@ -343,8 +340,7 @@ module Discorb
|
|
343
340
|
|
344
341
|
#
|
345
342
|
# Fetch webhooks of the guild.
|
346
|
-
# @
|
347
|
-
# @macro http
|
343
|
+
# @async
|
348
344
|
#
|
349
345
|
# @return [Async::Task<Array<Discorb::Webhook>>] A list of webhooks in the guild.
|
350
346
|
#
|
@@ -357,8 +353,7 @@ module Discorb
|
|
357
353
|
|
358
354
|
#
|
359
355
|
# Fetch audit log of the guild.
|
360
|
-
# @
|
361
|
-
# @macro http
|
356
|
+
# @async
|
362
357
|
#
|
363
358
|
# @return [Async::Task<Discorb::AuditLog>] The audit log of the guild.
|
364
359
|
#
|
@@ -371,8 +366,7 @@ module Discorb
|
|
371
366
|
|
372
367
|
#
|
373
368
|
# Fetch channels of the guild.
|
374
|
-
# @
|
375
|
-
# @macro http
|
369
|
+
# @async
|
376
370
|
#
|
377
371
|
# @return [Async::Task<Array<Discorb::Channel>>] A list of channels in the guild.
|
378
372
|
#
|
@@ -385,8 +379,7 @@ module Discorb
|
|
385
379
|
|
386
380
|
#
|
387
381
|
# Create a new text channel.
|
388
|
-
# @
|
389
|
-
# @macro http
|
382
|
+
# @async
|
390
383
|
#
|
391
384
|
# @param [String] name The name of the channel.
|
392
385
|
# @param [String] topic The topic of the channel.
|
@@ -432,8 +425,7 @@ module Discorb
|
|
432
425
|
|
433
426
|
#
|
434
427
|
# Create a new voice channel.
|
435
|
-
# @
|
436
|
-
# @macro http
|
428
|
+
# @async
|
437
429
|
#
|
438
430
|
# @param [String] name The name of the channel.
|
439
431
|
# @param [Integer] bitrate The bitrate of the channel.
|
@@ -474,8 +466,7 @@ module Discorb
|
|
474
466
|
end
|
475
467
|
|
476
468
|
# Create a new category channel.
|
477
|
-
# @
|
478
|
-
# @macro http
|
469
|
+
# @async
|
479
470
|
#
|
480
471
|
# @param [String] name The name of the channel.
|
481
472
|
# @param [Integer] position The position of the channel.
|
@@ -512,8 +503,7 @@ module Discorb
|
|
512
503
|
|
513
504
|
#
|
514
505
|
# Create a new stage channel.
|
515
|
-
# @
|
516
|
-
# @macro http
|
506
|
+
# @async
|
517
507
|
#
|
518
508
|
# @param [String] name The name of the channel.
|
519
509
|
# @param [Integer] bitrate The bitrate of the channel.
|
@@ -550,8 +540,7 @@ module Discorb
|
|
550
540
|
|
551
541
|
#
|
552
542
|
# Create a new news channel.
|
553
|
-
# @
|
554
|
-
# @macro http
|
543
|
+
# @async
|
555
544
|
#
|
556
545
|
# @param [String] name The name of the channel.
|
557
546
|
# @param [String] topic The topic of the channel.
|
@@ -596,8 +585,7 @@ module Discorb
|
|
596
585
|
|
597
586
|
#
|
598
587
|
# Fetch a list of active threads in the guild.
|
599
|
-
# @
|
600
|
-
# @macro http
|
588
|
+
# @async
|
601
589
|
#
|
602
590
|
# @return [Async::Task<Array<Discorb::ThreadChannel>>] The list of threads.
|
603
591
|
#
|
@@ -610,8 +598,7 @@ module Discorb
|
|
610
598
|
|
611
599
|
#
|
612
600
|
# Fetch a member in the guild.
|
613
|
-
# @
|
614
|
-
# @macro http
|
601
|
+
# @async
|
615
602
|
#
|
616
603
|
# @param [#to_s] id The ID of the member to fetch.
|
617
604
|
#
|
@@ -629,8 +616,7 @@ module Discorb
|
|
629
616
|
end
|
630
617
|
|
631
618
|
# Fetch members in the guild.
|
632
|
-
# @
|
633
|
-
# @macro http
|
619
|
+
# @async
|
634
620
|
# @macro members_intent
|
635
621
|
#
|
636
622
|
# @param [Integer] limit The maximum number of members to fetch, 0 for all.
|
@@ -663,8 +649,7 @@ module Discorb
|
|
663
649
|
|
664
650
|
#
|
665
651
|
# Search for members by name in the guild.
|
666
|
-
# @
|
667
|
-
# @macro http
|
652
|
+
# @async
|
668
653
|
#
|
669
654
|
# @param [String] name The name of the member to search for.
|
670
655
|
# @param [Integer] limit The maximum number of members to return.
|
@@ -680,8 +665,7 @@ module Discorb
|
|
680
665
|
|
681
666
|
#
|
682
667
|
# Almost the same as {#fetch_members_named}, but returns a single member.
|
683
|
-
# @
|
684
|
-
# @macro http
|
668
|
+
# @async
|
685
669
|
#
|
686
670
|
# @return [Async::Task<Discorb::Member>] The member.
|
687
671
|
# @return [Async::Task<nil>] If the member is not found.
|
@@ -694,10 +678,13 @@ module Discorb
|
|
694
678
|
|
695
679
|
#
|
696
680
|
# Change nickname of client member.
|
681
|
+
# @async
|
697
682
|
#
|
698
683
|
# @param [String] nickname The nickname to set.
|
699
684
|
# @param [String] reason The reason for changing the nickname.
|
700
685
|
#
|
686
|
+
# @return [Async::Task<void>] The task.
|
687
|
+
#
|
701
688
|
def edit_nickname(nickname, reason: nil)
|
702
689
|
Async do
|
703
690
|
@client.http.patch("/guilds/#{@id}/members/@me/nick", { nick: nickname }, audit_log_reason: reason).wait
|
@@ -710,12 +697,13 @@ module Discorb
|
|
710
697
|
|
711
698
|
#
|
712
699
|
# Kick a member from the guild.
|
713
|
-
# @
|
714
|
-
# @macro http
|
700
|
+
# @async
|
715
701
|
#
|
716
702
|
# @param [Discorb::Member] member The member to kick.
|
717
703
|
# @param [String] reason The reason for kicking the member.
|
718
704
|
#
|
705
|
+
# @return [Async::Task<void>] The task.
|
706
|
+
#
|
719
707
|
def kick_member(member, reason: nil)
|
720
708
|
Async do
|
721
709
|
@client.http.delete("/guilds/#{@id}/members/#{member.id}", audit_log_reason: reason).wait
|
@@ -724,8 +712,7 @@ module Discorb
|
|
724
712
|
|
725
713
|
#
|
726
714
|
# Fetch a list of bans in the guild.
|
727
|
-
# @
|
728
|
-
# @macro http
|
715
|
+
# @async
|
729
716
|
#
|
730
717
|
# @return [Async::Task<Array<Discorb::Guild::Ban>>] The list of bans.
|
731
718
|
#
|
@@ -738,8 +725,7 @@ module Discorb
|
|
738
725
|
|
739
726
|
#
|
740
727
|
# Fetch a ban in the guild.
|
741
|
-
# @
|
742
|
-
# @macro http
|
728
|
+
# @async
|
743
729
|
#
|
744
730
|
# @param [Discorb::User] user The user to fetch.
|
745
731
|
#
|
@@ -758,8 +744,7 @@ module Discorb
|
|
758
744
|
|
759
745
|
#
|
760
746
|
# Checks the user was banned from the guild.
|
761
|
-
# @
|
762
|
-
# @macro http
|
747
|
+
# @async
|
763
748
|
#
|
764
749
|
# @param [Discorb::User] user The user to check.
|
765
750
|
#
|
@@ -773,8 +758,7 @@ module Discorb
|
|
773
758
|
|
774
759
|
#
|
775
760
|
# Ban a member from the guild.
|
776
|
-
# @
|
777
|
-
# @macro http
|
761
|
+
# @async
|
778
762
|
#
|
779
763
|
# @param [Discorb::Member] member The member to ban.
|
780
764
|
# @param [Integer] delete_message_days The number of days to delete messages.
|
@@ -793,12 +777,13 @@ module Discorb
|
|
793
777
|
|
794
778
|
#
|
795
779
|
# Unban a user from the guild.
|
796
|
-
# @
|
797
|
-
# @macro http
|
780
|
+
# @async
|
798
781
|
#
|
799
782
|
# @param [Discorb::User] user The user to unban.
|
800
783
|
# @param [String] reason The reason for unbanning the user.
|
801
784
|
#
|
785
|
+
# @return [Async::Task<void>] The task.
|
786
|
+
#
|
802
787
|
def unban_user(user, reason: nil)
|
803
788
|
Async do
|
804
789
|
@client.http.delete("/guilds/#{@id}/bans/#{user.id}", audit_log_reason: reason).wait
|
@@ -807,8 +792,7 @@ module Discorb
|
|
807
792
|
|
808
793
|
#
|
809
794
|
# Fetch a list of roles in the guild.
|
810
|
-
# @
|
811
|
-
# @macro http
|
795
|
+
# @async
|
812
796
|
#
|
813
797
|
# @return [Async::Task<Array<Discorb::Role>>] The list of roles.
|
814
798
|
#
|
@@ -821,8 +805,7 @@ module Discorb
|
|
821
805
|
|
822
806
|
#
|
823
807
|
# Create a role in the guild.
|
824
|
-
# @
|
825
|
-
# @macro http
|
808
|
+
# @async
|
826
809
|
#
|
827
810
|
# @param [String] name The name of the role.
|
828
811
|
# @param [Discorb::Color] color The color of the role.
|
@@ -848,8 +831,7 @@ module Discorb
|
|
848
831
|
|
849
832
|
#
|
850
833
|
# Fetch how many members will be pruned.
|
851
|
-
# @
|
852
|
-
# @macro http
|
834
|
+
# @async
|
853
835
|
#
|
854
836
|
# @param [Integer] days The number of days to prune.
|
855
837
|
# @param [Array<Discorb::Role>] roles The roles that include for pruning.
|
@@ -870,8 +852,7 @@ module Discorb
|
|
870
852
|
|
871
853
|
#
|
872
854
|
# Prune members from the guild.
|
873
|
-
# @
|
874
|
-
# @macro http
|
855
|
+
# @async
|
875
856
|
#
|
876
857
|
# @param [Integer] days The number of days to prune.
|
877
858
|
# @param [Array<Discorb::Role>] roles The roles that include for pruning.
|
@@ -890,8 +871,7 @@ module Discorb
|
|
890
871
|
|
891
872
|
#
|
892
873
|
# Fetch voice regions that are available in the guild.
|
893
|
-
# @
|
894
|
-
# @macro http
|
874
|
+
# @async
|
895
875
|
#
|
896
876
|
# @return [Async::Task<Array<Discorb::VoiceRegion>>] The available voice regions.
|
897
877
|
#
|
@@ -904,8 +884,7 @@ module Discorb
|
|
904
884
|
|
905
885
|
#
|
906
886
|
# Fetch invites in the guild.
|
907
|
-
# @
|
908
|
-
# @macro http
|
887
|
+
# @async
|
909
888
|
#
|
910
889
|
# @return [Async::Task<Array<Invite>>] The invites.
|
911
890
|
#
|
@@ -918,8 +897,7 @@ module Discorb
|
|
918
897
|
|
919
898
|
#
|
920
899
|
# Fetch integrations in the guild.
|
921
|
-
# @
|
922
|
-
# @macro http
|
900
|
+
# @async
|
923
901
|
#
|
924
902
|
# @return [Async::Task<Array<Discorb::Integration>>] The integrations.
|
925
903
|
#
|
@@ -932,8 +910,7 @@ module Discorb
|
|
932
910
|
|
933
911
|
#
|
934
912
|
# Fetch the widget of the guild.
|
935
|
-
# @
|
936
|
-
# @macro http
|
913
|
+
# @async
|
937
914
|
#
|
938
915
|
# @return [Async::Task<Discorb::Guild::Widget>] The widget.
|
939
916
|
#
|
@@ -946,8 +923,7 @@ module Discorb
|
|
946
923
|
|
947
924
|
#
|
948
925
|
# Fetch the vanity URL of the guild.
|
949
|
-
# @
|
950
|
-
# @macro http
|
926
|
+
# @async
|
951
927
|
#
|
952
928
|
# @return [Async::Task<Discorb::Guild::VanityInvite>] The vanity URL.
|
953
929
|
#
|
@@ -960,10 +936,9 @@ module Discorb
|
|
960
936
|
|
961
937
|
#
|
962
938
|
# Fetch the welcome screen of the guild.
|
963
|
-
# @
|
964
|
-
# @macro http
|
939
|
+
# @async
|
965
940
|
#
|
966
|
-
# @return [Async::Task<Discorb::
|
941
|
+
# @return [Async::Task<Discorb::WelcomeScreen>] The welcome screen.
|
967
942
|
#
|
968
943
|
def fetch_welcome_screen
|
969
944
|
Async do
|
@@ -974,8 +949,7 @@ module Discorb
|
|
974
949
|
|
975
950
|
#
|
976
951
|
# Fetch stickers in the guild.
|
977
|
-
# @
|
978
|
-
# @macro http
|
952
|
+
# @async
|
979
953
|
#
|
980
954
|
# @return [Async::Task<Array<Discorb::Sticker::GuildSticker>>] The stickers.
|
981
955
|
#
|
@@ -988,8 +962,7 @@ module Discorb
|
|
988
962
|
|
989
963
|
#
|
990
964
|
# Fetch the sticker by ID.
|
991
|
-
# @
|
992
|
-
# @macro http
|
965
|
+
# @async
|
993
966
|
#
|
994
967
|
# @param [#to_s] id The ID of the sticker.
|
995
968
|
#
|
@@ -1008,8 +981,7 @@ module Discorb
|
|
1008
981
|
|
1009
982
|
#
|
1010
983
|
# Fetch templates in the guild.
|
1011
|
-
# @
|
1012
|
-
# @macro http
|
984
|
+
# @async
|
1013
985
|
#
|
1014
986
|
# @return [Async::Task<Discorb::GuildTemplate>] The templates.
|
1015
987
|
#
|
@@ -1111,14 +1083,15 @@ module Discorb
|
|
1111
1083
|
|
1112
1084
|
#
|
1113
1085
|
# Edit the widget.
|
1114
|
-
# @
|
1115
|
-
# @macro http
|
1086
|
+
# @async
|
1116
1087
|
# @macro edit
|
1117
1088
|
#
|
1118
1089
|
# @param [Boolean] enabled Whether the widget is enabled.
|
1119
1090
|
# @param [Discorb::GuildChannel] channel The channel.
|
1120
1091
|
# @param [String] reason The reason for editing the widget.
|
1121
1092
|
#
|
1093
|
+
# @return [Async::Task<void>] The task.
|
1094
|
+
#
|
1122
1095
|
def edit(enabled: nil, channel: nil, reason: nil)
|
1123
1096
|
Async do
|
1124
1097
|
payload = {}
|
@@ -1366,8 +1339,7 @@ module Discorb
|
|
1366
1339
|
|
1367
1340
|
#
|
1368
1341
|
# Edits the welcome screen.
|
1369
|
-
# @
|
1370
|
-
# @macro http
|
1342
|
+
# @async
|
1371
1343
|
# @macro edit
|
1372
1344
|
#
|
1373
1345
|
# @param [Boolean] enabled Whether the welcome screen is enabled.
|
@@ -1375,12 +1347,14 @@ module Discorb
|
|
1375
1347
|
# @param [String] description The description of the welcome screen.
|
1376
1348
|
# @param [String] reason The reason for editing the welcome screen.
|
1377
1349
|
#
|
1378
|
-
|
1350
|
+
# @return [Async::Task<void>] The task.
|
1351
|
+
#
|
1352
|
+
def edit(enabled: Discorb::Unset, channels: Discorb::Unset, description: Discorb::Unset, reason: nil)
|
1379
1353
|
Async do
|
1380
1354
|
payload = {}
|
1381
|
-
payload[:enabled] = enabled unless enabled ==
|
1382
|
-
payload[:welcome_channels] = channels.map(&:to_hash) unless channels ==
|
1383
|
-
payload[:description] = description unless description ==
|
1355
|
+
payload[:enabled] = enabled unless enabled == Discorb::Unset
|
1356
|
+
payload[:welcome_channels] = channels.map(&:to_hash) unless channels == Discorb::Unset
|
1357
|
+
payload[:description] = description unless description == Discorb::Unset
|
1384
1358
|
@client.http.patch("/guilds/#{@guild.id}/welcome-screen", payload, audit_log_reason: reason).wait
|
1385
1359
|
end
|
1386
1360
|
end
|
@@ -45,18 +45,19 @@ module Discorb
|
|
45
45
|
|
46
46
|
#
|
47
47
|
# Edit the template.
|
48
|
-
# @
|
49
|
-
# @macro http
|
48
|
+
# @async
|
50
49
|
# @macro edit
|
51
50
|
#
|
52
51
|
# @param [String] name The new name of the template.
|
53
52
|
# @param [String] description The new description of the template.
|
54
53
|
#
|
55
|
-
|
54
|
+
# @return [Async::Task<void>] The task.
|
55
|
+
#
|
56
|
+
def edit(name = nil, description = Discorb::Unset)
|
56
57
|
Async do
|
57
58
|
payload = {}
|
58
59
|
payload[:name] = name if name
|
59
|
-
payload[:description] = description if description !=
|
60
|
+
payload[:description] = description if description != Discorb::Unset
|
60
61
|
@client.http.patch("/guilds/#{@source_guild_id}/templates/#{@code}", payload).wait
|
61
62
|
end
|
62
63
|
end
|
@@ -65,8 +66,9 @@ module Discorb
|
|
65
66
|
|
66
67
|
#
|
67
68
|
# Update the template.
|
68
|
-
# @
|
69
|
-
#
|
69
|
+
# @async
|
70
|
+
#
|
71
|
+
# @return [Async::Task<void>] The task.
|
70
72
|
#
|
71
73
|
def update
|
72
74
|
Async do
|
@@ -77,8 +79,9 @@ module Discorb
|
|
77
79
|
|
78
80
|
#
|
79
81
|
# Delete the template.
|
80
|
-
# @
|
81
|
-
#
|
82
|
+
# @async
|
83
|
+
#
|
84
|
+
# @return [Async::Task<void>] The task.
|
82
85
|
#
|
83
86
|
def delete!
|
84
87
|
Async do
|
@@ -98,7 +101,7 @@ module Discorb
|
|
98
101
|
attr_reader :afk_timeout
|
99
102
|
# @return [Discorb::Dictionary{Discorb::Snowflake => Discorb::Role}] A dictionary of roles in the guild.
|
100
103
|
attr_reader :roles
|
101
|
-
# @return [Discorb::
|
104
|
+
# @return [Discorb::SystemChannelFlag] The flag for the system channel.
|
102
105
|
attr_reader :system_channel_flags
|
103
106
|
# @return [Discorb::Dictionary{Discorb::Snowflake => Discorb::GuildChannel}] A dictionary of channels in the guild.
|
104
107
|
attr_reader :channels
|