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,79 +1,85 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Discorb
|
4
|
-
#
|
5
|
-
# Represents a voice channel.
|
6
|
-
#
|
7
|
-
class VoiceChannel < GuildChannel
|
8
|
-
# @return [Integer] The bitrate of the voice channel.
|
9
|
-
attr_reader :bitrate
|
10
|
-
# @return [Integer] The user limit of the voice channel.
|
11
|
-
# @return [nil] If the user limit is not set.
|
12
|
-
attr_reader :user_limit
|
13
|
-
|
14
|
-
# @!attribute [r] members
|
15
|
-
# @return [Array<Discorb::Member>] The members in the voice channel.
|
16
|
-
# @!attribute [r] voice_states
|
17
|
-
# @return [Array<Discorb::VoiceState>] The voice states associated with the voice channel.
|
18
|
-
|
19
|
-
include Connectable
|
20
|
-
include Messageable
|
21
|
-
|
22
|
-
@channel_type = 2
|
23
|
-
#
|
24
|
-
# Edit the voice channel.
|
25
|
-
# @async
|
26
|
-
# @macro edit
|
27
|
-
#
|
28
|
-
# @param [String] name The name of the voice channel.
|
29
|
-
# @param [Integer] position The position of the voice channel.
|
30
|
-
# @param [Integer] bitrate The bitrate of the voice channel.
|
31
|
-
# @param [Integer] user_limit The user limit of the voice channel.
|
32
|
-
# @param [Symbol] rtc_region The region of the voice channel.
|
33
|
-
# @param [String] reason The reason of editing the voice channel.
|
34
|
-
#
|
35
|
-
# @return [Async::Task<self>] The edited voice channel.
|
36
|
-
#
|
37
|
-
def edit(
|
38
|
-
name: Discorb::Unset,
|
39
|
-
position: Discorb::Unset,
|
40
|
-
bitrate: Discorb::Unset,
|
41
|
-
user_limit: Discorb::Unset,
|
42
|
-
rtc_region: Discorb::Unset,
|
43
|
-
reason: nil
|
44
|
-
)
|
45
|
-
Async do
|
46
|
-
payload = {}
|
47
|
-
payload[:name] = name if name != Discorb::Unset
|
48
|
-
payload[:position] = position if position != Discorb::Unset
|
49
|
-
payload[:bitrate] = bitrate if bitrate != Discorb::Unset
|
50
|
-
payload[:user_limit] = user_limit if user_limit != Discorb::Unset
|
51
|
-
payload[:rtc_region] = rtc_region if rtc_region != Discorb::Unset
|
52
|
-
|
53
|
-
@client
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
end
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
def
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Discorb
|
4
|
+
#
|
5
|
+
# Represents a voice channel.
|
6
|
+
#
|
7
|
+
class VoiceChannel < GuildChannel
|
8
|
+
# @return [Integer] The bitrate of the voice channel.
|
9
|
+
attr_reader :bitrate
|
10
|
+
# @return [Integer] The user limit of the voice channel.
|
11
|
+
# @return [nil] If the user limit is not set.
|
12
|
+
attr_reader :user_limit
|
13
|
+
|
14
|
+
# @!attribute [r] members
|
15
|
+
# @return [Array<Discorb::Member>] The members in the voice channel.
|
16
|
+
# @!attribute [r] voice_states
|
17
|
+
# @return [Array<Discorb::VoiceState>] The voice states associated with the voice channel.
|
18
|
+
|
19
|
+
include Connectable
|
20
|
+
include Messageable
|
21
|
+
|
22
|
+
@channel_type = 2
|
23
|
+
#
|
24
|
+
# Edit the voice channel.
|
25
|
+
# @async
|
26
|
+
# @macro edit
|
27
|
+
#
|
28
|
+
# @param [String] name The name of the voice channel.
|
29
|
+
# @param [Integer] position The position of the voice channel.
|
30
|
+
# @param [Integer] bitrate The bitrate of the voice channel.
|
31
|
+
# @param [Integer] user_limit The user limit of the voice channel.
|
32
|
+
# @param [Symbol] rtc_region The region of the voice channel.
|
33
|
+
# @param [String] reason The reason of editing the voice channel.
|
34
|
+
#
|
35
|
+
# @return [Async::Task<self>] The edited voice channel.
|
36
|
+
#
|
37
|
+
def edit(
|
38
|
+
name: Discorb::Unset,
|
39
|
+
position: Discorb::Unset,
|
40
|
+
bitrate: Discorb::Unset,
|
41
|
+
user_limit: Discorb::Unset,
|
42
|
+
rtc_region: Discorb::Unset,
|
43
|
+
reason: nil
|
44
|
+
)
|
45
|
+
Async do
|
46
|
+
payload = {}
|
47
|
+
payload[:name] = name if name != Discorb::Unset
|
48
|
+
payload[:position] = position if position != Discorb::Unset
|
49
|
+
payload[:bitrate] = bitrate if bitrate != Discorb::Unset
|
50
|
+
payload[:user_limit] = user_limit if user_limit != Discorb::Unset
|
51
|
+
payload[:rtc_region] = rtc_region if rtc_region != Discorb::Unset
|
52
|
+
|
53
|
+
@client
|
54
|
+
.http
|
55
|
+
.request(
|
56
|
+
Route.new("/channels/#{@id}", "//channels/:channel_id", :patch),
|
57
|
+
payload,
|
58
|
+
audit_log_reason: reason
|
59
|
+
)
|
60
|
+
.wait
|
61
|
+
self
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
alias modify edit
|
66
|
+
|
67
|
+
def voice_states
|
68
|
+
guild.voice_states.select { |state| state.channel&.id == @id }
|
69
|
+
end
|
70
|
+
|
71
|
+
def members
|
72
|
+
voice_states.map(&:member)
|
73
|
+
end
|
74
|
+
|
75
|
+
private
|
76
|
+
|
77
|
+
def _set_data(data)
|
78
|
+
@bitrate = data[:bitrate]
|
79
|
+
@user_limit = (data[:user_limit]).zero? ? nil : data[:user_limit]
|
80
|
+
@rtc_region = data[:rtc_region]&.to_sym
|
81
|
+
@video_quality_mode = data[:video_quality_mode] == 1 ? :auto : :full
|
82
|
+
super
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
data/lib/discorb/channel.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
%w[base guild text voice category stage thread dm].each do |name|
|
4
|
-
require_relative "channel/#{name}"
|
5
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
%w[base guild text voice category stage thread dm].each do |name|
|
4
|
+
require_relative "channel/#{name}"
|
5
|
+
end
|