discorb 0.13.0 → 0.13.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/build_main.yml +1 -0
- data/.github/workflows/build_version.yml +1 -0
- data/.github/workflows/crowdin.yml +32 -0
- data/.gitignore +3 -1
- data/.yardopts +2 -0
- data/Changelog.md +399 -388
- data/Gemfile +5 -1
- data/README.md +1 -1
- data/Rakefile +139 -9
- data/crowdin.yml +2 -0
- data/docs/Examples.md +2 -0
- data/docs/application_command.md +7 -5
- data/docs/cli/irb.md +2 -0
- data/docs/cli/new.md +2 -0
- data/docs/cli/run.md +3 -1
- data/docs/cli/setup.md +4 -2
- data/docs/cli.md +2 -0
- data/docs/events.md +6 -4
- data/docs/extension.md +2 -2
- data/docs/faq.md +4 -2
- data/docs/license.md +2 -0
- data/docs/tutorial.md +4 -3
- data/docs/voice_events.md +2 -0
- data/lib/discorb/app_command.rb +8 -7
- data/lib/discorb/application.rb +1 -1
- data/lib/discorb/channel.rb +100 -76
- data/lib/discorb/client.rb +13 -15
- data/lib/discorb/common.rb +3 -1
- data/lib/discorb/emoji.rb +5 -7
- data/lib/discorb/emoji_table.rb +3891 -3891
- data/lib/discorb/event.rb +8 -7
- data/lib/discorb/exe/show.rb +2 -0
- data/lib/discorb/extension.rb +1 -1
- data/lib/discorb/flag.rb +1 -1
- data/lib/discorb/gateway.rb +9 -13
- data/lib/discorb/guild.rb +63 -89
- data/lib/discorb/guild_template.rb +12 -9
- data/lib/discorb/http.rb +82 -44
- data/lib/discorb/integration.rb +3 -0
- data/lib/discorb/interaction/response.rb +27 -25
- data/lib/discorb/interaction/root.rb +8 -0
- data/lib/discorb/invite.rb +3 -2
- data/lib/discorb/member.rb +41 -12
- data/lib/discorb/message.rb +28 -17
- data/lib/discorb/modules.rb +19 -26
- data/lib/discorb/role.rb +15 -11
- data/lib/discorb/sticker.rb +8 -12
- data/lib/discorb/user.rb +7 -7
- data/lib/discorb/voice_state.rb +8 -5
- data/lib/discorb/webhook.rb +38 -47
- data/lib/discorb.rb +1 -1
- data/po/yard.pot +7772 -5154
- data/sig/discorb.rbs +3316 -3819
- data/template-replace/scripts/locale_ja.rb +62 -0
- metadata +5 -3
data/lib/discorb/modules.rb
CHANGED
@@ -7,8 +7,7 @@ module Discorb
|
|
7
7
|
module Messageable
|
8
8
|
#
|
9
9
|
# Post a message to the channel.
|
10
|
-
# @
|
11
|
-
# @macro http
|
10
|
+
# @async
|
12
11
|
#
|
13
12
|
# @param [String] content The message content.
|
14
13
|
# @param [Boolean] tts Whether the message is tts.
|
@@ -38,14 +37,8 @@ module Discorb
|
|
38
37
|
allowed_mentions ? allowed_mentions.to_hash(@client.allowed_mentions) : @client.allowed_mentions.to_hash
|
39
38
|
payload[:message_reference] = reference.to_reference if reference
|
40
39
|
payload[:components] = Component.to_payload(components) if components
|
41
|
-
files = [file]
|
42
|
-
|
43
|
-
seperator, payload = HTTP.multipart(payload, files)
|
44
|
-
headers = { "content-type" => "multipart/form-data; boundary=#{seperator}" }
|
45
|
-
else
|
46
|
-
headers = {}
|
47
|
-
end
|
48
|
-
_resp, data = @client.http.post("/channels/#{channel_id.wait}/messages", payload, headers: headers).wait
|
40
|
+
files = [file]
|
41
|
+
_resp, data = @client.http.multipart_post("/channels/#{channel_id.wait}/messages", payload, files).wait
|
49
42
|
Message.new(@client, data.merge({ guild_id: @guild_id.to_s }))
|
50
43
|
end
|
51
44
|
end
|
@@ -54,8 +47,7 @@ module Discorb
|
|
54
47
|
|
55
48
|
#
|
56
49
|
# Edit a message.
|
57
|
-
# @
|
58
|
-
# @macro http
|
50
|
+
# @async
|
59
51
|
#
|
60
52
|
# @param [#to_s] message_id The message id.
|
61
53
|
# @param [String] content The message content.
|
@@ -65,6 +57,8 @@ module Discorb
|
|
65
57
|
# @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components The components to send.
|
66
58
|
# @param [Boolean] supress Whether to supress embeds.
|
67
59
|
#
|
60
|
+
# @return [Async::Task<void>] The task.
|
61
|
+
#
|
68
62
|
def edit_message(message_id, content = nil, embed: nil, embeds: nil, allowed_mentions: nil,
|
69
63
|
components: nil, supress: nil)
|
70
64
|
Async do
|
@@ -86,12 +80,13 @@ module Discorb
|
|
86
80
|
|
87
81
|
#
|
88
82
|
# Delete a message.
|
89
|
-
# @
|
90
|
-
# @macro http
|
83
|
+
# @async
|
91
84
|
#
|
92
85
|
# @param [#to_s] message_id The message id.
|
93
86
|
# @param [String] reason The reason for deleting the message.
|
94
87
|
#
|
88
|
+
# @return [Async::Task<void>] The task.
|
89
|
+
#
|
95
90
|
def delete_message!(message_id, reason: nil)
|
96
91
|
Async do
|
97
92
|
@client.http.delete("/channels/#{channel_id.wait}/messages/#{message_id}", audit_log_reason: reason).wait
|
@@ -102,8 +97,7 @@ module Discorb
|
|
102
97
|
|
103
98
|
#
|
104
99
|
# Fetch a message from ID.
|
105
|
-
# @
|
106
|
-
# @macro http
|
100
|
+
# @async
|
107
101
|
#
|
108
102
|
# @param [Discorb::Snowflake] id The ID of the message.
|
109
103
|
#
|
@@ -119,8 +113,7 @@ module Discorb
|
|
119
113
|
|
120
114
|
#
|
121
115
|
# Fetch a message history.
|
122
|
-
# @
|
123
|
-
# @macro http
|
116
|
+
# @async
|
124
117
|
#
|
125
118
|
# @param [Integer] limit The number of messages to fetch.
|
126
119
|
# @param [Discorb::Snowflake] before The ID of the message to fetch before.
|
@@ -144,8 +137,7 @@ module Discorb
|
|
144
137
|
|
145
138
|
#
|
146
139
|
# Fetch the pinned messages in the channel.
|
147
|
-
# @
|
148
|
-
# @macro http
|
140
|
+
# @async
|
149
141
|
#
|
150
142
|
# @return [Async::Task<Array<Discorb::Message>>] The pinned messages in the channel.
|
151
143
|
#
|
@@ -158,12 +150,13 @@ module Discorb
|
|
158
150
|
|
159
151
|
#
|
160
152
|
# Pin a message in the channel.
|
161
|
-
# @
|
162
|
-
# @macro http
|
153
|
+
# @async
|
163
154
|
#
|
164
155
|
# @param [Discorb::Message] message The message to pin.
|
165
156
|
# @param [String] reason The reason of pinning the message.
|
166
157
|
#
|
158
|
+
# @return [Async::Task<void>] The task.
|
159
|
+
#
|
167
160
|
def pin_message(message, reason: nil)
|
168
161
|
Async do
|
169
162
|
@client.http.put("/channels/#{channel_id.wait}/pins/#{message.id}", {}, audit_log_reason: reason).wait
|
@@ -172,12 +165,13 @@ module Discorb
|
|
172
165
|
|
173
166
|
#
|
174
167
|
# Unpin a message in the channel.
|
175
|
-
# @
|
176
|
-
# @macro http
|
168
|
+
# @async
|
177
169
|
#
|
178
170
|
# @param [Discorb::Message] message The message to unpin.
|
179
171
|
# @param [String] reason The reason of unpinning the message.
|
180
172
|
#
|
173
|
+
# @return [Async::Task<void>] The task.
|
174
|
+
#
|
181
175
|
def unpin_message(message, reason: nil)
|
182
176
|
Async do
|
183
177
|
@client.http.delete("/channels/#{channel_id.wait}/pins/#{message.id}", audit_log_reason: reason).wait
|
@@ -186,8 +180,7 @@ module Discorb
|
|
186
180
|
|
187
181
|
#
|
188
182
|
# Trigger the typing indicator in the channel.
|
189
|
-
# @
|
190
|
-
# @macro http
|
183
|
+
# @async
|
191
184
|
#
|
192
185
|
# If block is given, trigger typing indicator during executing block.
|
193
186
|
# @example
|
data/lib/discorb/role.rb
CHANGED
@@ -90,12 +90,13 @@ module Discorb
|
|
90
90
|
|
91
91
|
#
|
92
92
|
# Moves the role to a new position.
|
93
|
-
# @
|
94
|
-
# @macro http
|
93
|
+
# @async
|
95
94
|
#
|
96
95
|
# @param [Integer] position The new position.
|
97
96
|
# @param [String] reason The reason for moving the role.
|
98
97
|
#
|
98
|
+
# @return [Async::Task<void>] The task.
|
99
|
+
#
|
99
100
|
def move(position, reason: nil)
|
100
101
|
Async do
|
101
102
|
@client.http.patch("/guilds/#{@guild.id}/roles", { id: @id, position: position }, audit_log_reason: reason).wait
|
@@ -104,8 +105,7 @@ module Discorb
|
|
104
105
|
|
105
106
|
#
|
106
107
|
# Edits the role.
|
107
|
-
# @
|
108
|
-
# @macro http
|
108
|
+
# @async
|
109
109
|
# @macro edit
|
110
110
|
#
|
111
111
|
# @param [String] name The new name of the role.
|
@@ -116,15 +116,17 @@ module Discorb
|
|
116
116
|
# @param [Discorb::Image, Discorb::UnicodeEmoji] icon The new icon or emoji of the role.
|
117
117
|
# @param [String] reason The reason for editing the role.
|
118
118
|
#
|
119
|
-
|
119
|
+
# @return [Async::Task<void>] The task.
|
120
|
+
#
|
121
|
+
def edit(name: Discorb::Unset, position: Discorb::Unset, color: Discorb::Unset, hoist: Discorb::Unset, mentionable: Discorb::Unset, icon: Discorb::Unset, reason: nil)
|
120
122
|
Async do
|
121
123
|
payload = {}
|
122
|
-
payload[:name] = name if name !=
|
123
|
-
payload[:position] = position if position !=
|
124
|
-
payload[:color] = color.to_i if color !=
|
125
|
-
payload[:hoist] = hoist if hoist !=
|
126
|
-
payload[:mentionable] = mentionable if mentionable !=
|
127
|
-
if icon !=
|
124
|
+
payload[:name] = name if name != Discorb::Unset
|
125
|
+
payload[:position] = position if position != Discorb::Unset
|
126
|
+
payload[:color] = color.to_i if color != Discorb::Unset
|
127
|
+
payload[:hoist] = hoist if hoist != Discorb::Unset
|
128
|
+
payload[:mentionable] = mentionable if mentionable != Discorb::Unset
|
129
|
+
if icon != Discorb::Unset
|
128
130
|
if icon.is_a?(Discorb::Image)
|
129
131
|
payload[:icon] = icon.to_s
|
130
132
|
else
|
@@ -142,6 +144,8 @@ module Discorb
|
|
142
144
|
#
|
143
145
|
# @param [String] reason The reason for deleting the role.
|
144
146
|
#
|
147
|
+
# @return [Async::Task<void>] The task.
|
148
|
+
#
|
145
149
|
def delete!(reason: nil)
|
146
150
|
Async do
|
147
151
|
@client.http.delete("/guilds/#{@guild.id}/roles/#{@id}", audit_log_reason: reason).wait
|
data/lib/discorb/sticker.rb
CHANGED
@@ -67,8 +67,7 @@ module Discorb
|
|
67
67
|
|
68
68
|
#
|
69
69
|
# Edits the sticker.
|
70
|
-
# @
|
71
|
-
# @macro http
|
70
|
+
# @async
|
72
71
|
# @macro edit
|
73
72
|
#
|
74
73
|
# @param [String] name The new name of the sticker.
|
@@ -76,12 +75,14 @@ module Discorb
|
|
76
75
|
# @param [Discorb::Emoji] tag The new tags of the sticker.
|
77
76
|
# @param [String] reason The reason for the edit.
|
78
77
|
#
|
79
|
-
|
78
|
+
# @return [Async::Task<void>] The task.
|
79
|
+
#
|
80
|
+
def edit(name: Discorb::Unset, description: Discorb::Unset, tag: Discorb::Unset, reason: Discorb::Unset)
|
80
81
|
Async do
|
81
82
|
payload = {}
|
82
|
-
payload[:name] = name unless name ==
|
83
|
-
payload[:description] = description unless description ==
|
84
|
-
payload[:tags] = tag.name unless tag ==
|
83
|
+
payload[:name] = name unless name == Discorb::Unset
|
84
|
+
payload[:description] = description unless description == Discorb::Unset
|
85
|
+
payload[:tags] = tag.name unless tag == Discorb::Unset
|
85
86
|
@client.http.patch("/guilds/#{@guild_id}/stickers/#{@id}", payload, audit_log_reason: reason).wait
|
86
87
|
end
|
87
88
|
end
|
@@ -90,8 +91,7 @@ module Discorb
|
|
90
91
|
|
91
92
|
#
|
92
93
|
# Deletes the sticker.
|
93
|
-
# @
|
94
|
-
# @macro http
|
94
|
+
# @async
|
95
95
|
#
|
96
96
|
# @param [String] reason The reason for the deletion.
|
97
97
|
#
|
@@ -112,14 +112,10 @@ module Discorb
|
|
112
112
|
attr_reader :id
|
113
113
|
# @return [String] The name of the sticker pack.
|
114
114
|
attr_reader :name
|
115
|
-
# @return [Discorb::Snowflake] The ID of the SKU.
|
116
|
-
attr_reader :sku_id
|
117
115
|
# @return [Discorb::Snowflake] The cover sticker of the pack.
|
118
116
|
attr_reader :cover_sticker_id
|
119
117
|
# @return [String] The description of the pack.
|
120
118
|
attr_reader :description
|
121
|
-
# @return [Discorb::Store::SKU] The banner asset ID of the pack.
|
122
|
-
attr_reader :banner_asset_id
|
123
119
|
# @return [Array<Discorb::Sticker>] The stickers in the pack.
|
124
120
|
attr_reader :stickers
|
125
121
|
# @return [Discorb::Asset] The banner of the pack.
|
data/lib/discorb/user.rb
CHANGED
@@ -58,8 +58,7 @@ module Discorb
|
|
58
58
|
|
59
59
|
#
|
60
60
|
# Whether the user is a owner of the client.
|
61
|
-
# @
|
62
|
-
# @macro http
|
61
|
+
# @async
|
63
62
|
#
|
64
63
|
# @param [Boolean] strict Whether don't allow if the user is a member of the team.
|
65
64
|
#
|
@@ -150,18 +149,19 @@ module Discorb
|
|
150
149
|
class ClientUser < User
|
151
150
|
#
|
152
151
|
# Edit the client user.
|
153
|
-
# @
|
154
|
-
# @macro http
|
152
|
+
# @async
|
155
153
|
# @macro edit
|
156
154
|
#
|
157
155
|
# @param [String] name The new username.
|
158
156
|
# @param [Discorb::Image] avatar The new avatar.
|
159
157
|
#
|
160
|
-
|
158
|
+
# @return [Async::Task<void>] The task.
|
159
|
+
#
|
160
|
+
def edit(name: Discorb::Unset, avatar: Discorb::Unset)
|
161
161
|
Async do
|
162
162
|
payload = {}
|
163
|
-
payload[:username] = name unless name ==
|
164
|
-
if avatar ==
|
163
|
+
payload[:username] = name unless name == Discorb::Unset
|
164
|
+
if avatar == Discorb::Unset
|
165
165
|
# Nothing
|
166
166
|
elsif avatar.nil?
|
167
167
|
payload[:avatar] = nil
|
data/lib/discorb/voice_state.rb
CHANGED
@@ -166,19 +166,20 @@ module Discorb
|
|
166
166
|
|
167
167
|
#
|
168
168
|
# Edits the stage instance.
|
169
|
-
# @
|
170
|
-
# @macro http
|
169
|
+
# @async
|
171
170
|
# @macro edit
|
172
171
|
#
|
173
172
|
# @param [String] topic The new topic of the stage instance.
|
174
173
|
# @param [:public, :guild_only] privacy_level The new privacy level of the stage instance.
|
175
174
|
# @param [String] reason The reason for editing the stage instance.
|
176
175
|
#
|
177
|
-
|
176
|
+
# @return [Async::Task<void>] The task.
|
177
|
+
#
|
178
|
+
def edit(topic: Discorb::Unset, privacy_level: Discorb::Unset, reason: nil)
|
178
179
|
Async do
|
179
180
|
payload = {}
|
180
|
-
payload[:topic] = topic if topic !=
|
181
|
-
payload[:privacy_level] = self.class.privacy_level.key(privacy_level) if privacy_level !=
|
181
|
+
payload[:topic] = topic if topic != Discorb::Unset
|
182
|
+
payload[:privacy_level] = self.class.privacy_level.key(privacy_level) if privacy_level != Discorb::Unset
|
182
183
|
@client.http.edit("/stage-instances/#{@channel_id}", payload, audit_log_reason: reason).wait
|
183
184
|
self
|
184
185
|
end
|
@@ -191,6 +192,8 @@ module Discorb
|
|
191
192
|
#
|
192
193
|
# @param [String] reason The reason for deleting the stage instance.
|
193
194
|
#
|
195
|
+
# @return [Async::Task<void>] The task.
|
196
|
+
#
|
194
197
|
def delete!(reason: nil)
|
195
198
|
Async do
|
196
199
|
@client.http.delete("/stage-instances/#{@channel_id}", audit_log_reason: reason).wait
|
data/lib/discorb/webhook.rb
CHANGED
@@ -43,8 +43,7 @@ module Discorb
|
|
43
43
|
|
44
44
|
#
|
45
45
|
# Posts a message to the webhook.
|
46
|
-
# @
|
47
|
-
# @macro http
|
46
|
+
# @async
|
48
47
|
#
|
49
48
|
# @param [String] content The content of the message.
|
50
49
|
# @param [Boolean] tts Whether the message should be sent as text-to-speech.
|
@@ -61,7 +60,7 @@ module Discorb
|
|
61
60
|
# @return [Async::Task<nil>] If `wait` is false.
|
62
61
|
#
|
63
62
|
def post(content = nil, tts: false, embed: nil, embeds: nil, allowed_mentions: nil,
|
64
|
-
file: nil, files: nil, username: nil, avatar_url:
|
63
|
+
file: nil, files: nil, username: nil, avatar_url: Discorb::Unset, wait: true)
|
65
64
|
Async do
|
66
65
|
payload = {}
|
67
66
|
payload[:content] = content if content
|
@@ -74,17 +73,9 @@ module Discorb
|
|
74
73
|
payload[:embeds] = tmp_embed.map(&:to_hash) if tmp_embed
|
75
74
|
payload[:allowed_mentions] = allowed_mentions&.to_hash
|
76
75
|
payload[:username] = username if username
|
77
|
-
payload[:avatar_url] = avatar_url if avatar_url !=
|
78
|
-
files = [file]
|
79
|
-
|
80
|
-
headers, payload = HTTP.multipart(payload, files)
|
81
|
-
else
|
82
|
-
headers = {
|
83
|
-
"Content-Type" => "application/json",
|
84
|
-
}
|
85
|
-
end
|
86
|
-
_resp, data = @http.post("#{url}?wait=#{wait}", payload, headers: headers).wait
|
87
|
-
|
76
|
+
payload[:avatar_url] = avatar_url if avatar_url != Discorb::Unset
|
77
|
+
files = [file]
|
78
|
+
_resp, data = @http.multipart_post("#{url}?wait=#{wait}", files, payload, headers: headers).wait
|
88
79
|
data && Webhook::Message.new(self, data)
|
89
80
|
end
|
90
81
|
end
|
@@ -93,20 +84,21 @@ module Discorb
|
|
93
84
|
|
94
85
|
#
|
95
86
|
# Edits the webhook.
|
96
|
-
# @
|
97
|
-
# @macro http
|
87
|
+
# @async
|
98
88
|
# @macro edit
|
99
89
|
#
|
100
90
|
# @param [String] name The new name of the webhook.
|
101
91
|
# @param [Discorb::Image] avatar The new avatar of the webhook.
|
102
92
|
# @param [Discorb::GuildChannel] channel The new channel of the webhook.
|
103
93
|
#
|
104
|
-
|
94
|
+
# @return [Async::Task<void>] The task.
|
95
|
+
#
|
96
|
+
def edit(name: Discorb::Unset, avatar: Discorb::Unset, channel: Discorb::Unset)
|
105
97
|
Async do
|
106
98
|
payload = {}
|
107
|
-
payload[:name] = name if name !=
|
108
|
-
payload[:avatar] = avatar if avatar !=
|
109
|
-
payload[:channel_id] = Utils.try(channel, :id) if channel !=
|
99
|
+
payload[:name] = name if name != Discorb::Unset
|
100
|
+
payload[:avatar] = avatar if avatar != Discorb::Unset
|
101
|
+
payload[:channel_id] = Utils.try(channel, :id) if channel != Discorb::Unset
|
110
102
|
@http.patch(url.to_s, payload).wait
|
111
103
|
end
|
112
104
|
end
|
@@ -115,8 +107,9 @@ module Discorb
|
|
115
107
|
|
116
108
|
#
|
117
109
|
# Deletes the webhook.
|
118
|
-
# @
|
119
|
-
#
|
110
|
+
# @async
|
111
|
+
#
|
112
|
+
# @return [Async::Task<void>] The task.
|
120
113
|
#
|
121
114
|
def delete!
|
122
115
|
Async do
|
@@ -129,8 +122,7 @@ module Discorb
|
|
129
122
|
|
130
123
|
#
|
131
124
|
# Edits the webhook's message.
|
132
|
-
# @
|
133
|
-
# @macro http
|
125
|
+
# @async
|
134
126
|
# @macro edit
|
135
127
|
#
|
136
128
|
# @param [Discorb::Webhook::Message] message The message to edit.
|
@@ -142,29 +134,24 @@ module Discorb
|
|
142
134
|
# @param [Array<Discorb::File>] files The files to send.
|
143
135
|
# @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions to send.
|
144
136
|
#
|
137
|
+
# @return [Async::Task<void>] The task.
|
138
|
+
#
|
145
139
|
def edit_message(
|
146
|
-
message, content =
|
147
|
-
embed:
|
148
|
-
file:
|
149
|
-
attachments:
|
150
|
-
allowed_mentions:
|
140
|
+
message, content = Discorb::Unset,
|
141
|
+
embed: Discorb::Unset, embeds: Discorb::Unset,
|
142
|
+
file: Discorb::Unset, files: Discorb::Unset,
|
143
|
+
attachments: Discorb::Unset,
|
144
|
+
allowed_mentions: Discorb::Unset
|
151
145
|
)
|
152
146
|
Async do
|
153
147
|
payload = {}
|
154
|
-
payload[:content] = content if content !=
|
155
|
-
payload[:embeds] = embed ? [embed.to_hash] : [] if embed !=
|
156
|
-
payload[:embeds] = embeds.map(&:to_hash) if embeds !=
|
157
|
-
payload[:attachments] = attachments.map(&:to_hash) if attachments !=
|
158
|
-
payload[:allowed_mentions] = allowed_mentions if allowed_mentions !=
|
159
|
-
files = [file] if file !=
|
160
|
-
|
161
|
-
headers = {
|
162
|
-
"Content-Type" => "application/json",
|
163
|
-
}
|
164
|
-
else
|
165
|
-
headers, payload = HTTP.multipart(payload, files)
|
166
|
-
end
|
167
|
-
_resp, data = @http.patch("#{url}/messages/#{Utils.try(message, :id)}", payload, headers: headers).wait
|
148
|
+
payload[:content] = content if content != Discorb::Unset
|
149
|
+
payload[:embeds] = embed ? [embed.to_hash] : [] if embed != Discorb::Unset
|
150
|
+
payload[:embeds] = embeds.map(&:to_hash) if embeds != Discorb::Unset
|
151
|
+
payload[:attachments] = attachments.map(&:to_hash) if attachments != Discorb::Unset
|
152
|
+
payload[:allowed_mentions] = allowed_mentions if allowed_mentions != Discorb::Unset
|
153
|
+
files = [file] if file != Discorb::Unset
|
154
|
+
_resp, data = @http.multipart_patch("#{url}/messages/#{Utils.try(message, :id)}", payload, headers: headers).wait
|
168
155
|
message.send(:_set_data, data)
|
169
156
|
message
|
170
157
|
end
|
@@ -175,6 +162,8 @@ module Discorb
|
|
175
162
|
#
|
176
163
|
# @param [Discorb::Webhook::Message] message The message to delete.
|
177
164
|
#
|
165
|
+
# @return [Async::Task<void>] The task.
|
166
|
+
#
|
178
167
|
def delete_message!(message)
|
179
168
|
Async do
|
180
169
|
@http.delete("#{url}/messages/#{Utils.try(message, :id)}").wait
|
@@ -308,12 +297,13 @@ module Discorb
|
|
308
297
|
|
309
298
|
#
|
310
299
|
# Edits the message.
|
311
|
-
# @
|
312
|
-
# @macro http
|
300
|
+
# @async
|
313
301
|
# @macro edit
|
314
302
|
#
|
315
303
|
# @param (see Webhook#edit_message)
|
316
304
|
#
|
305
|
+
# @return [Async::Task<void>] The task.
|
306
|
+
#
|
317
307
|
def edit(...)
|
318
308
|
Async do
|
319
309
|
@webhook.edit_message(self, ...).wait
|
@@ -322,8 +312,9 @@ module Discorb
|
|
322
312
|
|
323
313
|
#
|
324
314
|
# Deletes the message.
|
325
|
-
# @
|
326
|
-
#
|
315
|
+
# @async
|
316
|
+
#
|
317
|
+
# @return [Async::Task<void>] The task.
|
327
318
|
#
|
328
319
|
def delete!
|
329
320
|
Async do
|
data/lib/discorb.rb
CHANGED
@@ -16,7 +16,7 @@ module Discorb
|
|
16
16
|
# @note You must enable `GUILD_MEMBERS` intent to use this method.
|
17
17
|
#
|
18
18
|
# @!macro edit
|
19
|
-
# @note The arguments of this method are defaultly set to
|
19
|
+
# @note The arguments of this method are defaultly set to `Discorb::Unset`. Specify value to set the value, if not don't specify or specify `Discorb::Unset`.
|
20
20
|
#
|
21
21
|
# @!macro http
|
22
22
|
# @note This method calls HTTP request.
|