discorb 0.13.4 → 0.15.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitattributes +2 -0
- data/.github/workflows/build_version.yml +1 -1
- data/.github/workflows/codeql-analysis.yml +70 -0
- data/.github/workflows/lint-push.yml +20 -0
- data/.github/workflows/lint.yml +16 -0
- data/.rubocop.yml +74 -0
- data/Changelog.md +30 -0
- data/Gemfile +7 -3
- data/Rakefile +28 -22
- data/discorb.gemspec +1 -0
- data/docs/events.md +50 -0
- data/docs/faq.md +8 -8
- data/examples/commands/bookmarker.rb +2 -1
- data/examples/commands/hello.rb +1 -0
- data/examples/commands/inspect.rb +3 -2
- data/examples/components/authorization_button.rb +2 -1
- data/examples/components/select_menu.rb +2 -1
- data/examples/extension/main.rb +1 -0
- data/examples/extension/message_expander.rb +1 -0
- data/examples/simple/eval.rb +3 -2
- data/examples/simple/ping_pong.rb +1 -0
- data/examples/simple/rolepanel.rb +1 -0
- data/examples/simple/wait_for_message.rb +4 -3
- data/exe/discorb +8 -7
- data/lib/discorb/allowed_mentions.rb +71 -0
- data/lib/discorb/app_command/command.rb +336 -0
- data/lib/discorb/app_command/handler.rb +168 -0
- data/lib/discorb/app_command.rb +2 -426
- data/lib/discorb/application.rb +16 -7
- data/lib/discorb/asset.rb +11 -0
- data/lib/discorb/{file.rb → attachment.rb} +55 -33
- data/lib/discorb/audit_logs.rb +45 -7
- data/lib/discorb/channel.rb +65 -15
- data/lib/discorb/client.rb +34 -27
- data/lib/discorb/common.rb +19 -27
- data/lib/discorb/components/button.rb +105 -0
- data/lib/discorb/components/select_menu.rb +143 -0
- data/lib/discorb/components/text_input.rb +96 -0
- data/lib/discorb/components.rb +11 -276
- data/lib/discorb/dictionary.rb +5 -0
- data/lib/discorb/embed.rb +73 -40
- data/lib/discorb/emoji.rb +48 -5
- data/lib/discorb/error.rb +9 -5
- data/lib/discorb/event.rb +36 -24
- data/lib/discorb/exe/about.rb +1 -0
- data/lib/discorb/exe/irb.rb +4 -3
- data/lib/discorb/exe/new.rb +6 -7
- data/lib/discorb/exe/run.rb +2 -1
- data/lib/discorb/exe/setup.rb +8 -5
- data/lib/discorb/exe/show.rb +1 -0
- data/lib/discorb/extend.rb +19 -14
- data/lib/discorb/extension.rb +5 -1
- data/lib/discorb/gateway.rb +112 -51
- data/lib/discorb/gateway_requests.rb +4 -7
- data/lib/discorb/guild.rb +73 -41
- data/lib/discorb/guild_template.rb +26 -5
- data/lib/discorb/http.rb +38 -18
- data/lib/discorb/integration.rb +24 -9
- data/lib/discorb/intents.rb +16 -11
- data/lib/discorb/interaction/autocomplete.rb +6 -5
- data/lib/discorb/interaction/command.rb +66 -12
- data/lib/discorb/interaction/components.rb +19 -3
- data/lib/discorb/interaction/modal.rb +33 -0
- data/lib/discorb/interaction/response.rb +45 -4
- data/lib/discorb/interaction/root.rb +16 -0
- data/lib/discorb/interaction.rb +2 -1
- data/lib/discorb/invite.rb +11 -7
- data/lib/discorb/log.rb +5 -5
- data/lib/discorb/member.rb +22 -3
- data/lib/discorb/message.rb +39 -234
- data/lib/discorb/message_meta.rb +186 -0
- data/lib/discorb/modules.rb +39 -15
- data/lib/discorb/permission.rb +16 -7
- data/lib/discorb/presence.rb +45 -9
- data/lib/discorb/rate_limit.rb +7 -4
- data/lib/discorb/reaction.rb +6 -0
- data/lib/discorb/role.rb +12 -0
- data/lib/discorb/sticker.rb +22 -14
- data/lib/discorb/user.rb +12 -1
- data/lib/discorb/utils/colored_puts.rb +1 -0
- data/lib/discorb/voice_state.rb +23 -2
- data/lib/discorb/webhook.rb +54 -3
- data/lib/discorb.rb +5 -2
- data/sig/discorb.rbs +838 -702
- data/template-replace/scripts/arrow.rb +1 -0
- data/template-replace/scripts/favicon.rb +1 -0
- data/template-replace/scripts/index.rb +2 -1
- data/template-replace/scripts/locale_ja.rb +5 -4
- data/template-replace/scripts/sidebar.rb +1 -0
- data/template-replace/scripts/version.rb +7 -10
- data/template-replace/scripts/yard_replace.rb +5 -4
- metadata +17 -3
data/sig/discorb.rbs
CHANGED
@@ -8,76 +8,6 @@ module Discorb
|
|
8
8
|
USER_AGENT: untyped
|
9
9
|
Unset: untyped
|
10
10
|
|
11
|
-
#
|
12
|
-
# Represents a attachment file.
|
13
|
-
class Attachment < Discorb::DiscordModel
|
14
|
-
# @return [#read] The file content.
|
15
|
-
attr_reader io: untyped
|
16
|
-
|
17
|
-
# @return [Discorb::Snowflake] The attachment id.
|
18
|
-
attr_reader id: Discorb::Snowflake
|
19
|
-
|
20
|
-
# @return [String] The attachment filename.
|
21
|
-
attr_reader filename: String
|
22
|
-
|
23
|
-
# @return [String] The attachment content type.
|
24
|
-
attr_reader content_type: String
|
25
|
-
|
26
|
-
# @return [Integer] The attachment size in bytes.
|
27
|
-
attr_reader size: Integer
|
28
|
-
|
29
|
-
# @return [String] The attachment url.
|
30
|
-
attr_reader url: String
|
31
|
-
|
32
|
-
# @return [String] The attachment proxy url.
|
33
|
-
attr_reader proxy_url: String
|
34
|
-
|
35
|
-
# @return [Integer] The image height.
|
36
|
-
# @return [nil] If the attachment is not an image.
|
37
|
-
attr_reader height: Integer?
|
38
|
-
|
39
|
-
# @return [Integer] The image width.
|
40
|
-
# @return [nil] If the attachment is not an image.
|
41
|
-
attr_reader width: Integer?
|
42
|
-
|
43
|
-
# @return [Boolean] whether the file is an image.
|
44
|
-
attr_reader image?: bool
|
45
|
-
end
|
46
|
-
|
47
|
-
#
|
48
|
-
# Represents a file to send as an attachment.
|
49
|
-
class File
|
50
|
-
#
|
51
|
-
# Creates a new file from IO.
|
52
|
-
#
|
53
|
-
# @param [#read] io The IO of the file.
|
54
|
-
# @param [String] filename The filename of the file. If not set, path or object_id of the IO is used.
|
55
|
-
# @param [String] content_type The content type of the file. If not set, it is guessed from the filename.
|
56
|
-
# If failed to guess, it is set to `application/octet-stream`.
|
57
|
-
def initialize: (untyped io, ?String? filename, ?content_type: String?) -> void
|
58
|
-
|
59
|
-
#
|
60
|
-
# Creates a new file from a string.
|
61
|
-
#
|
62
|
-
# @param [String] string The string to create the file from.
|
63
|
-
# @param [String] filename The filename of the file. object_id of the string is used if not set.
|
64
|
-
# @param [String] content_type The content type of the file. If not set, it is guessed from the filename.
|
65
|
-
#
|
66
|
-
# @return [File] The new file.
|
67
|
-
def self.from_string: (String string, ?filename: String?, ?content_type: String?) -> File
|
68
|
-
|
69
|
-
def inspect: () -> untyped
|
70
|
-
|
71
|
-
# @return [#read] The IO of the file.
|
72
|
-
attr_accessor io: untyped
|
73
|
-
|
74
|
-
# @return [String] The filename of the file. If not set, path or object_id of the IO is used.
|
75
|
-
attr_accessor filename: String
|
76
|
-
|
77
|
-
# @return [String] The content type of the file. If not set, it is guessed from the filename.
|
78
|
-
attr_accessor content_type: String
|
79
|
-
end
|
80
|
-
|
81
11
|
#
|
82
12
|
# Represents a flag.
|
83
13
|
# @abstract
|
@@ -295,24 +225,27 @@ module Discorb
|
|
295
225
|
#
|
296
226
|
# Edit a message.
|
297
227
|
# @async
|
228
|
+
# @!macro edit
|
298
229
|
#
|
299
230
|
# @param [#to_s] message_id The message id.
|
300
231
|
# @param [String] content The message content.
|
301
232
|
# @param [Discorb::Embed] embed The embed to send.
|
302
233
|
# @param [Array<Discorb::Embed>] embeds The embeds to send.
|
303
234
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions.
|
235
|
+
# @param [Array<Discorb::Attachment>] attachments The new attachments.
|
304
236
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
305
237
|
# @param [Boolean] supress Whether to supress embeds.
|
306
238
|
#
|
307
239
|
# @return [Async::Task<void>] The task.
|
308
240
|
def edit_message: (
|
309
241
|
_ToS message_id,
|
310
|
-
?String
|
311
|
-
?embed: Discorb::Embed
|
312
|
-
?embeds: ::Array[Discorb::Embed]
|
313
|
-
?allowed_mentions: Discorb::AllowedMentions
|
314
|
-
?
|
315
|
-
?
|
242
|
+
?String content,
|
243
|
+
?embed: Discorb::Embed,
|
244
|
+
?embeds: ::Array[Discorb::Embed],
|
245
|
+
?allowed_mentions: Discorb::AllowedMentions,
|
246
|
+
?attachments: ::Array[Discorb::Attachment],
|
247
|
+
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]]),
|
248
|
+
?supress: bool
|
316
249
|
) -> Async::Task[void]
|
317
250
|
|
318
251
|
#
|
@@ -487,6 +420,8 @@ module Discorb
|
|
487
420
|
# @param [Integer] size The size of the image. This is compatible with {Asset#url}, will be ignored.
|
488
421
|
#
|
489
422
|
# @return [String] URL of the avatar.
|
423
|
+
#
|
424
|
+
# rubocop: disable Lint/UnusedMethodArgument
|
490
425
|
def url: (?image_format: String?, ?size: Integer) -> String
|
491
426
|
|
492
427
|
def inspect: () -> untyped
|
@@ -653,12 +588,9 @@ module Discorb
|
|
653
588
|
?fields: ::Array[Discorb::Embed::Field]?,
|
654
589
|
?footer: Discorb::Embed::Footer?,
|
655
590
|
?image: (Discorb::Embed::Image | String)?,
|
656
|
-
?thumbnail: (Discorb::Embed::Thumbnail | String)
|
657
|
-
?data: untyped
|
591
|
+
?thumbnail: (Discorb::Embed::Thumbnail | String)?
|
658
592
|
) -> void
|
659
593
|
|
660
|
-
def inspect: () -> untyped
|
661
|
-
|
662
594
|
#
|
663
595
|
# Convert embed to hash.
|
664
596
|
#
|
@@ -666,6 +598,8 @@ module Discorb
|
|
666
598
|
# @return [Hash] Converted embed.
|
667
599
|
def to_hash: () -> ::Hash[untyped, untyped]
|
668
600
|
|
601
|
+
def self.from_hash: (untyped data) -> untyped
|
602
|
+
|
669
603
|
# @return [String, nil] The title of embed.
|
670
604
|
attr_accessor title: String?
|
671
605
|
|
@@ -916,8 +850,6 @@ module Discorb
|
|
916
850
|
#
|
917
851
|
# @return [Async::Task<self>] The deleted emoji.
|
918
852
|
def delete!: (?reason: String?) -> Async::Task[self]
|
919
|
-
# @return [Discorb::Snowflake] The ID of the emoji.
|
920
|
-
attr_reader id: Discorb::Snowflake
|
921
853
|
|
922
854
|
# @return [String] The name of the emoji.
|
923
855
|
attr_reader name: String
|
@@ -1040,7 +972,7 @@ module Discorb
|
|
1040
972
|
#
|
1041
973
|
# Represents a error because of a cloudflare ban.
|
1042
974
|
class CloudFlareBanError < Discorb::HTTPError
|
1043
|
-
def initialize: (untyped
|
975
|
+
def initialize: (untyped _resp, untyped client) -> void
|
1044
976
|
end
|
1045
977
|
|
1046
978
|
#
|
@@ -1059,6 +991,8 @@ module Discorb
|
|
1059
991
|
def initialize: (untyped message) -> void
|
1060
992
|
end
|
1061
993
|
|
994
|
+
#
|
995
|
+
# Represents an event in guild.
|
1062
996
|
class ScheduledEvent < Discorb::DiscordModel
|
1063
997
|
# @!visibility private
|
1064
998
|
def initialize: (untyped client, untyped data) -> void
|
@@ -1972,7 +1906,7 @@ module Discorb
|
|
1972
1906
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions that the client is using.
|
1973
1907
|
# @param [Discorb::Intents] intents The intents that the client is currently using.
|
1974
1908
|
# @param [Integer] message_caches The number of messages to cache.
|
1975
|
-
# @param [#
|
1909
|
+
# @param [#write] log The IO object to use for logging.
|
1976
1910
|
# @param [Boolean] colorize_log Whether to colorize the log.
|
1977
1911
|
# @param [:debug, :info, :warn, :error, :critical] log_level The log level.
|
1978
1912
|
# @param [Boolean] wait_until_ready Whether to delay event dispatch until ready.
|
@@ -2093,8 +2027,7 @@ module Discorb
|
|
2093
2027
|
#
|
2094
2028
|
# @param [Discorb::Activity] activity The activity to update.
|
2095
2029
|
# @param [:online, :idle, :dnd, :invisible] status The status to update.
|
2096
|
-
|
2097
|
-
def update_presence: (?Discorb::Activity? activity, ?status: Symbol?, ?afk: String) -> untyped
|
2030
|
+
def update_presence: (?Discorb::Activity? activity, ?status: Symbol?) -> untyped
|
2098
2031
|
|
2099
2032
|
#
|
2100
2033
|
# Method to wait for a event.
|
@@ -2227,7 +2160,7 @@ module Discorb
|
|
2227
2160
|
# @note `token` parameter only required if you don't run client.
|
2228
2161
|
def setup_commands: (?String? token, ?guild_ids: (::Array[untyped] | bool)?) -> untyped
|
2229
2162
|
|
2230
|
-
def connect_gateway: (untyped reconnect
|
2163
|
+
def connect_gateway: (untyped reconnect) -> untyped
|
2231
2164
|
|
2232
2165
|
def send_gateway: (untyped opcode, **untyped value) -> untyped
|
2233
2166
|
|
@@ -2362,9 +2295,8 @@ module Discorb
|
|
2362
2295
|
attr_reader id: String
|
2363
2296
|
end
|
2364
2297
|
|
2365
|
-
|
2366
|
-
|
2367
|
-
|
2298
|
+
#
|
2299
|
+
# Represents an endpoint.
|
2368
2300
|
#
|
2369
2301
|
# Represents invite of discord.
|
2370
2302
|
class Invite < Discorb::DiscordModel
|
@@ -2495,6 +2427,14 @@ module Discorb
|
|
2495
2427
|
#
|
2496
2428
|
# @return [Async::Task<Discorb::Guild::Ban>] The ban.
|
2497
2429
|
def ban: (?delete_message_days: Integer, ?reason: String?) -> Async::Task[Discorb::Guild::Ban]
|
2430
|
+
|
2431
|
+
#
|
2432
|
+
# Checks if the member can manage the given role.
|
2433
|
+
#
|
2434
|
+
# @param [Discorb::Role] role The role.
|
2435
|
+
#
|
2436
|
+
# @return [Boolean] `true` if the member can manage the role.
|
2437
|
+
def can_manage?: (Discorb::Role role) -> bool
|
2498
2438
|
# @return [Time] The time the member boosted the guild.
|
2499
2439
|
attr_reader premium_since: Time
|
2500
2440
|
|
@@ -2846,8 +2786,8 @@ module Discorb
|
|
2846
2786
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions.
|
2847
2787
|
# @param [Discorb::Message, Discorb::Message::Reference] reference The message to reply to.
|
2848
2788
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
2849
|
-
# @param [Discorb::
|
2850
|
-
# @param [Array<Discorb::
|
2789
|
+
# @param [Discorb::Attachment] attachment The attachment to send.
|
2790
|
+
# @param [Array<Discorb::Attachment>] attachments The attachments to send.
|
2851
2791
|
#
|
2852
2792
|
# @return [Async::Task<Discorb::Message>] The message sent.
|
2853
2793
|
def post: (
|
@@ -2858,31 +2798,34 @@ module Discorb
|
|
2858
2798
|
?allowed_mentions: Discorb::AllowedMentions?,
|
2859
2799
|
?reference: (Discorb::Message | Discorb::Message::Reference)?,
|
2860
2800
|
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]])?,
|
2861
|
-
?
|
2862
|
-
?
|
2801
|
+
?attachment: Discorb::Attachment?,
|
2802
|
+
?attachments: ::Array[Discorb::Attachment]?
|
2863
2803
|
) -> Async::Task[Discorb::Message]
|
2864
2804
|
|
2865
2805
|
#
|
2866
2806
|
# Edit a message.
|
2867
2807
|
# @async
|
2808
|
+
# @!macro edit
|
2868
2809
|
#
|
2869
2810
|
# @param [#to_s] message_id The message id.
|
2870
2811
|
# @param [String] content The message content.
|
2871
2812
|
# @param [Discorb::Embed] embed The embed to send.
|
2872
2813
|
# @param [Array<Discorb::Embed>] embeds The embeds to send.
|
2873
2814
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions.
|
2815
|
+
# @param [Array<Discorb::Attachment>] attachments The new attachments.
|
2874
2816
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
2875
2817
|
# @param [Boolean] supress Whether to supress embeds.
|
2876
2818
|
#
|
2877
2819
|
# @return [Async::Task<void>] The task.
|
2878
2820
|
def edit_message: (
|
2879
2821
|
_ToS message_id,
|
2880
|
-
?String
|
2881
|
-
?embed: Discorb::Embed
|
2882
|
-
?embeds: ::Array[Discorb::Embed]
|
2883
|
-
?allowed_mentions: Discorb::AllowedMentions
|
2884
|
-
?
|
2885
|
-
?
|
2822
|
+
?String content,
|
2823
|
+
?embed: Discorb::Embed,
|
2824
|
+
?embeds: ::Array[Discorb::Embed],
|
2825
|
+
?allowed_mentions: Discorb::AllowedMentions,
|
2826
|
+
?attachments: ::Array[Discorb::Attachment],
|
2827
|
+
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]]),
|
2828
|
+
?supress: bool
|
2886
2829
|
) -> Async::Task[void]
|
2887
2830
|
|
2888
2831
|
#
|
@@ -2977,8 +2920,9 @@ module Discorb
|
|
2977
2920
|
# @return [Time] The time when the last pinned message was pinned.
|
2978
2921
|
attr_reader last_pin_timestamp: Time
|
2979
2922
|
|
2980
|
-
#
|
2981
|
-
|
2923
|
+
# @!attribute [r] threads
|
2924
|
+
# @return [Array<Discorb::ThreadChannel>] The threads in the channel.
|
2925
|
+
attr_reader threads: untyped
|
2982
2926
|
end
|
2983
2927
|
|
2984
2928
|
#
|
@@ -2997,8 +2941,8 @@ module Discorb
|
|
2997
2941
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions.
|
2998
2942
|
# @param [Discorb::Message, Discorb::Message::Reference] reference The message to reply to.
|
2999
2943
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
3000
|
-
# @param [Discorb::
|
3001
|
-
# @param [Array<Discorb::
|
2944
|
+
# @param [Discorb::Attachment] attachment The attachment to send.
|
2945
|
+
# @param [Array<Discorb::Attachment>] attachments The attachments to send.
|
3002
2946
|
#
|
3003
2947
|
# @return [Async::Task<Discorb::Message>] The message sent.
|
3004
2948
|
def post: (
|
@@ -3009,31 +2953,34 @@ module Discorb
|
|
3009
2953
|
?allowed_mentions: Discorb::AllowedMentions?,
|
3010
2954
|
?reference: (Discorb::Message | Discorb::Message::Reference)?,
|
3011
2955
|
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]])?,
|
3012
|
-
?
|
3013
|
-
?
|
2956
|
+
?attachment: Discorb::Attachment?,
|
2957
|
+
?attachments: ::Array[Discorb::Attachment]?
|
3014
2958
|
) -> Async::Task[Discorb::Message]
|
3015
2959
|
|
3016
2960
|
#
|
3017
2961
|
# Edit a message.
|
3018
2962
|
# @async
|
2963
|
+
# @!macro edit
|
3019
2964
|
#
|
3020
2965
|
# @param [#to_s] message_id The message id.
|
3021
2966
|
# @param [String] content The message content.
|
3022
2967
|
# @param [Discorb::Embed] embed The embed to send.
|
3023
2968
|
# @param [Array<Discorb::Embed>] embeds The embeds to send.
|
3024
2969
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions.
|
2970
|
+
# @param [Array<Discorb::Attachment>] attachments The new attachments.
|
3025
2971
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
3026
2972
|
# @param [Boolean] supress Whether to supress embeds.
|
3027
2973
|
#
|
3028
2974
|
# @return [Async::Task<void>] The task.
|
3029
2975
|
def edit_message: (
|
3030
2976
|
_ToS message_id,
|
3031
|
-
?String
|
3032
|
-
?embed: Discorb::Embed
|
3033
|
-
?embeds: ::Array[Discorb::Embed]
|
3034
|
-
?allowed_mentions: Discorb::AllowedMentions
|
3035
|
-
?
|
3036
|
-
?
|
2977
|
+
?String content,
|
2978
|
+
?embed: Discorb::Embed,
|
2979
|
+
?embeds: ::Array[Discorb::Embed],
|
2980
|
+
?allowed_mentions: Discorb::AllowedMentions,
|
2981
|
+
?attachments: ::Array[Discorb::Attachment],
|
2982
|
+
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]]),
|
2983
|
+
?supress: bool
|
3037
2984
|
) -> Async::Task[void]
|
3038
2985
|
|
3039
2986
|
#
|
@@ -3140,6 +3087,10 @@ module Discorb
|
|
3140
3087
|
?rtc_region: Symbol,
|
3141
3088
|
?reason: String?
|
3142
3089
|
) -> Async::Task[self]
|
3090
|
+
|
3091
|
+
def voice_states: () -> untyped
|
3092
|
+
|
3093
|
+
def members: () -> untyped
|
3143
3094
|
def connect: () -> untyped
|
3144
3095
|
|
3145
3096
|
# @return [Integer] The bitrate of the voice channel.
|
@@ -3193,6 +3144,14 @@ module Discorb
|
|
3193
3144
|
# @return [Async::Task<StageInstance>] The current stage instance.
|
3194
3145
|
# @return [Async::Task<nil>] If there is no current stage instance.
|
3195
3146
|
def fetch_stage_instance: () -> Async::Task[StageInstance]
|
3147
|
+
|
3148
|
+
def voice_states: () -> untyped
|
3149
|
+
|
3150
|
+
def members: () -> untyped
|
3151
|
+
|
3152
|
+
def speakers: () -> untyped
|
3153
|
+
|
3154
|
+
def audiences: () -> untyped
|
3196
3155
|
def connect: () -> untyped
|
3197
3156
|
|
3198
3157
|
# @return [Integer] The bitrate of the voice channel.
|
@@ -3271,6 +3230,16 @@ module Discorb
|
|
3271
3230
|
# @note This method won't unarchive the thread. Use {#unarchive} instead.
|
3272
3231
|
def unlock: (?reason: String?) -> self
|
3273
3232
|
|
3233
|
+
def parent: () -> untyped
|
3234
|
+
|
3235
|
+
def me: () -> untyped
|
3236
|
+
|
3237
|
+
def joined?: () -> bool
|
3238
|
+
|
3239
|
+
def guild: () -> untyped
|
3240
|
+
|
3241
|
+
def owner: () -> untyped
|
3242
|
+
|
3274
3243
|
def inspect: () -> untyped
|
3275
3244
|
|
3276
3245
|
#
|
@@ -3305,8 +3274,8 @@ module Discorb
|
|
3305
3274
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions.
|
3306
3275
|
# @param [Discorb::Message, Discorb::Message::Reference] reference The message to reply to.
|
3307
3276
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
3308
|
-
# @param [Discorb::
|
3309
|
-
# @param [Array<Discorb::
|
3277
|
+
# @param [Discorb::Attachment] attachment The attachment to send.
|
3278
|
+
# @param [Array<Discorb::Attachment>] attachments The attachments to send.
|
3310
3279
|
#
|
3311
3280
|
# @return [Async::Task<Discorb::Message>] The message sent.
|
3312
3281
|
def post: (
|
@@ -3317,31 +3286,34 @@ module Discorb
|
|
3317
3286
|
?allowed_mentions: Discorb::AllowedMentions?,
|
3318
3287
|
?reference: (Discorb::Message | Discorb::Message::Reference)?,
|
3319
3288
|
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]])?,
|
3320
|
-
?
|
3321
|
-
?
|
3289
|
+
?attachment: Discorb::Attachment?,
|
3290
|
+
?attachments: ::Array[Discorb::Attachment]?
|
3322
3291
|
) -> Async::Task[Discorb::Message]
|
3323
3292
|
|
3324
3293
|
#
|
3325
3294
|
# Edit a message.
|
3326
3295
|
# @async
|
3296
|
+
# @!macro edit
|
3327
3297
|
#
|
3328
3298
|
# @param [#to_s] message_id The message id.
|
3329
3299
|
# @param [String] content The message content.
|
3330
3300
|
# @param [Discorb::Embed] embed The embed to send.
|
3331
3301
|
# @param [Array<Discorb::Embed>] embeds The embeds to send.
|
3332
3302
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions.
|
3303
|
+
# @param [Array<Discorb::Attachment>] attachments The new attachments.
|
3333
3304
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
3334
3305
|
# @param [Boolean] supress Whether to supress embeds.
|
3335
3306
|
#
|
3336
3307
|
# @return [Async::Task<void>] The task.
|
3337
3308
|
def edit_message: (
|
3338
3309
|
_ToS message_id,
|
3339
|
-
?String
|
3340
|
-
?embed: Discorb::Embed
|
3341
|
-
?embeds: ::Array[Discorb::Embed]
|
3342
|
-
?allowed_mentions: Discorb::AllowedMentions
|
3343
|
-
?
|
3344
|
-
?
|
3310
|
+
?String content,
|
3311
|
+
?embed: Discorb::Embed,
|
3312
|
+
?embeds: ::Array[Discorb::Embed],
|
3313
|
+
?allowed_mentions: Discorb::AllowedMentions,
|
3314
|
+
?attachments: ::Array[Discorb::Attachment],
|
3315
|
+
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]]),
|
3316
|
+
?supress: bool
|
3345
3317
|
) -> Async::Task[void]
|
3346
3318
|
|
3347
3319
|
#
|
@@ -3452,37 +3424,23 @@ module Discorb
|
|
3452
3424
|
# @return [Boolean] Whether the thread is archived or not.
|
3453
3425
|
attr_reader archived: bool
|
3454
3426
|
|
3455
|
-
#
|
3456
|
-
#
|
3457
|
-
attr_reader parent: Discorb::GuildChannel?
|
3458
|
-
|
3459
|
-
# @return [Discorb::ThreadChannel::Member] The bot's member in the thread.
|
3460
|
-
# @return [nil] If the bot is not in the thread.
|
3461
|
-
attr_reader me: Discorb::ThreadChannel::Member?
|
3462
|
-
|
3463
|
-
# @return [Boolean] Whether the bot is in the thread or not.
|
3464
|
-
attr_reader joined?: bool
|
3465
|
-
|
3466
|
-
# @macro client_cache
|
3467
|
-
# @return [Discorb::Guild] The guild of the thread.
|
3468
|
-
attr_reader guild: Discorb::Guild?
|
3469
|
-
|
3470
|
-
# @macro client_cache
|
3471
|
-
# @macro members_intent
|
3472
|
-
# @return [Discorb::Member] The owner of the thread.
|
3473
|
-
attr_reader owner: Discorb::Member?
|
3474
|
-
|
3427
|
+
#
|
3428
|
+
# Represents a thread in news channel(aka announcement channel).
|
3475
3429
|
class News < Discorb::ThreadChannel
|
3476
3430
|
end
|
3477
3431
|
|
3432
|
+
#
|
3433
|
+
# Represents a public thread in text channel.
|
3478
3434
|
class Public < Discorb::ThreadChannel
|
3479
3435
|
end
|
3480
3436
|
|
3437
|
+
#
|
3438
|
+
# Represents a private thread in text channel.
|
3481
3439
|
class Private < Discorb::ThreadChannel
|
3482
3440
|
end
|
3483
3441
|
|
3484
3442
|
#
|
3485
|
-
#
|
3443
|
+
# Represents a member in a thread.
|
3486
3444
|
class Member < Discorb::DiscordModel
|
3487
3445
|
def initialize: (untyped cilent, untyped data) -> void
|
3488
3446
|
|
@@ -3501,7 +3459,11 @@ module Discorb
|
|
3501
3459
|
end
|
3502
3460
|
end
|
3503
3461
|
|
3462
|
+
#
|
3463
|
+
# Represents a category in a guild.
|
3504
3464
|
class CategoryChannel < Discorb::GuildChannel
|
3465
|
+
def channels: () -> untyped
|
3466
|
+
|
3505
3467
|
def text_channels: () -> untyped
|
3506
3468
|
|
3507
3469
|
def voice_channels: () -> untyped
|
@@ -3517,34 +3479,37 @@ module Discorb
|
|
3517
3479
|
def create_news_channel: (*untyped args, **untyped kwargs) -> untyped
|
3518
3480
|
|
3519
3481
|
def create_stage_channel: (*untyped args, **untyped kwargs) -> untyped
|
3520
|
-
# Returns the value of attribute channels.
|
3521
|
-
attr_reader channels: untyped
|
3522
3482
|
end
|
3523
3483
|
|
3484
|
+
#
|
3485
|
+
# Represents a DM channel.
|
3524
3486
|
class DMChannel < Discorb::Channel
|
3525
3487
|
include Discorb::Messageable
|
3526
3488
|
|
3527
3489
|
#
|
3528
3490
|
# Edit a message.
|
3529
3491
|
# @async
|
3492
|
+
# @!macro edit
|
3530
3493
|
#
|
3531
3494
|
# @param [#to_s] message_id The message id.
|
3532
3495
|
# @param [String] content The message content.
|
3533
3496
|
# @param [Discorb::Embed] embed The embed to send.
|
3534
3497
|
# @param [Array<Discorb::Embed>] embeds The embeds to send.
|
3535
3498
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions.
|
3499
|
+
# @param [Array<Discorb::Attachment>] attachments The new attachments.
|
3536
3500
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
3537
3501
|
# @param [Boolean] supress Whether to supress embeds.
|
3538
3502
|
#
|
3539
3503
|
# @return [Async::Task<void>] The task.
|
3540
3504
|
def edit_message: (
|
3541
3505
|
_ToS message_id,
|
3542
|
-
?String
|
3543
|
-
?embed: Discorb::Embed
|
3544
|
-
?embeds: ::Array[Discorb::Embed]
|
3545
|
-
?allowed_mentions: Discorb::AllowedMentions
|
3546
|
-
?
|
3547
|
-
?
|
3506
|
+
?String content,
|
3507
|
+
?embed: Discorb::Embed,
|
3508
|
+
?embeds: ::Array[Discorb::Embed],
|
3509
|
+
?allowed_mentions: Discorb::AllowedMentions,
|
3510
|
+
?attachments: ::Array[Discorb::Attachment],
|
3511
|
+
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]]),
|
3512
|
+
?supress: bool
|
3548
3513
|
) -> Async::Task[void]
|
3549
3514
|
|
3550
3515
|
#
|
@@ -3690,6 +3655,21 @@ module Discorb
|
|
3690
3655
|
attr_reader fired_by: (Discorb::Member | Discorb::User)?
|
3691
3656
|
end
|
3692
3657
|
|
3658
|
+
#
|
3659
|
+
# Represents a `INTEGRATION_DELETE` event.
|
3660
|
+
class IntegrationDeleteEvent < Discorb::Gateway::GatewayEvent
|
3661
|
+
# @return [Discorb::Snowflake] The ID of the integration.
|
3662
|
+
attr_reader id: Discorb::Snowflake
|
3663
|
+
|
3664
|
+
# @macro client_cache
|
3665
|
+
# @return [Discorb::Guild] The guild of the integration.
|
3666
|
+
attr_reader guild: Discorb::Guild?
|
3667
|
+
|
3668
|
+
# @macro client_cache
|
3669
|
+
# @return [Discorb::User] The user associated with the integration.
|
3670
|
+
attr_reader user: Discorb::User?
|
3671
|
+
end
|
3672
|
+
|
3693
3673
|
#
|
3694
3674
|
# Represents a `MESSAGE_REACTION_REMOVE_ALL` event.
|
3695
3675
|
class ReactionRemoveAllEvent < Discorb::Gateway::GatewayEvent
|
@@ -3869,12 +3849,6 @@ module Discorb
|
|
3869
3849
|
attr_reader guild: Discorb::Guild?
|
3870
3850
|
end
|
3871
3851
|
|
3872
|
-
class GuildIntegrationsUpdateEvent < Discorb::Gateway::GatewayEvent
|
3873
|
-
def initialize: (untyped client, untyped data) -> void
|
3874
|
-
|
3875
|
-
def guild: () -> untyped
|
3876
|
-
end
|
3877
|
-
|
3878
3852
|
#
|
3879
3853
|
# Represents a `TYPING_START` event.
|
3880
3854
|
class TypingStartEvent < Discorb::Gateway::GatewayEvent
|
@@ -3939,7 +3913,7 @@ module Discorb
|
|
3939
3913
|
#
|
3940
3914
|
# A module to handle gateway events.
|
3941
3915
|
module Handler
|
3942
|
-
def connect_gateway: (untyped reconnect
|
3916
|
+
def connect_gateway: (untyped reconnect) -> untyped
|
3943
3917
|
|
3944
3918
|
def send_gateway: (untyped opcode, **untyped value) -> untyped
|
3945
3919
|
|
@@ -3976,9 +3950,13 @@ module Discorb
|
|
3976
3950
|
# @param dm_messages [Boolean] Whether dm messages related events are enabled.
|
3977
3951
|
# @param dm_reactions [Boolean] Whether dm reactions related events are enabled.
|
3978
3952
|
# @param dm_typing [Boolean] Whether dm typing related events are enabled.
|
3953
|
+
# @param message_content [Boolean] Whether message content will be sent with events.
|
3979
3954
|
# @param scheduled_events [Boolean] Whether events related scheduled events are enabled.
|
3980
3955
|
#
|
3981
3956
|
# @note You must enable privileged intents to use `members` and/or `presences` intents.
|
3957
|
+
# @note Message Content Intent is not required to use `message_content` intents for now,
|
3958
|
+
# this will be required in April 30, 2022. [Learn More](https://support-dev.discord.com/hc/en-us/articles/4404772028055).
|
3959
|
+
# You should specify `message_content` intent for preventing unexpected changes in the future.
|
3982
3960
|
def initialize: (
|
3983
3961
|
?guilds: bool,
|
3984
3962
|
?members: bool,
|
@@ -3995,6 +3973,7 @@ module Discorb
|
|
3995
3973
|
?dm_messages: bool,
|
3996
3974
|
?dm_reactions: bool,
|
3997
3975
|
?dm_typing: bool,
|
3976
|
+
?message_content: bool?,
|
3998
3977
|
?scheduled_events: bool
|
3999
3978
|
) -> void
|
4000
3979
|
|
@@ -4016,10 +3995,6 @@ module Discorb
|
|
4016
3995
|
# @param value [Integer] The value of the intent.
|
4017
3996
|
def self.from_value: (Integer value) -> untyped
|
4018
3997
|
|
4019
|
-
# Create new intent object with default values.
|
4020
|
-
# This will return intents without members and presence.
|
4021
|
-
def self.default: () -> untyped
|
4022
|
-
|
4023
3998
|
# Create new intent object with all intents.
|
4024
3999
|
def self.all: () -> untyped
|
4025
4000
|
|
@@ -4028,39 +4003,7 @@ module Discorb
|
|
4028
4003
|
end
|
4029
4004
|
|
4030
4005
|
#
|
4031
|
-
# Represents a
|
4032
|
-
class AllowedMentions
|
4033
|
-
#
|
4034
|
-
# Initializes a new instance of the AllowedMentions class.
|
4035
|
-
#
|
4036
|
-
# @param [Boolean] everyone Whether to allow @everyone or @here.
|
4037
|
-
# @param [Boolean, Array<Discorb::Role>] roles The roles to allow, or false to disable.
|
4038
|
-
# @param [Boolean, Array<Discorb::User>] users The users to allow, or false to disable.
|
4039
|
-
# @param [Boolean] replied_user Whether to ping the user that sent the message to reply.
|
4040
|
-
def initialize: (
|
4041
|
-
?everyone: bool?,
|
4042
|
-
?roles: (bool | ::Array[Discorb::Role])?,
|
4043
|
-
?users: (bool | ::Array[Discorb::User])?,
|
4044
|
-
?replied_user: bool?
|
4045
|
-
) -> void
|
4046
|
-
|
4047
|
-
def inspect: () -> untyped
|
4048
|
-
|
4049
|
-
# @return [Boolean] Whether to allow @everyone or @here.
|
4050
|
-
attr_accessor everyone: bool
|
4051
|
-
|
4052
|
-
# @return [Boolean, Array<Discorb::Role>] The roles to allow, or false to disable.
|
4053
|
-
attr_accessor roles: (bool | ::Array[Discorb::Role])
|
4054
|
-
|
4055
|
-
# @return [Boolean, Array<Discorb::User>] The users to allow, or false to disable.
|
4056
|
-
attr_accessor users: (bool | ::Array[Discorb::User])
|
4057
|
-
|
4058
|
-
# @return [Boolean] Whether to ping the user that sent the message to reply.
|
4059
|
-
attr_accessor replied_user: bool
|
4060
|
-
end
|
4061
|
-
|
4062
|
-
#
|
4063
|
-
# Represents a message.
|
4006
|
+
# Represents a message in Discord.
|
4064
4007
|
class Message < Discorb::DiscordModel
|
4065
4008
|
#
|
4066
4009
|
# Removes the mentions from the message.
|
@@ -4090,17 +4033,19 @@ module Discorb
|
|
4090
4033
|
# @param [Discorb::Embed] embed The embed to send.
|
4091
4034
|
# @param [Array<Discorb::Embed>] embeds The embeds to send.
|
4092
4035
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions.
|
4036
|
+
# @param [Array<Discorb::Attachment>] attachments The new attachments.
|
4093
4037
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
4094
4038
|
# @param [Boolean] supress Whether to supress embeds.
|
4095
4039
|
#
|
4096
4040
|
# @return [Async::Task<void>] The task.
|
4097
4041
|
def edit: (
|
4098
|
-
?String
|
4099
|
-
?embed: Discorb::Embed
|
4100
|
-
?embeds: ::Array[Discorb::Embed]
|
4101
|
-
?allowed_mentions: Discorb::AllowedMentions
|
4102
|
-
?
|
4103
|
-
?
|
4042
|
+
?String content,
|
4043
|
+
?embed: Discorb::Embed,
|
4044
|
+
?embeds: ::Array[Discorb::Embed],
|
4045
|
+
?allowed_mentions: Discorb::AllowedMentions,
|
4046
|
+
?attachments: ::Array[Discorb::Attachment],
|
4047
|
+
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]]),
|
4048
|
+
?supress: bool
|
4104
4049
|
) -> Async::Task[void]
|
4105
4050
|
|
4106
4051
|
#
|
@@ -4201,8 +4146,6 @@ module Discorb
|
|
4201
4146
|
|
4202
4147
|
# Meta
|
4203
4148
|
def inspect: () -> untyped
|
4204
|
-
# @return [Discorb::Snowflake] The ID of the message.
|
4205
|
-
attr_reader id: Discorb::Snowflake
|
4206
4149
|
|
4207
4150
|
# @return [Discorb::User, Discorb::Member] The user that sent the message.
|
4208
4151
|
attr_reader author: (Discorb::User | Discorb::Member)
|
@@ -4412,6 +4355,8 @@ module Discorb
|
|
4412
4355
|
attr_accessor fail_if_not_exists: bool
|
4413
4356
|
end
|
4414
4357
|
|
4358
|
+
#
|
4359
|
+
# Represents a sticker.
|
4415
4360
|
class Sticker
|
4416
4361
|
def initialize: (untyped data) -> void
|
4417
4362
|
|
@@ -4467,8 +4412,8 @@ module Discorb
|
|
4467
4412
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions.
|
4468
4413
|
# @param [Discorb::Message, Discorb::Message::Reference] reference The message to reply to.
|
4469
4414
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
4470
|
-
# @param [Discorb::
|
4471
|
-
# @param [Array<Discorb::
|
4415
|
+
# @param [Discorb::Attachment] attachment The attachment to send.
|
4416
|
+
# @param [Array<Discorb::Attachment>] attachments The attachments to send.
|
4472
4417
|
#
|
4473
4418
|
# @return [Async::Task<Discorb::Message>] The message sent.
|
4474
4419
|
def post: (
|
@@ -4479,31 +4424,34 @@ module Discorb
|
|
4479
4424
|
?allowed_mentions: Discorb::AllowedMentions?,
|
4480
4425
|
?reference: (Discorb::Message | Discorb::Message::Reference)?,
|
4481
4426
|
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]])?,
|
4482
|
-
?
|
4483
|
-
?
|
4427
|
+
?attachment: Discorb::Attachment?,
|
4428
|
+
?attachments: ::Array[Discorb::Attachment]?
|
4484
4429
|
) -> Async::Task[Discorb::Message]
|
4485
4430
|
|
4486
4431
|
#
|
4487
4432
|
# Edit a message.
|
4488
4433
|
# @async
|
4434
|
+
# @!macro edit
|
4489
4435
|
#
|
4490
4436
|
# @param [#to_s] message_id The message id.
|
4491
4437
|
# @param [String] content The message content.
|
4492
4438
|
# @param [Discorb::Embed] embed The embed to send.
|
4493
4439
|
# @param [Array<Discorb::Embed>] embeds The embeds to send.
|
4494
4440
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions.
|
4441
|
+
# @param [Array<Discorb::Attachment>] attachments The new attachments.
|
4495
4442
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
4496
4443
|
# @param [Boolean] supress Whether to supress embeds.
|
4497
4444
|
#
|
4498
4445
|
# @return [Async::Task<void>] The task.
|
4499
4446
|
def edit_message: (
|
4500
4447
|
_ToS message_id,
|
4501
|
-
?String
|
4502
|
-
?embed: Discorb::Embed
|
4503
|
-
?embeds: ::Array[Discorb::Embed]
|
4504
|
-
?allowed_mentions: Discorb::AllowedMentions
|
4505
|
-
?
|
4506
|
-
?
|
4448
|
+
?String content,
|
4449
|
+
?embed: Discorb::Embed,
|
4450
|
+
?embeds: ::Array[Discorb::Embed],
|
4451
|
+
?allowed_mentions: Discorb::AllowedMentions,
|
4452
|
+
?attachments: ::Array[Discorb::Attachment],
|
4453
|
+
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]]),
|
4454
|
+
?supress: bool
|
4507
4455
|
) -> Async::Task[void]
|
4508
4456
|
|
4509
4457
|
#
|
@@ -4993,6 +4941,8 @@ module Discorb
|
|
4993
4941
|
attr_reader end: Time
|
4994
4942
|
end
|
4995
4943
|
|
4944
|
+
#
|
4945
|
+
# Represents the party of an activity.
|
4996
4946
|
class Party < Discorb::DiscordModel
|
4997
4947
|
# @return [String] The id of the party.
|
4998
4948
|
attr_reader id: String
|
@@ -5009,13 +4959,13 @@ module Discorb
|
|
5009
4959
|
class Asset < Discorb::DiscordModel
|
5010
4960
|
def initialize: (untyped data) -> void
|
5011
4961
|
|
5012
|
-
# @return [String] The large image ID of the asset.
|
4962
|
+
# @return [String] The large image ID or URL of the asset.
|
5013
4963
|
attr_reader large_image: String
|
5014
4964
|
|
5015
4965
|
# @return [String] The large text of the activity.
|
5016
4966
|
attr_reader large_text: String
|
5017
4967
|
|
5018
|
-
# @return [String] The small image ID of the activity.
|
4968
|
+
# @return [String] The small image ID or URL of the activity.
|
5019
4969
|
attr_reader small_image: String
|
5020
4970
|
|
5021
4971
|
# @return [String] The small text of the activity.
|
@@ -5116,127 +5066,82 @@ module Discorb
|
|
5116
5066
|
|
5117
5067
|
def self.included: (untyped base) -> untyped
|
5118
5068
|
|
5119
|
-
|
5120
|
-
include Discorb::ApplicationCommand::Handler
|
5069
|
+
#
|
5121
5070
|
|
5122
|
-
|
5123
|
-
# Define a new event.
|
5124
|
-
#
|
5125
|
-
# @param [Symbol] event_name The name of the event.
|
5126
|
-
# @param [Symbol] id The id of the event. Used to delete the event.
|
5127
|
-
# @param [Hash] metadata Other metadata.
|
5128
|
-
#
|
5129
|
-
# @return [Discorb::EventHandler] The event.
|
5130
|
-
def event: (Symbol event_name, ?id: Symbol?, **::Hash[untyped, untyped] metadata) -> Discorb::EventHandler
|
5071
|
+
end
|
5131
5072
|
|
5132
|
-
|
5133
|
-
|
5134
|
-
|
5135
|
-
|
5136
|
-
|
5137
|
-
|
5138
|
-
|
5139
|
-
|
5140
|
-
|
5141
|
-
|
5073
|
+
#
|
5074
|
+
# Represents a attachment file.
|
5075
|
+
class Attachment
|
5076
|
+
#
|
5077
|
+
# Creates a new attachment.
|
5078
|
+
#
|
5079
|
+
# @param [#read, String] source The Source of the attachment.
|
5080
|
+
# @param [String] filename The filename of the attachment. If not set, path or object_id of the IO is used.
|
5081
|
+
# @param [String] description The description of the attachment.
|
5082
|
+
# @param [String] content_type The content type of the attachment. If not set, it is guessed from the filename.
|
5083
|
+
# If failed to guess, it is set to `application/octet-stream`.
|
5084
|
+
# @param [Boolean] will_close Whether the IO will be closed after the attachment is sent.
|
5085
|
+
def initialize: (
|
5086
|
+
(untyped | String) source,
|
5087
|
+
?String? filename,
|
5088
|
+
?description: String?,
|
5089
|
+
?content_type: String?,
|
5090
|
+
?will_close: bool
|
5091
|
+
) -> void
|
5142
5092
|
|
5143
|
-
|
5093
|
+
#
|
5094
|
+
# Creates a new file from a string.
|
5095
|
+
#
|
5096
|
+
# @param [String] string The string to create the file from.
|
5097
|
+
# @param [String] filename The filename of the file. object_id of the string is used if not set.
|
5098
|
+
# @param [String] content_type The content type of the file. If not set, it is guessed from the filename.
|
5099
|
+
#
|
5100
|
+
# @return [File] The new file.
|
5101
|
+
def self.from_string: (
|
5102
|
+
String string,
|
5103
|
+
?String? filename,
|
5104
|
+
?content_type: String?,
|
5105
|
+
?description: untyped
|
5106
|
+
) -> File
|
5144
5107
|
|
5145
|
-
|
5146
|
-
|
5147
|
-
#
|
5148
|
-
# @param [String] command_name Command name.
|
5149
|
-
# @param [String] description Command description.
|
5150
|
-
# @param [Hash{String => Hash{:description => String, :optional => Boolean, :type => Object}}] options Command options.
|
5151
|
-
# The key is the option name, the value is a hash with the following keys:
|
5152
|
-
#
|
5153
|
-
# | Key | Type | Description |
|
5154
|
-
# | --- | --- | --- |
|
5155
|
-
# | `:description` | `String` | Description of the option. |
|
5156
|
-
# | `:required` | Whether the argument is required. `optional` will be used if not specified. |
|
5157
|
-
# | `:optional` | Whether the argument is optional. `required` will be used if not specified. |
|
5158
|
-
# | `:type` | `Object` | Type of the option. |
|
5159
|
-
# | `:choice` | `Hash{String => String, Integer, Float}` | Type of the option. |
|
5160
|
-
# | `:default` | `Object` | Default value of the option. |
|
5161
|
-
# | `:channel_types` | `Array<Class<Discorb::Channel>>` | Type of the channel option. |
|
5162
|
-
# | `:autocomplete` | `Proc` | Autocomplete function. |
|
5163
|
-
# | `:range` | `Range` | Range of the option. Only valid for numeric options. (`:int`, `:float`) |
|
5164
|
-
#
|
5165
|
-
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
|
5166
|
-
# @param [Proc] block Command block.
|
5167
|
-
#
|
5168
|
-
# @return [Discorb::ApplicationCommand::Command::SlashCommand] Command object.
|
5169
|
-
#
|
5170
|
-
# @see file:docs/application_command.md#register-slash-command Application Comamnds: Register Slash Command
|
5171
|
-
# @see file:docs/cli/setup.md CLI: setup
|
5172
|
-
def slash: (
|
5173
|
-
String command_name,
|
5174
|
-
String description,
|
5175
|
-
?::Hash[String, String | Integer | Float] options,
|
5176
|
-
?guild_ids: (::Array[untyped] | bool)?
|
5177
|
-
) -> Discorb::ApplicationCommand::Command::SlashCommand
|
5108
|
+
# @return [#read] The file content.
|
5109
|
+
attr_reader io: untyped
|
5178
5110
|
|
5179
|
-
|
5180
|
-
|
5181
|
-
#
|
5182
|
-
# @param [String] command_name Command name.
|
5183
|
-
# @param [String] description Command description.
|
5184
|
-
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
|
5185
|
-
#
|
5186
|
-
# @yield Block to yield with the command.
|
5187
|
-
# @yieldparam [Discorb::ApplicationCommand::Command::GroupCommand] group Group command.
|
5188
|
-
#
|
5189
|
-
# @return [Discorb::ApplicationCommand::Command::GroupCommand] Command object.
|
5190
|
-
#
|
5191
|
-
# @see file:docs/application_command.md Application Commands
|
5192
|
-
# @see file:docs/cli/setup.md CLI: setup
|
5193
|
-
def slash_group: (String command_name, String description, ?guild_ids: (::Array[untyped] | bool)?) ?{ (Discorb::ApplicationCommand::Command::GroupCommand group) -> void } -> Discorb::ApplicationCommand::Command::GroupCommand
|
5111
|
+
# @return [String] The attachment filename.
|
5112
|
+
attr_reader filename: String
|
5194
5113
|
|
5195
|
-
|
5196
|
-
|
5197
|
-
#
|
5198
|
-
# @param [String] command_name Command name.
|
5199
|
-
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
|
5200
|
-
# @param [Proc] block Command block.
|
5201
|
-
# @yield [interaction, message] Block to execute.
|
5202
|
-
# @yieldparam [Discorb::CommandInteraction::UserMenuCommand] interaction Interaction object.
|
5203
|
-
# @yieldparam [Discorb::Message] message Message object.
|
5204
|
-
#
|
5205
|
-
# @return [Discorb::ApplicationCommand::Command] Command object.
|
5206
|
-
def message_command: (String command_name, ?guild_ids: (::Array[untyped] | bool)?) ?{ (Discorb::CommandInteraction::UserMenuCommand interaction, Discorb::Message message) -> void } -> Discorb::ApplicationCommand::Command
|
5114
|
+
# @return [String] The attachment content type.
|
5115
|
+
attr_reader content_type: String
|
5207
5116
|
|
5208
|
-
|
5209
|
-
|
5210
|
-
#
|
5211
|
-
# @param [String] command_name Command name.
|
5212
|
-
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
|
5213
|
-
# @param [Proc] block Command block.
|
5214
|
-
# @yield [interaction, user] Block to execute.
|
5215
|
-
# @yieldparam [Discorb::CommandInteraction::UserMenuCommand] interaction Interaction object.
|
5216
|
-
# @yieldparam [Discorb::User] user User object.
|
5217
|
-
#
|
5218
|
-
# @return [Discorb::ApplicationCommand::Command] Command object.
|
5219
|
-
def user_command: (String command_name, ?guild_ids: (::Array[untyped] | bool)?) ?{ (Discorb::CommandInteraction::UserMenuCommand interaction, Discorb::User user) -> void } -> Discorb::ApplicationCommand::Command
|
5117
|
+
# @return [String] The attachment description.
|
5118
|
+
attr_reader description: String
|
5220
5119
|
|
5221
|
-
|
5222
|
-
|
5223
|
-
|
5224
|
-
|
5225
|
-
|
5226
|
-
# @param [String] token Bot token.
|
5227
|
-
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to use as default. If `false` is given, it will be global command.
|
5228
|
-
#
|
5229
|
-
# @note `token` parameter only required if you don't run client.
|
5230
|
-
def setup_commands: (?String? token, ?guild_ids: (::Array[untyped] | bool)?) -> untyped
|
5120
|
+
# @return [Discorb::Snowflake] The attachment id.
|
5121
|
+
attr_reader id: Discorb::Snowflake
|
5122
|
+
|
5123
|
+
# @return [Integer] The attachment size in bytes.
|
5124
|
+
attr_reader size: Integer
|
5231
5125
|
|
5232
|
-
|
5233
|
-
|
5126
|
+
# @return [String] The attachment url.
|
5127
|
+
attr_reader url: String
|
5234
5128
|
|
5235
|
-
|
5236
|
-
|
5129
|
+
# @return [String] The attachment proxy url.
|
5130
|
+
attr_reader proxy_url: String
|
5237
5131
|
|
5132
|
+
# @return [Integer] The image height.
|
5133
|
+
# @return [nil] If the attachment is not an image.
|
5134
|
+
attr_reader height: Integer?
|
5238
5135
|
|
5239
|
-
|
5136
|
+
# @return [Integer] The image width.
|
5137
|
+
# @return [nil] If the attachment is not an image.
|
5138
|
+
attr_reader width: Integer?
|
5139
|
+
|
5140
|
+
# @return [:client, :discord] The attachment was created by.
|
5141
|
+
attr_reader created_by: Symbol
|
5142
|
+
|
5143
|
+
# @return [Boolean] whether the file is an image.
|
5144
|
+
attr_reader image?: bool
|
5240
5145
|
end
|
5241
5146
|
|
5242
5147
|
#
|
@@ -5439,154 +5344,7 @@ module Discorb
|
|
5439
5344
|
end
|
5440
5345
|
|
5441
5346
|
#
|
5442
|
-
#
|
5443
|
-
class Button < Discorb::Component
|
5444
|
-
#
|
5445
|
-
# Initialize a new button.
|
5446
|
-
#
|
5447
|
-
# @param [String] label The label of the button.
|
5448
|
-
# @param [:primary, :secondary, :success, :danger, :link] style The style of the button.
|
5449
|
-
# @param [Discorb::Emoji] emoji The emoji of the button.
|
5450
|
-
# @param [String] custom_id The custom ID of the button.
|
5451
|
-
# @param [String] url The URL of the button.
|
5452
|
-
# @param [Boolean] disabled Whether the button is disabled.
|
5453
|
-
def initialize: (
|
5454
|
-
String label,
|
5455
|
-
?Symbol style,
|
5456
|
-
?emoji: Discorb::Emoji?,
|
5457
|
-
?custom_id: String?,
|
5458
|
-
?url: String?,
|
5459
|
-
?disabled: bool
|
5460
|
-
) -> void
|
5461
|
-
|
5462
|
-
#
|
5463
|
-
# Converts the button to a hash.
|
5464
|
-
#
|
5465
|
-
# @see https://discord.com/developers/docs/interactions/message-components#button-object-button-structure Official Discord API docs
|
5466
|
-
# @return [Hash] A hash representation of the button.
|
5467
|
-
def to_hash: () -> ::Hash[untyped, untyped]
|
5468
|
-
|
5469
|
-
def inspect: () -> untyped
|
5470
|
-
|
5471
|
-
def hash_emoji: (untyped emoji) -> untyped
|
5472
|
-
|
5473
|
-
# @return [String] The label of the button.
|
5474
|
-
attr_accessor label: String
|
5475
|
-
|
5476
|
-
# @return [:primary, :secondary, :success, :danger, :link] The style of the button.
|
5477
|
-
attr_accessor style: Symbol
|
5478
|
-
|
5479
|
-
# @return [Discorb::Emoji] The emoji of the button.
|
5480
|
-
attr_accessor emoji: Discorb::Emoji
|
5481
|
-
|
5482
|
-
# @return [String] The custom ID of the button.
|
5483
|
-
# Won't be used if the style is `:link`.
|
5484
|
-
attr_accessor custom_id: String
|
5485
|
-
|
5486
|
-
# @return [String] The URL of the button.
|
5487
|
-
# Only used when the style is `:link`.
|
5488
|
-
attr_accessor url: String
|
5489
|
-
|
5490
|
-
# @return [Boolean] Whether the button is disabled.
|
5491
|
-
attr_accessor disabled: bool
|
5492
|
-
end
|
5493
|
-
|
5494
|
-
#
|
5495
|
-
# Represents a select menu component.
|
5496
|
-
class SelectMenu < Discorb::Component
|
5497
|
-
#
|
5498
|
-
# Initialize a new select menu.
|
5499
|
-
#
|
5500
|
-
# @param [String, Symbol] custom_id Custom ID of the select menu.
|
5501
|
-
# @param [Array<Discorb::SelectMenu::Option>] options The options of the select menu.
|
5502
|
-
# @param [String] placeholder The placeholder of the select menu.
|
5503
|
-
# @param [Integer] min_values The minimum number of values.
|
5504
|
-
# @param [Integer] max_values The maximum number of values.
|
5505
|
-
def initialize: (
|
5506
|
-
(String | Symbol) custom_id,
|
5507
|
-
::Array[Discorb::SelectMenu::Option] options,
|
5508
|
-
?placeholder: String?,
|
5509
|
-
?min_values: Integer,
|
5510
|
-
?max_values: Integer
|
5511
|
-
) -> void
|
5512
|
-
|
5513
|
-
#
|
5514
|
-
# Converts the select menu to a hash.
|
5515
|
-
#
|
5516
|
-
# @see https://discord.com/developers/docs/interactions/message-components#select-menu-object-select-menu-structure Official Discord API docs
|
5517
|
-
# @return [Hash] A hash representation of the select menu.
|
5518
|
-
def to_hash: () -> ::Hash[untyped, untyped]
|
5519
|
-
|
5520
|
-
def inspect: () -> untyped
|
5521
|
-
|
5522
|
-
def hash_emoji: (untyped emoji) -> untyped
|
5523
|
-
|
5524
|
-
# @return [String] The custom ID of the select menu.
|
5525
|
-
attr_accessor custom_id: String
|
5526
|
-
|
5527
|
-
# @return [Array<SelectMenu::Option>] The options of the select menu.
|
5528
|
-
attr_accessor options: ::Array[SelectMenu::Option]
|
5529
|
-
|
5530
|
-
# @return [Integer] The minimum number of values.
|
5531
|
-
attr_accessor min_values: Integer
|
5532
|
-
|
5533
|
-
# @return [Integer] The maximum number of values.
|
5534
|
-
attr_accessor max_values: Integer
|
5535
|
-
|
5536
|
-
# @return [Boolean] Whether the select menu is disabled.
|
5537
|
-
attr_accessor disabled: bool
|
5538
|
-
|
5539
|
-
#
|
5540
|
-
# Represents an option of a select menu.
|
5541
|
-
class Option
|
5542
|
-
#
|
5543
|
-
# Initialize a new option.
|
5544
|
-
#
|
5545
|
-
# @param [String] label The label of the option.
|
5546
|
-
# @param [String] value The value of the option.
|
5547
|
-
# @param [String] description The description of the option.
|
5548
|
-
# @param [Discorb::Emoji] emoji The emoji of the option.
|
5549
|
-
# @param [Boolean] default Whether the option is default.
|
5550
|
-
def initialize: (
|
5551
|
-
String label,
|
5552
|
-
String value,
|
5553
|
-
?description: String?,
|
5554
|
-
?emoji: Discorb::Emoji?,
|
5555
|
-
?default: bool
|
5556
|
-
) -> void
|
5557
|
-
|
5558
|
-
#
|
5559
|
-
# Converts the option to a hash.
|
5560
|
-
#
|
5561
|
-
# @see https://discord.com/developers/docs/interactions/message-components#select-menu-object-select-option-structure Official Discord API docs
|
5562
|
-
# @return [Hash] Hash representation of the option.
|
5563
|
-
def to_hash: () -> ::Hash[untyped, untyped]
|
5564
|
-
|
5565
|
-
#
|
5566
|
-
# Creates a new option from a hash.
|
5567
|
-
#
|
5568
|
-
# @param [Hash] data A hash representing the option.
|
5569
|
-
#
|
5570
|
-
# @return [Discorb::SelectMenu::Option] A new option.
|
5571
|
-
def self.from_hash: (::Hash[untyped, untyped] data) -> Discorb::SelectMenu::Option
|
5572
|
-
|
5573
|
-
# @return [String] The label of the option.
|
5574
|
-
attr_accessor label: String
|
5575
|
-
|
5576
|
-
# @return [String] The value of the option.
|
5577
|
-
attr_accessor value: String
|
5578
|
-
|
5579
|
-
# @return [String] The description of the option.
|
5580
|
-
attr_accessor description: String
|
5581
|
-
|
5582
|
-
# @return [Discorb::Emoji] The emoji of the option.
|
5583
|
-
attr_accessor emoji: Discorb::Emoji
|
5584
|
-
|
5585
|
-
# @return [Boolean] Whether the option is default.
|
5586
|
-
attr_accessor default: bool
|
5587
|
-
end
|
5588
|
-
end
|
5589
|
-
|
5347
|
+
# Extended hash class. This is used for storing pair of ID and object.
|
5590
5348
|
class Dictionary[K, V]
|
5591
5349
|
#
|
5592
5350
|
# Initialize a new Dictionary.
|
@@ -5752,194 +5510,10 @@ module Discorb
|
|
5752
5510
|
#
|
5753
5511
|
# Class to handle rate limiting.
|
5754
5512
|
#
|
5755
|
-
#
|
5756
|
-
|
5757
|
-
#
|
5758
|
-
|
5759
|
-
module Handler
|
5760
|
-
#
|
5761
|
-
# Add new top-level command.
|
5762
|
-
#
|
5763
|
-
# @param [String] command_name Command name.
|
5764
|
-
# @param [String] description Command description.
|
5765
|
-
# @param [Hash{String => Hash{:description => String, :optional => Boolean, :type => Object}}] options Command options.
|
5766
|
-
# The key is the option name, the value is a hash with the following keys:
|
5767
|
-
#
|
5768
|
-
# | Key | Type | Description |
|
5769
|
-
# | --- | --- | --- |
|
5770
|
-
# | `:description` | `String` | Description of the option. |
|
5771
|
-
# | `:required` | Whether the argument is required. `optional` will be used if not specified. |
|
5772
|
-
# | `:optional` | Whether the argument is optional. `required` will be used if not specified. |
|
5773
|
-
# | `:type` | `Object` | Type of the option. |
|
5774
|
-
# | `:choice` | `Hash{String => String, Integer, Float}` | Type of the option. |
|
5775
|
-
# | `:default` | `Object` | Default value of the option. |
|
5776
|
-
# | `:channel_types` | `Array<Class<Discorb::Channel>>` | Type of the channel option. |
|
5777
|
-
# | `:autocomplete` | `Proc` | Autocomplete function. |
|
5778
|
-
# | `:range` | `Range` | Range of the option. Only valid for numeric options. (`:int`, `:float`) |
|
5779
|
-
#
|
5780
|
-
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
|
5781
|
-
# @param [Proc] block Command block.
|
5782
|
-
#
|
5783
|
-
# @return [Discorb::ApplicationCommand::Command::SlashCommand] Command object.
|
5784
|
-
#
|
5785
|
-
# @see file:docs/application_command.md#register-slash-command Application Comamnds: Register Slash Command
|
5786
|
-
# @see file:docs/cli/setup.md CLI: setup
|
5787
|
-
def slash: (
|
5788
|
-
String command_name,
|
5789
|
-
String description,
|
5790
|
-
?::Hash[String, String | Integer | Float] options,
|
5791
|
-
?guild_ids: (::Array[untyped] | bool)?
|
5792
|
-
) -> Discorb::ApplicationCommand::Command::SlashCommand
|
5793
|
-
|
5794
|
-
#
|
5795
|
-
# Add new command with group.
|
5796
|
-
#
|
5797
|
-
# @param [String] command_name Command name.
|
5798
|
-
# @param [String] description Command description.
|
5799
|
-
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
|
5800
|
-
#
|
5801
|
-
# @yield Block to yield with the command.
|
5802
|
-
# @yieldparam [Discorb::ApplicationCommand::Command::GroupCommand] group Group command.
|
5803
|
-
#
|
5804
|
-
# @return [Discorb::ApplicationCommand::Command::GroupCommand] Command object.
|
5805
|
-
#
|
5806
|
-
# @see file:docs/application_command.md Application Commands
|
5807
|
-
# @see file:docs/cli/setup.md CLI: setup
|
5808
|
-
def slash_group: (String command_name, String description, ?guild_ids: (::Array[untyped] | bool)?) ?{ (Discorb::ApplicationCommand::Command::GroupCommand group) -> void } -> Discorb::ApplicationCommand::Command::GroupCommand
|
5809
|
-
|
5810
|
-
#
|
5811
|
-
# Add message context menu command.
|
5812
|
-
#
|
5813
|
-
# @param [String] command_name Command name.
|
5814
|
-
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
|
5815
|
-
# @param [Proc] block Command block.
|
5816
|
-
# @yield [interaction, message] Block to execute.
|
5817
|
-
# @yieldparam [Discorb::CommandInteraction::UserMenuCommand] interaction Interaction object.
|
5818
|
-
# @yieldparam [Discorb::Message] message Message object.
|
5819
|
-
#
|
5820
|
-
# @return [Discorb::ApplicationCommand::Command] Command object.
|
5821
|
-
def message_command: (String command_name, ?guild_ids: (::Array[untyped] | bool)?) ?{ (Discorb::CommandInteraction::UserMenuCommand interaction, Discorb::Message message) -> void } -> Discorb::ApplicationCommand::Command
|
5822
|
-
|
5823
|
-
#
|
5824
|
-
# Add user context menu command.
|
5825
|
-
#
|
5826
|
-
# @param [String] command_name Command name.
|
5827
|
-
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
|
5828
|
-
# @param [Proc] block Command block.
|
5829
|
-
# @yield [interaction, user] Block to execute.
|
5830
|
-
# @yieldparam [Discorb::CommandInteraction::UserMenuCommand] interaction Interaction object.
|
5831
|
-
# @yieldparam [Discorb::User] user User object.
|
5832
|
-
#
|
5833
|
-
# @return [Discorb::ApplicationCommand::Command] Command object.
|
5834
|
-
def user_command: (String command_name, ?guild_ids: (::Array[untyped] | bool)?) ?{ (Discorb::CommandInteraction::UserMenuCommand interaction, Discorb::User user) -> void } -> Discorb::ApplicationCommand::Command
|
5835
|
-
|
5836
|
-
#
|
5837
|
-
# Setup commands.
|
5838
|
-
# @async
|
5839
|
-
# @see Client#initialize
|
5840
|
-
#
|
5841
|
-
# @param [String] token Bot token.
|
5842
|
-
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to use as default. If `false` is given, it will be global command.
|
5843
|
-
#
|
5844
|
-
# @note `token` parameter only required if you don't run client.
|
5845
|
-
def setup_commands: (?String? token, ?guild_ids: (::Array[untyped] | bool)?) -> untyped
|
5846
|
-
end
|
5847
|
-
|
5848
|
-
#
|
5849
|
-
# Represents a application command.
|
5850
|
-
# @abstract
|
5851
|
-
class Command < Discorb::DiscordModel
|
5852
|
-
# @return [String] The name of the command.
|
5853
|
-
attr_reader name: String
|
5854
|
-
|
5855
|
-
# @return [Array<#to_s>] The guild ids that the command is enabled in.
|
5856
|
-
attr_reader guild_ids: ::Array[untyped]
|
5857
|
-
|
5858
|
-
# @return [Proc] The block of the command.
|
5859
|
-
attr_reader block: Proc
|
5860
|
-
|
5861
|
-
# @return [:chat_input, :user, :message] The type of the command.
|
5862
|
-
attr_reader type: Symbol
|
5863
|
-
|
5864
|
-
# @return [Integer] The raw type of the command.
|
5865
|
-
attr_reader type_raw: Integer
|
5866
|
-
|
5867
|
-
# @return [Discorb::Dictionary{Discorb::Snowflake, :global => Discorb::Snowflake}] The ID mapping.
|
5868
|
-
attr_reader id_map: Discorb::Dictionary[Discorb::Snowflake, Symbol, Discorb::Snowflake]
|
5869
|
-
|
5870
|
-
#
|
5871
|
-
# Represents the slash command.
|
5872
|
-
class SlashCommand < Discorb::ApplicationCommand::Command
|
5873
|
-
#
|
5874
|
-
# Returns the commands name.
|
5875
|
-
#
|
5876
|
-
# @return [String] The name of the command.
|
5877
|
-
def to_s: () -> String
|
5878
|
-
|
5879
|
-
# @return [String] The description of the command.
|
5880
|
-
attr_reader description: String
|
5881
|
-
|
5882
|
-
# @return [Hash{String => Hash}] The options of the command.
|
5883
|
-
attr_reader options: ::Hash[String, ::Hash[untyped, untyped]]
|
5884
|
-
end
|
5885
|
-
|
5886
|
-
#
|
5887
|
-
# Represents the command with subcommands.
|
5888
|
-
class GroupCommand < Discorb::ApplicationCommand::Command
|
5889
|
-
#
|
5890
|
-
# Add new subcommand.
|
5891
|
-
#
|
5892
|
-
# @param (see Discorb::ApplicationCommand::Handler#slash)
|
5893
|
-
# @return [Discorb::ApplicationCommand::Command::SlashCommand] The added subcommand.
|
5894
|
-
def slash: (String command_name, String description, ?::Hash[String, String | Integer | Float] options) -> Discorb::ApplicationCommand::Command::SlashCommand
|
5895
|
-
|
5896
|
-
#
|
5897
|
-
# Add new subcommand group.
|
5898
|
-
#
|
5899
|
-
# @param [String] command_name Group name.
|
5900
|
-
# @param [String] description Group description.
|
5901
|
-
#
|
5902
|
-
# @yield Block to yield with the command.
|
5903
|
-
# @yieldparam [Discorb::ApplicationCommand::Command::SubcommandGroup] group Group command.
|
5904
|
-
#
|
5905
|
-
# @return [Discorb::ApplicationCommand::Command::SubcommandGroup] Command object.
|
5906
|
-
#
|
5907
|
-
# @see file:docs/application_command.md Application Commands
|
5908
|
-
def group: (String command_name, String description) ?{ (Discorb::ApplicationCommand::Command::SubcommandGroup group) -> void } -> Discorb::ApplicationCommand::Command::SubcommandGroup
|
5909
|
-
|
5910
|
-
#
|
5911
|
-
# Returns the command name.
|
5912
|
-
#
|
5913
|
-
# @return [String] The command name.
|
5914
|
-
def to_s: () -> String
|
5915
|
-
|
5916
|
-
# @return [Array<Discorb::ApplicationCommand::Command::SlashCommand, Discorb::ApplicationCommand::Command::SubcommandGroup>] The subcommands of the command.
|
5917
|
-
attr_reader commands: ::Array[(Discorb::ApplicationCommand::Command::SlashCommand | Discorb::ApplicationCommand::Command::SubcommandGroup)]
|
5918
|
-
|
5919
|
-
# @return [String] The description of the command.
|
5920
|
-
attr_reader description: String
|
5921
|
-
end
|
5922
|
-
|
5923
|
-
#
|
5924
|
-
# Represents the subcommand group.
|
5925
|
-
class SubcommandGroup < Discorb::ApplicationCommand::Command::GroupCommand
|
5926
|
-
#
|
5927
|
-
# Add new subcommand.
|
5928
|
-
# @param (see Discorb::ApplicationCommand::Handler#slash)
|
5929
|
-
# @return [Discorb::ApplicationCommand::Command::SlashCommand] The added subcommand.
|
5930
|
-
def slash: (String command_name, String description, ?::Hash[String, String | Integer | Float] options) -> Discorb::ApplicationCommand::Command::SlashCommand
|
5931
|
-
|
5932
|
-
# @return [Array<Discorb::ApplicationCommand::Command::SlashCommand>] The subcommands of the command.
|
5933
|
-
attr_reader commands: ::Array[Discorb::ApplicationCommand::Command::SlashCommand]
|
5934
|
-
end
|
5935
|
-
end
|
5936
|
-
end
|
5937
|
-
|
5938
|
-
#
|
5939
|
-
# Represents a Discord application.
|
5940
|
-
class Application < Discorb::DiscordModel
|
5941
|
-
# @return [Discorb::Snowflake] The application's ID.
|
5942
|
-
attr_reader id: Discorb::Snowflake
|
5513
|
+
# Represents a Discord application.
|
5514
|
+
class Application < Discorb::DiscordModel
|
5515
|
+
# @return [Discorb::Snowflake] The application's ID.
|
5516
|
+
attr_reader id: Discorb::Snowflake
|
5943
5517
|
|
5944
5518
|
# @return [String] The application's name.
|
5945
5519
|
attr_reader name: String
|
@@ -6109,8 +5683,34 @@ module Discorb
|
|
6109
5683
|
# @return [String] The name of the account.
|
6110
5684
|
attr_reader name: String
|
6111
5685
|
end
|
5686
|
+
|
5687
|
+
#
|
5688
|
+
# Represents an application for an integration.
|
5689
|
+
class Application < Discorb::DiscordModel
|
5690
|
+
# @return [Discorb::Snowflake] The ID of the application.
|
5691
|
+
attr_reader id: Discorb::Snowflake
|
5692
|
+
|
5693
|
+
# @return [String] The name of the application.
|
5694
|
+
attr_reader name: String
|
5695
|
+
|
5696
|
+
# @return [Asset] The icon of the application.
|
5697
|
+
# @return [nil] If the application has no icon.
|
5698
|
+
attr_reader icon: Asset?
|
5699
|
+
|
5700
|
+
# @return [String] The description of the application.
|
5701
|
+
attr_reader description: String
|
5702
|
+
|
5703
|
+
# @return [String] The summary of the application.
|
5704
|
+
attr_reader summary: String
|
5705
|
+
|
5706
|
+
# @return [Discorb::User] The bot user associated with the application.
|
5707
|
+
# @return [nil] If the application has no bot user.
|
5708
|
+
attr_reader bot: Discorb::User?
|
5709
|
+
end
|
6112
5710
|
end
|
6113
5711
|
|
5712
|
+
#
|
5713
|
+
# Represents a state of user in voice channel.
|
6114
5714
|
class VoiceState < Discorb::DiscordModel
|
6115
5715
|
# @return [Discorb::Snowflake] The ID of the guild this voice state is for.
|
6116
5716
|
attr_reader session_id: Discorb::Snowflake
|
@@ -6380,6 +5980,38 @@ module Discorb
|
|
6380
5980
|
end
|
6381
5981
|
end
|
6382
5982
|
|
5983
|
+
#
|
5984
|
+
# Represents a allowed mentions in a message.
|
5985
|
+
class AllowedMentions
|
5986
|
+
#
|
5987
|
+
# Initializes a new instance of the AllowedMentions class.
|
5988
|
+
#
|
5989
|
+
# @param [Boolean] everyone Whether to allow @everyone or @here.
|
5990
|
+
# @param [Boolean, Array<Discorb::Role>] roles The roles to allow, or false to disable.
|
5991
|
+
# @param [Boolean, Array<Discorb::User>] users The users to allow, or false to disable.
|
5992
|
+
# @param [Boolean] replied_user Whether to ping the user that sent the message to reply.
|
5993
|
+
def initialize: (
|
5994
|
+
?everyone: bool?,
|
5995
|
+
?roles: (bool | ::Array[Discorb::Role])?,
|
5996
|
+
?users: (bool | ::Array[Discorb::User])?,
|
5997
|
+
?replied_user: bool?
|
5998
|
+
) -> void
|
5999
|
+
|
6000
|
+
def inspect: () -> untyped
|
6001
|
+
|
6002
|
+
# @return [Boolean] Whether to allow @everyone or @here.
|
6003
|
+
attr_accessor everyone: bool
|
6004
|
+
|
6005
|
+
# @return [Boolean, Array<Discorb::Role>] The roles to allow, or false to disable.
|
6006
|
+
attr_accessor roles: (bool | ::Array[Discorb::Role])
|
6007
|
+
|
6008
|
+
# @return [Boolean, Array<Discorb::User>] The users to allow, or false to disable.
|
6009
|
+
attr_accessor users: (bool | ::Array[Discorb::User])
|
6010
|
+
|
6011
|
+
# @return [Boolean] Whether to ping the user that sent the message to reply.
|
6012
|
+
attr_accessor replied_user: bool
|
6013
|
+
end
|
6014
|
+
|
6383
6015
|
#
|
6384
6016
|
# Represents an activity for Gateway Command.
|
6385
6017
|
class Activity
|
@@ -6401,7 +6033,7 @@ module Discorb
|
|
6401
6033
|
end
|
6402
6034
|
|
6403
6035
|
#
|
6404
|
-
# Represents
|
6036
|
+
# Represents an interaction of Discord.
|
6405
6037
|
class Interaction < Discorb::DiscordModel
|
6406
6038
|
# @return [Discorb::Snowflake] The ID of the interaction.
|
6407
6039
|
attr_reader id: Discorb::Snowflake
|
@@ -6435,7 +6067,7 @@ module Discorb
|
|
6435
6067
|
|
6436
6068
|
#
|
6437
6069
|
# A module for response with source.
|
6438
|
-
module
|
6070
|
+
module SourceResponder
|
6439
6071
|
#
|
6440
6072
|
# Response with `DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE`(`5`).
|
6441
6073
|
#
|
@@ -6459,7 +6091,7 @@ module Discorb
|
|
6459
6091
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
6460
6092
|
# @param [Boolean] ephemeral Whether to make the response ephemeral.
|
6461
6093
|
#
|
6462
|
-
# @return [Discorb::Interaction::
|
6094
|
+
# @return [Discorb::Interaction::SourceResponder::CallbackMessage, Discorb::Webhook::Message] The callback message.
|
6463
6095
|
def post: (
|
6464
6096
|
?String? content,
|
6465
6097
|
?tts: bool,
|
@@ -6468,8 +6100,10 @@ module Discorb
|
|
6468
6100
|
?allowed_mentions: Discorb::AllowedMentions?,
|
6469
6101
|
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]])?,
|
6470
6102
|
?ephemeral: bool
|
6471
|
-
) -> (Discorb::Interaction::
|
6103
|
+
) -> (Discorb::Interaction::SourceResponder::CallbackMessage | Discorb::Webhook::Message)
|
6472
6104
|
|
6105
|
+
#
|
6106
|
+
# Represents of a callback message of interaction.
|
6473
6107
|
class CallbackMessage
|
6474
6108
|
#
|
6475
6109
|
# Edits the callback message.
|
@@ -6505,7 +6139,7 @@ module Discorb
|
|
6505
6139
|
|
6506
6140
|
#
|
6507
6141
|
# A module for response with update.
|
6508
|
-
module
|
6142
|
+
module UpdateResponder
|
6509
6143
|
#
|
6510
6144
|
# Response with `DEFERRED_UPDATE_MESSAGE`(`6`).
|
6511
6145
|
# @async
|
@@ -6539,50 +6173,363 @@ module Discorb
|
|
6539
6173
|
?ephemeral: bool
|
6540
6174
|
) -> Async::Task[void]
|
6541
6175
|
end
|
6176
|
+
|
6177
|
+
#
|
6178
|
+
# A module for response with modal.
|
6179
|
+
module ModalResponder
|
6180
|
+
#
|
6181
|
+
# Response with `MODAL`(`9`).
|
6182
|
+
#
|
6183
|
+
# @param [String] title The title of the modal.
|
6184
|
+
# @param [String] custom_id The custom id of the modal.
|
6185
|
+
# @param [Array<Discorb::TextInput>] components The text inputs to send.
|
6186
|
+
#
|
6187
|
+
# @return [Async::Task<void>] The task.
|
6188
|
+
def show_modal: (String title, String custom_id, ::Array[Discorb::TextInput] components) -> Async::Task[void]
|
6189
|
+
end
|
6542
6190
|
end
|
6543
6191
|
|
6544
6192
|
#
|
6545
|
-
# Represents a
|
6546
|
-
class
|
6547
|
-
include Discorb::Interaction::SourceResponse
|
6548
|
-
#
|
6549
|
-
# Response with `DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE`(`5`).
|
6550
|
-
#
|
6551
|
-
# @async
|
6193
|
+
# Represents a button component.
|
6194
|
+
class Button < Discorb::Component
|
6552
6195
|
#
|
6553
|
-
#
|
6196
|
+
# Initialize a new button.
|
6554
6197
|
#
|
6555
|
-
# @
|
6556
|
-
|
6198
|
+
# @param [String] label The label of the button.
|
6199
|
+
# @param [:primary, :secondary, :success, :danger, :link] style The style of the button.
|
6200
|
+
# @param [Discorb::Emoji] emoji The emoji of the button.
|
6201
|
+
# @param [String] custom_id The custom ID of the button.
|
6202
|
+
# @param [String] url The URL of the button.
|
6203
|
+
# @param [Boolean] disabled Whether the button is disabled.
|
6204
|
+
def initialize: (
|
6205
|
+
String label,
|
6206
|
+
?Symbol style,
|
6207
|
+
?emoji: Discorb::Emoji?,
|
6208
|
+
?custom_id: String?,
|
6209
|
+
?url: String?,
|
6210
|
+
?disabled: bool
|
6211
|
+
) -> void
|
6557
6212
|
|
6558
6213
|
#
|
6559
|
-
#
|
6214
|
+
# Converts the button to a hash.
|
6560
6215
|
#
|
6561
|
-
# @
|
6216
|
+
# @see https://discord.com/developers/docs/interactions/message-components#button-object-button-structure Official Discord API docs
|
6217
|
+
# @return [Hash] A hash representation of the button.
|
6218
|
+
def to_hash: () -> ::Hash[untyped, untyped]
|
6219
|
+
|
6220
|
+
def inspect: () -> untyped
|
6221
|
+
|
6562
6222
|
#
|
6563
|
-
#
|
6564
|
-
# @param [Boolean] tts Whether to send the message as text-to-speech.
|
6565
|
-
# @param [Discorb::Embed] embed The embed to send.
|
6566
|
-
# @param [Array<Discorb::Embed>] embeds The embeds to send. (max: 10)
|
6567
|
-
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions to send.
|
6568
|
-
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
6569
|
-
# @param [Boolean] ephemeral Whether to make the response ephemeral.
|
6223
|
+
# Creates a new button from a hash.
|
6570
6224
|
#
|
6571
|
-
# @
|
6572
|
-
def post: (
|
6573
|
-
?String? content,
|
6574
|
-
?tts: bool,
|
6575
|
-
?embed: Discorb::Embed?,
|
6576
|
-
?embeds: ::Array[Discorb::Embed]?,
|
6577
|
-
?allowed_mentions: Discorb::AllowedMentions?,
|
6578
|
-
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]])?,
|
6579
|
-
?ephemeral: bool
|
6580
|
-
) -> (Discorb::Interaction::SourceResponse::CallbackMessage | Discorb::Webhook::Message)
|
6581
|
-
|
6225
|
+
# @param [Hash] data The hash to create the button from.
|
6582
6226
|
#
|
6583
|
-
#
|
6584
|
-
|
6585
|
-
|
6227
|
+
# @return [Discorb::Button] The created button.
|
6228
|
+
def self.from_hash: (::Hash[untyped, untyped] data) -> Discorb::Button
|
6229
|
+
|
6230
|
+
# @return [String] The label of the button.
|
6231
|
+
attr_accessor label: String
|
6232
|
+
|
6233
|
+
# @return [:primary, :secondary, :success, :danger, :link] The style of the button.
|
6234
|
+
attr_accessor style: Symbol
|
6235
|
+
|
6236
|
+
# @return [Discorb::Emoji] The emoji of the button.
|
6237
|
+
attr_accessor emoji: Discorb::Emoji
|
6238
|
+
|
6239
|
+
# @return [String] The custom ID of the button.
|
6240
|
+
# Won't be used if the style is `:link`.
|
6241
|
+
attr_accessor custom_id: String
|
6242
|
+
|
6243
|
+
# @return [String] The URL of the button.
|
6244
|
+
# Only used when the style is `:link`.
|
6245
|
+
attr_accessor url: String
|
6246
|
+
|
6247
|
+
# @return [Boolean] Whether the button is disabled.
|
6248
|
+
attr_accessor disabled: bool
|
6249
|
+
end
|
6250
|
+
|
6251
|
+
#
|
6252
|
+
# Represents a modal interaction.
|
6253
|
+
class ModalInteraction < Discorb::Interaction
|
6254
|
+
include Discorb::Interaction::SourceResponder
|
6255
|
+
#
|
6256
|
+
# Response with `DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE`(`5`).
|
6257
|
+
#
|
6258
|
+
# @async
|
6259
|
+
#
|
6260
|
+
# @param [Boolean] ephemeral Whether to make the response ephemeral.
|
6261
|
+
#
|
6262
|
+
# @return [Async::Task<void>] The task.
|
6263
|
+
def defer_source: (?ephemeral: bool) -> Async::Task[void]
|
6264
|
+
|
6265
|
+
#
|
6266
|
+
# Response with `CHANNEL_MESSAGE_WITH_SOURCE`(`4`).
|
6267
|
+
#
|
6268
|
+
# @async
|
6269
|
+
#
|
6270
|
+
# @param [String] content The content of the response.
|
6271
|
+
# @param [Boolean] tts Whether to send the message as text-to-speech.
|
6272
|
+
# @param [Discorb::Embed] embed The embed to send.
|
6273
|
+
# @param [Array<Discorb::Embed>] embeds The embeds to send. (max: 10)
|
6274
|
+
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions to send.
|
6275
|
+
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
6276
|
+
# @param [Boolean] ephemeral Whether to make the response ephemeral.
|
6277
|
+
#
|
6278
|
+
# @return [Discorb::Interaction::SourceResponder::CallbackMessage, Discorb::Webhook::Message] The callback message.
|
6279
|
+
def post: (
|
6280
|
+
?String? content,
|
6281
|
+
?tts: bool,
|
6282
|
+
?embed: Discorb::Embed?,
|
6283
|
+
?embeds: ::Array[Discorb::Embed]?,
|
6284
|
+
?allowed_mentions: Discorb::AllowedMentions?,
|
6285
|
+
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]])?,
|
6286
|
+
?ephemeral: bool
|
6287
|
+
) -> (Discorb::Interaction::SourceResponder::CallbackMessage | Discorb::Webhook::Message)
|
6288
|
+
|
6289
|
+
# @return [String] The custom id of the modal.
|
6290
|
+
attr_reader custom_id: String
|
6291
|
+
|
6292
|
+
# @return [{String => String}] The contents of the modal.
|
6293
|
+
attr_reader contents: ::Hash[String, String]
|
6294
|
+
end
|
6295
|
+
|
6296
|
+
#
|
6297
|
+
# Handles application commands.
|
6298
|
+
module ApplicationCommand
|
6299
|
+
#
|
6300
|
+
# Represents a application command.
|
6301
|
+
# @abstract
|
6302
|
+
class Command < Discorb::DiscordModel
|
6303
|
+
# @return [String] The name of the command.
|
6304
|
+
attr_reader name: String
|
6305
|
+
|
6306
|
+
# @return [Array<#to_s>] The guild ids that the command is enabled in.
|
6307
|
+
attr_reader guild_ids: ::Array[untyped]
|
6308
|
+
|
6309
|
+
# @return [Proc] The block of the command.
|
6310
|
+
attr_reader block: Proc
|
6311
|
+
|
6312
|
+
# @return [:chat_input, :user, :message] The type of the command.
|
6313
|
+
attr_reader type: Symbol
|
6314
|
+
|
6315
|
+
# @return [Integer] The raw type of the command.
|
6316
|
+
attr_reader type_raw: Integer
|
6317
|
+
|
6318
|
+
# @return [Discorb::Dictionary{Discorb::Snowflake, :global => Discorb::Snowflake}] The ID mapping.
|
6319
|
+
attr_reader id_map: Discorb::Dictionary[Discorb::Snowflake, Symbol, Discorb::Snowflake]
|
6320
|
+
|
6321
|
+
#
|
6322
|
+
# Represents the slash command.
|
6323
|
+
class SlashCommand < Discorb::ApplicationCommand::Command
|
6324
|
+
#
|
6325
|
+
# Returns the commands name.
|
6326
|
+
#
|
6327
|
+
# @return [String] The name of the command.
|
6328
|
+
def to_s: () -> String
|
6329
|
+
|
6330
|
+
# @return [String] The description of the command.
|
6331
|
+
attr_reader description: String
|
6332
|
+
|
6333
|
+
# @return [Hash{String => Hash}] The options of the command.
|
6334
|
+
attr_reader options: ::Hash[String, ::Hash[untyped, untyped]]
|
6335
|
+
end
|
6336
|
+
|
6337
|
+
#
|
6338
|
+
# Represents the command with subcommands.
|
6339
|
+
class GroupCommand < Discorb::ApplicationCommand::Command
|
6340
|
+
#
|
6341
|
+
# Add new subcommand.
|
6342
|
+
#
|
6343
|
+
# @param (see Discorb::ApplicationCommand::Handler#slash)
|
6344
|
+
# @return [Discorb::ApplicationCommand::Command::SlashCommand] The added subcommand.
|
6345
|
+
def slash: (String command_name, String description, ?::Hash[String, String | Integer | Float] options) -> Discorb::ApplicationCommand::Command::SlashCommand
|
6346
|
+
|
6347
|
+
#
|
6348
|
+
# Add new subcommand group.
|
6349
|
+
#
|
6350
|
+
# @param [String] command_name Group name.
|
6351
|
+
# @param [String] description Group description.
|
6352
|
+
#
|
6353
|
+
# @yield Block to yield with the command.
|
6354
|
+
# @yieldparam [Discorb::ApplicationCommand::Command::SubcommandGroup] group Group command.
|
6355
|
+
#
|
6356
|
+
# @return [Discorb::ApplicationCommand::Command::SubcommandGroup] Command object.
|
6357
|
+
#
|
6358
|
+
# @see file:docs/application_command.md Application Commands
|
6359
|
+
def group: (String command_name, String description) ?{ (Discorb::ApplicationCommand::Command::SubcommandGroup group) -> void } -> Discorb::ApplicationCommand::Command::SubcommandGroup
|
6360
|
+
|
6361
|
+
#
|
6362
|
+
# Returns the command name.
|
6363
|
+
#
|
6364
|
+
# @return [String] The command name.
|
6365
|
+
def to_s: () -> String
|
6366
|
+
|
6367
|
+
# @return [Array<Discorb::ApplicationCommand::Command::SlashCommand, Discorb::ApplicationCommand::Command::SubcommandGroup>] The subcommands of the command.
|
6368
|
+
attr_reader commands: ::Array[(Discorb::ApplicationCommand::Command::SlashCommand | Discorb::ApplicationCommand::Command::SubcommandGroup)]
|
6369
|
+
|
6370
|
+
# @return [String] The description of the command.
|
6371
|
+
attr_reader description: String
|
6372
|
+
end
|
6373
|
+
|
6374
|
+
#
|
6375
|
+
# Represents the subcommand group.
|
6376
|
+
class SubcommandGroup < Discorb::ApplicationCommand::Command::GroupCommand
|
6377
|
+
#
|
6378
|
+
# Add new subcommand.
|
6379
|
+
# @param (see Discorb::ApplicationCommand::Handler#slash)
|
6380
|
+
# @return [Discorb::ApplicationCommand::Command::SlashCommand] The added subcommand.
|
6381
|
+
def slash: (String command_name, String description, ?::Hash[String, String | Integer | Float] options) -> Discorb::ApplicationCommand::Command::SlashCommand
|
6382
|
+
|
6383
|
+
# @return [Array<Discorb::ApplicationCommand::Command::SlashCommand>] The subcommands of the command.
|
6384
|
+
attr_reader commands: ::Array[Discorb::ApplicationCommand::Command::SlashCommand]
|
6385
|
+
end
|
6386
|
+
end
|
6387
|
+
|
6388
|
+
#
|
6389
|
+
# Module to handle application commands.
|
6390
|
+
module Handler
|
6391
|
+
#
|
6392
|
+
# Add new top-level command.
|
6393
|
+
#
|
6394
|
+
# @param [String] command_name Command name.
|
6395
|
+
# @param [String] description Command description.
|
6396
|
+
# @param [Hash{String => Hash{:description => String, :optional => Boolean, :type => Object}}] options Command options.
|
6397
|
+
# The key is the option name, the value is a hash with the following keys:
|
6398
|
+
#
|
6399
|
+
# | Key | Type | Description |
|
6400
|
+
# | --- | --- | --- |
|
6401
|
+
# | `:description` | `String` | Description of the option. |
|
6402
|
+
# | `:required` | Whether the argument is required. `optional` will be used if not specified. |
|
6403
|
+
# | `:optional` | Whether the argument is optional. `required` will be used if not specified. |
|
6404
|
+
# | `:type` | `Object` | Type of the option. |
|
6405
|
+
# | `:choice` | `Hash{String => String, Integer, Float}` | Type of the option. |
|
6406
|
+
# | `:default` | `Object` | Default value of the option. |
|
6407
|
+
# | `:channel_types` | `Array<Class<Discorb::Channel>>` | Type of the channel option. |
|
6408
|
+
# | `:autocomplete` | `Proc` | Autocomplete function. |
|
6409
|
+
# | `:range` | `Range` | Range of the option. Only valid for numeric options. (`:int`, `:float`) |
|
6410
|
+
#
|
6411
|
+
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
|
6412
|
+
# @param [Proc] block Command block.
|
6413
|
+
#
|
6414
|
+
# @return [Discorb::ApplicationCommand::Command::SlashCommand] Command object.
|
6415
|
+
#
|
6416
|
+
# @see file:docs/application_command.md#register-slash-command Application Comamnds: Register Slash Command
|
6417
|
+
# @see file:docs/cli/setup.md CLI: setup
|
6418
|
+
def slash: (
|
6419
|
+
String command_name,
|
6420
|
+
String description,
|
6421
|
+
?::Hash[String, String | Integer | Float] options,
|
6422
|
+
?guild_ids: (::Array[untyped] | bool)?
|
6423
|
+
) -> Discorb::ApplicationCommand::Command::SlashCommand
|
6424
|
+
|
6425
|
+
#
|
6426
|
+
# Add new command with group.
|
6427
|
+
#
|
6428
|
+
# @param [String] command_name Command name.
|
6429
|
+
# @param [String] description Command description.
|
6430
|
+
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
|
6431
|
+
#
|
6432
|
+
# @yield Block to yield with the command.
|
6433
|
+
# @yieldparam [Discorb::ApplicationCommand::Command::GroupCommand] group Group command.
|
6434
|
+
#
|
6435
|
+
# @return [Discorb::ApplicationCommand::Command::GroupCommand] Command object.
|
6436
|
+
#
|
6437
|
+
# @see file:docs/application_command.md Application Commands
|
6438
|
+
# @see file:docs/cli/setup.md CLI: setup
|
6439
|
+
def slash_group: (String command_name, String description, ?guild_ids: (::Array[untyped] | bool)?) ?{ (Discorb::ApplicationCommand::Command::GroupCommand group) -> void } -> Discorb::ApplicationCommand::Command::GroupCommand
|
6440
|
+
|
6441
|
+
#
|
6442
|
+
# Add message context menu command.
|
6443
|
+
#
|
6444
|
+
# @param [String] command_name Command name.
|
6445
|
+
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
|
6446
|
+
# @param [Proc] block Command block.
|
6447
|
+
# @yield [interaction, message] Block to execute.
|
6448
|
+
# @yieldparam [Discorb::CommandInteraction::UserMenuCommand] interaction Interaction object.
|
6449
|
+
# @yieldparam [Discorb::Message] message Message object.
|
6450
|
+
#
|
6451
|
+
# @return [Discorb::ApplicationCommand::Command] Command object.
|
6452
|
+
def message_command: (String command_name, ?guild_ids: (::Array[untyped] | bool)?) ?{ (Discorb::CommandInteraction::UserMenuCommand interaction, Discorb::Message message) -> void } -> Discorb::ApplicationCommand::Command
|
6453
|
+
|
6454
|
+
#
|
6455
|
+
# Add user context menu command.
|
6456
|
+
#
|
6457
|
+
# @param [String] command_name Command name.
|
6458
|
+
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
|
6459
|
+
# @param [Proc] block Command block.
|
6460
|
+
# @yield [interaction, user] Block to execute.
|
6461
|
+
# @yieldparam [Discorb::CommandInteraction::UserMenuCommand] interaction Interaction object.
|
6462
|
+
# @yieldparam [Discorb::User] user User object.
|
6463
|
+
#
|
6464
|
+
# @return [Discorb::ApplicationCommand::Command] Command object.
|
6465
|
+
def user_command: (String command_name, ?guild_ids: (::Array[untyped] | bool)?) ?{ (Discorb::CommandInteraction::UserMenuCommand interaction, Discorb::User user) -> void } -> Discorb::ApplicationCommand::Command
|
6466
|
+
|
6467
|
+
#
|
6468
|
+
# Setup commands.
|
6469
|
+
# @async
|
6470
|
+
# @see Client#initialize
|
6471
|
+
#
|
6472
|
+
# @param [String] token Bot token.
|
6473
|
+
# @param [Array<#to_s>, false, nil] guild_ids Guild IDs to use as default. If `false` is given, it will be global command.
|
6474
|
+
#
|
6475
|
+
# @note `token` parameter only required if you don't run client.
|
6476
|
+
def setup_commands: (?String? token, ?guild_ids: (::Array[untyped] | bool)?) -> untyped
|
6477
|
+
end
|
6478
|
+
end
|
6479
|
+
|
6480
|
+
#
|
6481
|
+
# Represents a command interaction.
|
6482
|
+
class CommandInteraction < Discorb::Interaction
|
6483
|
+
include Discorb::Interaction::SourceResponder
|
6484
|
+
include Discorb::Interaction::ModalResponder
|
6485
|
+
#
|
6486
|
+
# Response with `MODAL`(`9`).
|
6487
|
+
#
|
6488
|
+
# @param [String] title The title of the modal.
|
6489
|
+
# @param [String] custom_id The custom id of the modal.
|
6490
|
+
# @param [Array<Discorb::TextInput>] components The text inputs to send.
|
6491
|
+
#
|
6492
|
+
# @return [Async::Task<void>] The task.
|
6493
|
+
def show_modal: (String title, String custom_id, ::Array[Discorb::TextInput] components) -> Async::Task[void]
|
6494
|
+
|
6495
|
+
#
|
6496
|
+
# Response with `DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE`(`5`).
|
6497
|
+
#
|
6498
|
+
# @async
|
6499
|
+
#
|
6500
|
+
# @param [Boolean] ephemeral Whether to make the response ephemeral.
|
6501
|
+
#
|
6502
|
+
# @return [Async::Task<void>] The task.
|
6503
|
+
def defer_source: (?ephemeral: bool) -> Async::Task[void]
|
6504
|
+
|
6505
|
+
#
|
6506
|
+
# Response with `CHANNEL_MESSAGE_WITH_SOURCE`(`4`).
|
6507
|
+
#
|
6508
|
+
# @async
|
6509
|
+
#
|
6510
|
+
# @param [String] content The content of the response.
|
6511
|
+
# @param [Boolean] tts Whether to send the message as text-to-speech.
|
6512
|
+
# @param [Discorb::Embed] embed The embed to send.
|
6513
|
+
# @param [Array<Discorb::Embed>] embeds The embeds to send. (max: 10)
|
6514
|
+
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions to send.
|
6515
|
+
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
6516
|
+
# @param [Boolean] ephemeral Whether to make the response ephemeral.
|
6517
|
+
#
|
6518
|
+
# @return [Discorb::Interaction::SourceResponder::CallbackMessage, Discorb::Webhook::Message] The callback message.
|
6519
|
+
def post: (
|
6520
|
+
?String? content,
|
6521
|
+
?tts: bool,
|
6522
|
+
?embed: Discorb::Embed?,
|
6523
|
+
?embeds: ::Array[Discorb::Embed]?,
|
6524
|
+
?allowed_mentions: Discorb::AllowedMentions?,
|
6525
|
+
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]])?,
|
6526
|
+
?ephemeral: bool
|
6527
|
+
) -> (Discorb::Interaction::SourceResponder::CallbackMessage | Discorb::Webhook::Message)
|
6528
|
+
|
6529
|
+
#
|
6530
|
+
# Represents a slash command interaction.
|
6531
|
+
class SlashCommand < Discorb::CommandInteraction
|
6532
|
+
end
|
6586
6533
|
|
6587
6534
|
#
|
6588
6535
|
# Represents a user context menu interaction.
|
@@ -6597,12 +6544,192 @@ module Discorb
|
|
6597
6544
|
end
|
6598
6545
|
end
|
6599
6546
|
|
6547
|
+
#
|
6548
|
+
# Represents a text input component.
|
6549
|
+
class TextInput < Discorb::Component
|
6550
|
+
STYLES: untyped
|
6551
|
+
|
6552
|
+
#
|
6553
|
+
# Initialize a new text input component.
|
6554
|
+
#
|
6555
|
+
# @param [String] label The label of the text input.
|
6556
|
+
# @param [String] custom_id The custom id of the text input.
|
6557
|
+
# @param [:short, :paragraph] style The style of the text input.
|
6558
|
+
# @param [Integer, nil] min_length The minimum length of the text input.
|
6559
|
+
# @param [Integer, nil] max_length The maximum length of the text input.
|
6560
|
+
# @param [Boolean] required Whether the text input is required.
|
6561
|
+
# @param [String, nil] value The prefilled value of the text input.
|
6562
|
+
# @param [String, nil] placeholder The placeholder of the text input.
|
6563
|
+
def initialize: (
|
6564
|
+
String label,
|
6565
|
+
String custom_id,
|
6566
|
+
Symbol style,
|
6567
|
+
?min_length: Integer?,
|
6568
|
+
?max_length: Integer?,
|
6569
|
+
?required: bool,
|
6570
|
+
?value: String?,
|
6571
|
+
?placeholder: String?
|
6572
|
+
) -> void
|
6573
|
+
|
6574
|
+
#
|
6575
|
+
# Converts the select menu to a hash.
|
6576
|
+
#
|
6577
|
+
# @see https://discord.com/developers/docs/interactions/message-components#text-inputs-text-input-structure Official Discord API docs
|
6578
|
+
# @return [Hash] A hash representation of the text input.
|
6579
|
+
def to_hash: () -> ::Hash[untyped, untyped]
|
6580
|
+
|
6581
|
+
#
|
6582
|
+
# Creates a new text input from a hash.
|
6583
|
+
#
|
6584
|
+
# @param [Hash] data The hash to create the text input from.
|
6585
|
+
#
|
6586
|
+
# @return [Discorb::TextInput] The created text input.
|
6587
|
+
def self.from_hash: (::Hash[untyped, untyped] data) -> Discorb::TextInput
|
6588
|
+
|
6589
|
+
# @return [String] The label of the text input.
|
6590
|
+
attr_accessor label: String
|
6591
|
+
|
6592
|
+
# @return [String] The custom id of the text input.
|
6593
|
+
attr_accessor custom_id: String
|
6594
|
+
|
6595
|
+
# @return [:short, :paragraph] The style of the text input.
|
6596
|
+
attr_accessor style: Symbol
|
6597
|
+
|
6598
|
+
# @return [Integer, nil] The minimum length of the text input.
|
6599
|
+
attr_accessor min_length: Integer?
|
6600
|
+
|
6601
|
+
# @return [Integer, nil] The maximum length of the text input.
|
6602
|
+
attr_accessor max_length: Integer?
|
6603
|
+
|
6604
|
+
# @return [Boolean] Whether the text input is required.
|
6605
|
+
attr_accessor required: bool
|
6606
|
+
|
6607
|
+
# @return [String, nil] The prefilled value of the text input.
|
6608
|
+
attr_accessor value: String?
|
6609
|
+
|
6610
|
+
# @return [String, nil] The placeholder of the text input.
|
6611
|
+
attr_accessor placeholder: String?
|
6612
|
+
end
|
6613
|
+
|
6614
|
+
#
|
6615
|
+
# Represents a select menu component.
|
6616
|
+
class SelectMenu < Discorb::Component
|
6617
|
+
#
|
6618
|
+
# Initialize a new select menu.
|
6619
|
+
#
|
6620
|
+
# @param [String, Symbol] custom_id Custom ID of the select menu.
|
6621
|
+
# @param [Array<Discorb::SelectMenu::Option>] options The options of the select menu.
|
6622
|
+
# @param [String] placeholder The placeholder of the select menu.
|
6623
|
+
# @param [Integer] min_values The minimum number of values.
|
6624
|
+
# @param [Integer] max_values The maximum number of values.
|
6625
|
+
def initialize: (
|
6626
|
+
(String | Symbol) custom_id,
|
6627
|
+
::Array[Discorb::SelectMenu::Option] options,
|
6628
|
+
?placeholder: String?,
|
6629
|
+
?min_values: Integer,
|
6630
|
+
?max_values: Integer
|
6631
|
+
) -> void
|
6632
|
+
|
6633
|
+
#
|
6634
|
+
# Converts the select menu to a hash.
|
6635
|
+
#
|
6636
|
+
# @see https://discord.com/developers/docs/interactions/message-components#select-menu-object-select-menu-structure Official Discord API docs
|
6637
|
+
# @return [Hash] A hash representation of the select menu.
|
6638
|
+
def to_hash: () -> ::Hash[untyped, untyped]
|
6639
|
+
|
6640
|
+
def inspect: () -> untyped
|
6641
|
+
|
6642
|
+
#
|
6643
|
+
# Creates a new select menu from a hash.
|
6644
|
+
#
|
6645
|
+
# @param [Hash] data The hash to create the select menu from.
|
6646
|
+
#
|
6647
|
+
# @return [Discorb::SelectMenu] The created select menu.
|
6648
|
+
def self.from_hash: (::Hash[untyped, untyped] data) -> Discorb::SelectMenu
|
6649
|
+
|
6650
|
+
# @return [String] The custom ID of the select menu.
|
6651
|
+
attr_accessor custom_id: String
|
6652
|
+
|
6653
|
+
# @return [Array<SelectMenu::Option>] The options of the select menu.
|
6654
|
+
attr_accessor options: ::Array[SelectMenu::Option]
|
6655
|
+
|
6656
|
+
# @return [Integer] The minimum number of values.
|
6657
|
+
attr_accessor min_values: Integer
|
6658
|
+
|
6659
|
+
# @return [Integer] The maximum number of values.
|
6660
|
+
attr_accessor max_values: Integer
|
6661
|
+
|
6662
|
+
# @return [Boolean] Whether the select menu is disabled.
|
6663
|
+
attr_accessor disabled: bool
|
6664
|
+
|
6665
|
+
#
|
6666
|
+
# Represents an option of a select menu.
|
6667
|
+
class Option
|
6668
|
+
#
|
6669
|
+
# Initialize a new option.
|
6670
|
+
#
|
6671
|
+
# @param [String] label The label of the option.
|
6672
|
+
# @param [String] value The value of the option.
|
6673
|
+
# @param [String] description The description of the option.
|
6674
|
+
# @param [Discorb::Emoji] emoji The emoji of the option.
|
6675
|
+
# @param [Boolean] default Whether the option is default.
|
6676
|
+
def initialize: (
|
6677
|
+
String label,
|
6678
|
+
String value,
|
6679
|
+
?description: String?,
|
6680
|
+
?emoji: Discorb::Emoji?,
|
6681
|
+
?default: bool
|
6682
|
+
) -> void
|
6683
|
+
|
6684
|
+
#
|
6685
|
+
# Converts the option to a hash.
|
6686
|
+
#
|
6687
|
+
# @see https://discord.com/developers/docs/interactions/message-components#select-menu-object-select-option-structure Official Discord API docs
|
6688
|
+
# @return [Hash] Hash representation of the option.
|
6689
|
+
def to_hash: () -> ::Hash[untyped, untyped]
|
6690
|
+
|
6691
|
+
#
|
6692
|
+
# Creates a new option from a hash.
|
6693
|
+
#
|
6694
|
+
# @param [Hash] data A hash representing the option.
|
6695
|
+
#
|
6696
|
+
# @return [Discorb::SelectMenu::Option] A new option.
|
6697
|
+
def self.from_hash: (::Hash[untyped, untyped] data) -> Discorb::SelectMenu::Option
|
6698
|
+
|
6699
|
+
# @return [String] The label of the option.
|
6700
|
+
attr_accessor label: String
|
6701
|
+
|
6702
|
+
# @return [String] The value of the option.
|
6703
|
+
attr_accessor value: String
|
6704
|
+
|
6705
|
+
# @return [String] The description of the option.
|
6706
|
+
attr_accessor description: String
|
6707
|
+
|
6708
|
+
# @return [Discorb::Emoji] The emoji of the option.
|
6709
|
+
attr_accessor emoji: Discorb::Emoji
|
6710
|
+
|
6711
|
+
# @return [Boolean] Whether the option is default.
|
6712
|
+
attr_accessor default: bool
|
6713
|
+
end
|
6714
|
+
end
|
6715
|
+
|
6600
6716
|
#
|
6601
6717
|
# Represents a message component interaction.
|
6602
6718
|
# @abstract
|
6603
6719
|
class MessageComponentInteraction < Discorb::Interaction
|
6604
|
-
include Discorb::Interaction::
|
6605
|
-
include Discorb::Interaction::
|
6720
|
+
include Discorb::Interaction::SourceResponder
|
6721
|
+
include Discorb::Interaction::UpdateResponder
|
6722
|
+
include Discorb::Interaction::ModalResponder
|
6723
|
+
|
6724
|
+
#
|
6725
|
+
# Response with `MODAL`(`9`).
|
6726
|
+
#
|
6727
|
+
# @param [String] title The title of the modal.
|
6728
|
+
# @param [String] custom_id The custom id of the modal.
|
6729
|
+
# @param [Array<Discorb::TextInput>] components The text inputs to send.
|
6730
|
+
#
|
6731
|
+
# @return [Async::Task<void>] The task.
|
6732
|
+
def show_modal: (String title, String custom_id, ::Array[Discorb::TextInput] components) -> Async::Task[void]
|
6606
6733
|
|
6607
6734
|
#
|
6608
6735
|
# Response with `DEFERRED_UPDATE_MESSAGE`(`6`).
|
@@ -6660,7 +6787,7 @@ module Discorb
|
|
6660
6787
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
6661
6788
|
# @param [Boolean] ephemeral Whether to make the response ephemeral.
|
6662
6789
|
#
|
6663
|
-
# @return [Discorb::Interaction::
|
6790
|
+
# @return [Discorb::Interaction::SourceResponder::CallbackMessage, Discorb::Webhook::Message] The callback message.
|
6664
6791
|
def post: (
|
6665
6792
|
?String? content,
|
6666
6793
|
?tts: bool,
|
@@ -6669,7 +6796,7 @@ module Discorb
|
|
6669
6796
|
?allowed_mentions: Discorb::AllowedMentions?,
|
6670
6797
|
?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]])?,
|
6671
6798
|
?ephemeral: bool
|
6672
|
-
) -> (Discorb::Interaction::
|
6799
|
+
) -> (Discorb::Interaction::SourceResponder::CallbackMessage | Discorb::Webhook::Message)
|
6673
6800
|
|
6674
6801
|
# @return [String] The content of the response.
|
6675
6802
|
attr_reader custom_id: String
|
@@ -6704,6 +6831,7 @@ module Discorb
|
|
6704
6831
|
end
|
6705
6832
|
end
|
6706
6833
|
|
6834
|
+
# rubocop: disable Style/Documentation
|
6707
6835
|
class Time
|
6708
6836
|
#
|
6709
6837
|
# Format a time object to a Discord formatted string.
|
@@ -6712,4 +6840,12 @@ class Time
|
|
6712
6840
|
#
|
6713
6841
|
# @return [String] The formatted time.
|
6714
6842
|
def to_df: (?("f" | "F" | "d" | "D" | "t" | "T" | "R")? _type) -> String
|
6843
|
+
end
|
6844
|
+
|
6845
|
+
class Async::Task[R]
|
6846
|
+
#
|
6847
|
+
# Wait the task.
|
6848
|
+
#
|
6849
|
+
# @return [R] The result of the task.
|
6850
|
+
def wait: -> R
|
6715
6851
|
end
|