discorb 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/build_version.yml +2 -2
- data/.rubocop.yml +12 -75
- data/Changelog.md +10 -0
- data/Rakefile +482 -454
- data/lib/discorb/allowed_mentions.rb +68 -72
- data/lib/discorb/app_command/command.rb +466 -398
- data/lib/discorb/app_command/common.rb +65 -25
- data/lib/discorb/app_command/handler.rb +304 -266
- data/lib/discorb/app_command.rb +5 -5
- data/lib/discorb/application.rb +198 -197
- data/lib/discorb/asset.rb +101 -101
- data/lib/discorb/attachment.rb +134 -119
- data/lib/discorb/audit_logs.rb +412 -385
- data/lib/discorb/automod.rb +279 -269
- data/lib/discorb/channel/base.rb +107 -108
- data/lib/discorb/channel/category.rb +32 -32
- data/lib/discorb/channel/container.rb +44 -44
- data/lib/discorb/channel/dm.rb +26 -28
- data/lib/discorb/channel/guild.rb +311 -246
- data/lib/discorb/channel/stage.rb +156 -140
- data/lib/discorb/channel/text.rb +430 -336
- data/lib/discorb/channel/thread.rb +374 -325
- data/lib/discorb/channel/voice.rb +85 -79
- data/lib/discorb/channel.rb +5 -5
- data/lib/discorb/client.rb +635 -621
- data/lib/discorb/color.rb +178 -182
- data/lib/discorb/common.rb +168 -164
- data/lib/discorb/components/button.rb +107 -106
- data/lib/discorb/components/select_menu.rb +157 -145
- data/lib/discorb/components/text_input.rb +103 -106
- data/lib/discorb/components.rb +68 -66
- data/lib/discorb/dictionary.rb +135 -135
- data/lib/discorb/embed.rb +404 -398
- data/lib/discorb/emoji.rb +309 -302
- data/lib/discorb/emoji_table.rb +16099 -8857
- data/lib/discorb/error.rb +131 -131
- data/lib/discorb/event.rb +360 -314
- data/lib/discorb/event_handler.rb +39 -39
- data/lib/discorb/exe/about.rb +17 -17
- data/lib/discorb/exe/irb.rb +72 -67
- data/lib/discorb/exe/new.rb +323 -315
- data/lib/discorb/exe/run.rb +69 -68
- data/lib/discorb/exe/setup.rb +57 -55
- data/lib/discorb/exe/show.rb +12 -12
- data/lib/discorb/extend.rb +25 -45
- data/lib/discorb/extension.rb +89 -83
- data/lib/discorb/flag.rb +126 -128
- data/lib/discorb/gateway.rb +984 -804
- data/lib/discorb/gateway_events.rb +670 -638
- data/lib/discorb/gateway_requests.rb +45 -48
- data/lib/discorb/guild.rb +2115 -1626
- data/lib/discorb/guild_template.rb +280 -241
- data/lib/discorb/http.rb +247 -232
- data/lib/discorb/image.rb +42 -42
- data/lib/discorb/integration.rb +169 -161
- data/lib/discorb/intents.rb +161 -163
- data/lib/discorb/interaction/autocomplete.rb +76 -62
- data/lib/discorb/interaction/command.rb +279 -224
- data/lib/discorb/interaction/components.rb +114 -104
- data/lib/discorb/interaction/modal.rb +36 -32
- data/lib/discorb/interaction/response.rb +379 -336
- data/lib/discorb/interaction/root.rb +271 -257
- data/lib/discorb/interaction.rb +5 -5
- data/lib/discorb/invite.rb +154 -153
- data/lib/discorb/member.rb +344 -311
- data/lib/discorb/message.rb +615 -544
- data/lib/discorb/message_meta.rb +197 -186
- data/lib/discorb/modules.rb +371 -290
- data/lib/discorb/permission.rb +305 -291
- data/lib/discorb/presence.rb +352 -346
- data/lib/discorb/rate_limit.rb +81 -76
- data/lib/discorb/reaction.rb +55 -54
- data/lib/discorb/role.rb +272 -240
- data/lib/discorb/shard.rb +76 -74
- data/lib/discorb/sticker.rb +193 -171
- data/lib/discorb/user.rb +205 -188
- data/lib/discorb/utils/colored_puts.rb +16 -16
- data/lib/discorb/utils.rb +12 -16
- data/lib/discorb/voice_state.rb +305 -281
- data/lib/discorb/webhook.rb +537 -507
- data/lib/discorb.rb +62 -56
- data/sig/discorb/application.rbs +2 -0
- data/sig/discorb/automod.rbs +10 -1
- data/sig/discorb/guild.rbs +2 -0
- data/sig/discorb/message.rbs +2 -0
- data/sig/discorb/user.rbs +22 -20
- metadata +2 -2
@@ -1,72 +1,68 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Discorb
|
4
|
-
#
|
5
|
-
# Represents a allowed mentions in a message.
|
6
|
-
#
|
7
|
-
class AllowedMentions
|
8
|
-
# @return [Boolean] Whether to allow @everyone or @here.
|
9
|
-
attr_accessor :everyone
|
10
|
-
# @return [Boolean, Array<Discorb::Role>] The roles to allow, or false to disable.
|
11
|
-
attr_accessor :roles
|
12
|
-
# @return [Boolean, Array<Discorb::User>] The users to allow, or false to disable.
|
13
|
-
attr_accessor :users
|
14
|
-
# @return [Boolean] Whether to ping the user that sent the message to reply.
|
15
|
-
attr_accessor :replied_user
|
16
|
-
|
17
|
-
#
|
18
|
-
# Initializes a new instance of the AllowedMentions class.
|
19
|
-
#
|
20
|
-
# @param [Boolean] everyone Whether to allow @everyone or @here.
|
21
|
-
# @param [Boolean, Array<Discorb::Role>] roles The roles to allow, or false to disable.
|
22
|
-
# @param [Boolean, Array<Discorb::User>] users The users to allow, or false to disable.
|
23
|
-
# @param [Boolean] replied_user Whether to ping the user that sent the message to reply.
|
24
|
-
#
|
25
|
-
def initialize(everyone: nil, roles: nil, users: nil, replied_user: nil)
|
26
|
-
@everyone = !everyone.nil?
|
27
|
-
@roles = roles
|
28
|
-
@users = users
|
29
|
-
@replied_user = replied_user
|
30
|
-
end
|
31
|
-
|
32
|
-
def inspect
|
33
|
-
"#<#{self.class} @everyone=#{@everyone} @roles=#{@roles} @users=#{@users} @replied_user=#{@replied_user}>"
|
34
|
-
end
|
35
|
-
|
36
|
-
#
|
37
|
-
# Converts the object to a hash.
|
38
|
-
# @private
|
39
|
-
#
|
40
|
-
# @param [Discorb::AllowedMentions, nil] other The object to merge.
|
41
|
-
#
|
42
|
-
# @return [Hash] The hash.
|
43
|
-
#
|
44
|
-
def to_hash(other = nil)
|
45
|
-
payload = {
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
nil
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Discorb
|
4
|
+
#
|
5
|
+
# Represents a allowed mentions in a message.
|
6
|
+
#
|
7
|
+
class AllowedMentions
|
8
|
+
# @return [Boolean] Whether to allow @everyone or @here.
|
9
|
+
attr_accessor :everyone
|
10
|
+
# @return [Boolean, Array<Discorb::Role>] The roles to allow, or false to disable.
|
11
|
+
attr_accessor :roles
|
12
|
+
# @return [Boolean, Array<Discorb::User>] The users to allow, or false to disable.
|
13
|
+
attr_accessor :users
|
14
|
+
# @return [Boolean] Whether to ping the user that sent the message to reply.
|
15
|
+
attr_accessor :replied_user
|
16
|
+
|
17
|
+
#
|
18
|
+
# Initializes a new instance of the AllowedMentions class.
|
19
|
+
#
|
20
|
+
# @param [Boolean] everyone Whether to allow @everyone or @here.
|
21
|
+
# @param [Boolean, Array<Discorb::Role>] roles The roles to allow, or false to disable.
|
22
|
+
# @param [Boolean, Array<Discorb::User>] users The users to allow, or false to disable.
|
23
|
+
# @param [Boolean] replied_user Whether to ping the user that sent the message to reply.
|
24
|
+
#
|
25
|
+
def initialize(everyone: nil, roles: nil, users: nil, replied_user: nil)
|
26
|
+
@everyone = !everyone.nil?
|
27
|
+
@roles = roles
|
28
|
+
@users = users
|
29
|
+
@replied_user = replied_user
|
30
|
+
end
|
31
|
+
|
32
|
+
def inspect
|
33
|
+
"#<#{self.class} @everyone=#{@everyone} @roles=#{@roles} @users=#{@users} @replied_user=#{@replied_user}>"
|
34
|
+
end
|
35
|
+
|
36
|
+
#
|
37
|
+
# Converts the object to a hash.
|
38
|
+
# @private
|
39
|
+
#
|
40
|
+
# @param [Discorb::AllowedMentions, nil] other The object to merge.
|
41
|
+
#
|
42
|
+
# @return [Hash] The hash.
|
43
|
+
#
|
44
|
+
def to_hash(other = nil)
|
45
|
+
payload = { parse: %w[everyone roles users] }
|
46
|
+
replied_user = nil_merge(@replied_user, other&.replied_user)
|
47
|
+
everyone = nil_merge(@everyone, other&.everyone)
|
48
|
+
roles = nil_merge(@roles, other&.roles)
|
49
|
+
users = nil_merge(@users, other&.users)
|
50
|
+
payload[:replied_user] = replied_user
|
51
|
+
payload[:parse].delete("everyone") if everyone == false
|
52
|
+
if (roles == false) || roles.is_a?(Array)
|
53
|
+
payload[:roles] = roles.map { |u| u.id.to_s } if roles.is_a? Array
|
54
|
+
payload[:parse].delete("roles")
|
55
|
+
end
|
56
|
+
if (users == false) || users.is_a?(Array)
|
57
|
+
payload[:users] = users.map { |u| u.id.to_s } if users.is_a? Array
|
58
|
+
payload[:parse].delete("users")
|
59
|
+
end
|
60
|
+
payload
|
61
|
+
end
|
62
|
+
|
63
|
+
def nil_merge(*args)
|
64
|
+
args.each { |a| return a unless a.nil? }
|
65
|
+
nil
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|