discorb 0.11.3 → 0.12.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/PULL_REQUEST_TEMPLATE.md +30 -0
- data/CONTRIBUTING.md +25 -0
- data/Changelog.md +22 -0
- data/README.md +2 -1
- data/docs/cli/run.md +2 -1
- data/lib/discorb/app_command.rb +14 -0
- data/lib/discorb/channel.rb +0 -42
- data/lib/discorb/client.rb +46 -38
- data/lib/discorb/common.rb +1 -1
- data/lib/discorb/error.rb +8 -5
- data/lib/discorb/exe/run.rb +16 -1
- data/lib/discorb/gateway.rb +30 -23
- data/lib/discorb/interaction/autocomplete.rb +49 -0
- data/lib/discorb/interaction/command.rb +142 -0
- data/lib/discorb/interaction/components.rb +85 -0
- data/lib/discorb/interaction/response.rb +188 -0
- data/lib/discorb/interaction/root.rb +94 -0
- data/lib/discorb/interaction.rb +2 -618
- data/lib/discorb/message.rb +25 -23
- data/lib/discorb/modules.rb +42 -0
- data/lib/discorb/user.rb +7 -0
- metadata +9 -2
data/lib/discorb/modules.rb
CHANGED
@@ -142,6 +142,48 @@ module Discorb
|
|
142
142
|
end
|
143
143
|
end
|
144
144
|
|
145
|
+
#
|
146
|
+
# Fetch the pinned messages in the channel.
|
147
|
+
# @macro async
|
148
|
+
# @macro http
|
149
|
+
#
|
150
|
+
# @return [Async::Task<Array<Discorb::Message>>] The pinned messages in the channel.
|
151
|
+
#
|
152
|
+
def fetch_pins
|
153
|
+
Async do
|
154
|
+
_resp, data = @client.http.get("/channels/#{channel_id.wait}/pins").wait
|
155
|
+
data.map { |pin| Message.new(@client, pin) }
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
#
|
160
|
+
# Pin a message in the channel.
|
161
|
+
# @macro async
|
162
|
+
# @macro http
|
163
|
+
#
|
164
|
+
# @param [Discorb::Message] message The message to pin.
|
165
|
+
# @param [String] reason The reason of pinning the message.
|
166
|
+
#
|
167
|
+
def pin_message(message, reason: nil)
|
168
|
+
Async do
|
169
|
+
@client.http.put("/channels/#{channel_id.wait}/pins/#{message.id}", {}, audit_log_reason: reason).wait
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
#
|
174
|
+
# Unpin a message in the channel.
|
175
|
+
# @macro async
|
176
|
+
# @macro http
|
177
|
+
#
|
178
|
+
# @param [Discorb::Message] message The message to unpin.
|
179
|
+
# @param [String] reason The reason of unpinning the message.
|
180
|
+
#
|
181
|
+
def unpin_message(message, reason: nil)
|
182
|
+
Async do
|
183
|
+
@client.http.delete("/channels/#{channel_id.wait}/pins/#{message.id}", audit_log_reason: reason).wait
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
145
187
|
#
|
146
188
|
# Trigger the typing indicator in the channel.
|
147
189
|
# @macro async
|
data/lib/discorb/user.rb
CHANGED
@@ -26,6 +26,9 @@ module Discorb
|
|
26
26
|
|
27
27
|
include Discorb::Messageable
|
28
28
|
|
29
|
+
# @!attribute [r] mention
|
30
|
+
# @return [String] The user's mention.
|
31
|
+
|
29
32
|
# @private
|
30
33
|
def initialize(client, data)
|
31
34
|
@client = client
|
@@ -43,6 +46,10 @@ module Discorb
|
|
43
46
|
"#{@username}##{@discriminator}"
|
44
47
|
end
|
45
48
|
|
49
|
+
def mention
|
50
|
+
"<@#{@id}>"
|
51
|
+
end
|
52
|
+
|
46
53
|
alias to_s_user to_s
|
47
54
|
|
48
55
|
def inspect
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: discorb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sevenc-nanashi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-10-
|
11
|
+
date: 2021-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: async
|
@@ -77,11 +77,13 @@ files:
|
|
77
77
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
78
78
|
- ".github/ISSUE_TEMPLATE/config.yml"
|
79
79
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
80
|
+
- ".github/PULL_REQUEST_TEMPLATE.md"
|
80
81
|
- ".github/workflows/build_main.yml"
|
81
82
|
- ".github/workflows/build_version.yml"
|
82
83
|
- ".github/workflows/package_register.yml"
|
83
84
|
- ".gitignore"
|
84
85
|
- ".yardopts"
|
86
|
+
- CONTRIBUTING.md
|
85
87
|
- Changelog.md
|
86
88
|
- Gemfile
|
87
89
|
- LICENSE.txt
|
@@ -161,6 +163,11 @@ files:
|
|
161
163
|
- lib/discorb/integration.rb
|
162
164
|
- lib/discorb/intents.rb
|
163
165
|
- lib/discorb/interaction.rb
|
166
|
+
- lib/discorb/interaction/autocomplete.rb
|
167
|
+
- lib/discorb/interaction/command.rb
|
168
|
+
- lib/discorb/interaction/components.rb
|
169
|
+
- lib/discorb/interaction/response.rb
|
170
|
+
- lib/discorb/interaction/root.rb
|
164
171
|
- lib/discorb/invite.rb
|
165
172
|
- lib/discorb/log.rb
|
166
173
|
- lib/discorb/member.rb
|