discorb 0.13.4 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.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
|