discorb 0.5.5 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.md +57 -0
- data/.github/ISSUE_TEMPLATE/config.yml +8 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +38 -0
- data/.gitignore +3 -3
- data/.yardopts +1 -0
- data/Changelog.md +40 -1
- data/README.md +9 -6
- data/assets/banner.svg +125 -0
- data/docs/application_command.md +19 -19
- data/docs/cli/run.md +11 -1
- data/docs/cli/setup.md +7 -1
- data/docs/events.md +34 -0
- data/docs/extension.md +6 -6
- data/lib/discorb/{command.rb → app_command.rb} +60 -50
- data/lib/discorb/channel.rb +18 -18
- data/lib/discorb/client.rb +47 -35
- data/lib/discorb/color.rb +59 -29
- data/lib/discorb/common.rb +1 -1
- data/lib/discorb/embed.rb +12 -12
- data/lib/discorb/emoji.rb +9 -2
- data/lib/discorb/error.rb +7 -1
- data/lib/discorb/event.rb +5 -5
- data/lib/discorb/exe/run.rb +12 -0
- data/lib/discorb/exe/setup.rb +14 -1
- data/lib/discorb/extension.rb +9 -9
- data/lib/discorb/gateway.rb +40 -8
- data/lib/discorb/guild.rb +38 -38
- data/lib/discorb/http.rb +13 -11
- data/lib/discorb/intents.rb +2 -2
- data/lib/discorb/interaction.rb +3 -2
- data/lib/discorb/log.rb +16 -12
- data/lib/discorb/member.rb +3 -3
- data/lib/discorb/message.rb +8 -8
- data/lib/discorb/modules.rb +5 -5
- data/lib/discorb/user.rb +1 -1
- data/lib/discorb/webhook.rb +1 -1
- data/lib/discorb.rb +1 -1
- data/po/yard.pot +37 -37
- data/sig/discorb.rbs +7218 -0
- metadata +8 -4
- data/Gemfile.lock +0 -67
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 13326863238ba4e79e873947fe579da1027bfcfe7f6baed1bd9d0c74806e31a1
|
4
|
+
data.tar.gz: c43a370b95eec06dcfa2ce0f627c8b9e14421464848c7170690ddc9527aff589
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf804c54e218696a9ba5464af5e8c6d4d25132ac573413d0453502872e2dcc55ec49bfb4c571d05df4d489a49cef894ca139091e74fb41fb0d5f36c2786e5cdf
|
7
|
+
data.tar.gz: 8fb94771a4ea9730962f084d40439383b412caa97674aa9d6edb38d01ebd10fb14ecc54a9bac24a067768bbe5866d18ddd6366449ba84355324af70839fce135
|
@@ -0,0 +1,57 @@
|
|
1
|
+
---
|
2
|
+
name: Bug Report
|
3
|
+
about: A bug report for discorb.
|
4
|
+
labels:
|
5
|
+
- bug
|
6
|
+
---
|
7
|
+
|
8
|
+
<!--
|
9
|
+
Before submitting a bug report, please check that it is not already being, or has been, reported.
|
10
|
+
Don't forget to find closed issues and check if the bug is already fixed.
|
11
|
+
-->
|
12
|
+
|
13
|
+
## What is the bug?
|
14
|
+
|
15
|
+
<!--
|
16
|
+
Please describe the bug in detail.
|
17
|
+
Ex:
|
18
|
+
I want to sleep, but I can't.
|
19
|
+
-->
|
20
|
+
|
21
|
+
## What steps did you take to reproduce the bug?
|
22
|
+
|
23
|
+
<!--
|
24
|
+
Please describe the steps you took to reproduce the bug.
|
25
|
+
Ex:
|
26
|
+
1. Go to bed
|
27
|
+
2. Count sheeps
|
28
|
+
3. Observe
|
29
|
+
-->
|
30
|
+
|
31
|
+
## What did you expect to see?
|
32
|
+
|
33
|
+
<!--
|
34
|
+
Please describe what you expected to see.
|
35
|
+
Ex:
|
36
|
+
I can sleep.
|
37
|
+
-->
|
38
|
+
|
39
|
+
## What did you see instead?
|
40
|
+
|
41
|
+
<!--
|
42
|
+
Please describe what you saw instead.
|
43
|
+
Ex:
|
44
|
+
I can't sleep.
|
45
|
+
-->
|
46
|
+
|
47
|
+
## Environment information
|
48
|
+
|
49
|
+
<!--
|
50
|
+
Use `discorb show` to get the current machine.
|
51
|
+
-->
|
52
|
+
|
53
|
+
## Other information
|
54
|
+
|
55
|
+
<!--
|
56
|
+
Please describe any other information you want to include as such as the screenshots you took, or the logs you generated.
|
57
|
+
-->
|
@@ -0,0 +1,38 @@
|
|
1
|
+
---
|
2
|
+
name: Feature Request
|
3
|
+
labels:
|
4
|
+
- Feature Request
|
5
|
+
- Enhancement
|
6
|
+
about: Feature request for discorb's future.
|
7
|
+
---
|
8
|
+
<!--
|
9
|
+
Before submitting a feature request, please check there is no existing feature request for the feature you are requesting.
|
10
|
+
-->
|
11
|
+
|
12
|
+
|
13
|
+
## What is the feature you are requesting?
|
14
|
+
|
15
|
+
<!--
|
16
|
+
Please describe the feature you are requesting.
|
17
|
+
Ex: Create discorb-chan
|
18
|
+
-->
|
19
|
+
|
20
|
+
## Why do you need the feature?
|
21
|
+
|
22
|
+
<!--
|
23
|
+
Please describe the reason for the feature you are requesting.
|
24
|
+
Ex: She's cute.
|
25
|
+
-->
|
26
|
+
|
27
|
+
## Alternative considerations?
|
28
|
+
|
29
|
+
<!--
|
30
|
+
Please describe alternative considerations for the feature you are requesting.
|
31
|
+
Ex: Add discorb-kun
|
32
|
+
-->
|
33
|
+
|
34
|
+
## Additional context
|
35
|
+
|
36
|
+
<!--
|
37
|
+
Please describe any additional context you have for the feature you are requesting.
|
38
|
+
-->
|
data/.gitignore
CHANGED
@@ -45,9 +45,9 @@ build-iPhoneSimulator/
|
|
45
45
|
|
46
46
|
# for a library or gem, you might want to ignore these files since the code is
|
47
47
|
# intended to run in multiple environments; otherwise, check them in:
|
48
|
-
|
49
|
-
|
50
|
-
|
48
|
+
Gemfile.lock
|
49
|
+
.ruby-version
|
50
|
+
.ruby-gemset
|
51
51
|
|
52
52
|
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
53
53
|
.rvmrc
|
data/.yardopts
CHANGED
data/Changelog.md
CHANGED
@@ -131,4 +131,43 @@
|
|
131
131
|
|
132
132
|
## 0.5.5
|
133
133
|
|
134
|
-
- Fix: Fix some bugs
|
134
|
+
- Fix: Fix some bugs
|
135
|
+
|
136
|
+
## 0.5.6
|
137
|
+
|
138
|
+
- Add: Raise error when intents are invalid
|
139
|
+
- Fix: Fix Emoji#==
|
140
|
+
|
141
|
+
## 0.6.0
|
142
|
+
|
143
|
+
- Fix: Fix issue with client with no guilds
|
144
|
+
- Add: Add rbs (experimental)
|
145
|
+
- Add: Add `-t`, `--token` option to `discorb run`
|
146
|
+
- Add: Add `-g`, `--guild` option to `discorb setup`
|
147
|
+
- Change: Use `Async::Task<R>` instead of `R` in return value
|
148
|
+
|
149
|
+
## 0.6.1
|
150
|
+
|
151
|
+
- Change: Rename `Event#discriminator` to `Event#metadata`
|
152
|
+
- Add: Add `:override` to `Client#on`
|
153
|
+
|
154
|
+
## 0.7.0
|
155
|
+
|
156
|
+
- Add: Add `error` event
|
157
|
+
- Fix: Fix some issues with client without guild intent
|
158
|
+
- Add: Add alias for `#fired_by`
|
159
|
+
- Change!: Change block usage of `ApplicationCommand::Handler#group`
|
160
|
+
```ruby
|
161
|
+
# before
|
162
|
+
client.slash_group do
|
163
|
+
slash "help", "Help" do |interaction|
|
164
|
+
# ...
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
# after
|
169
|
+
client.slash_group do |group|
|
170
|
+
group.slash "help", "Help" do |interaction|
|
171
|
+
# ...
|
172
|
+
end
|
173
|
+
end
|
data/README.md
CHANGED
@@ -1,9 +1,12 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
![discorb](./assets/banner.svg)
|
2
|
+
|
3
|
+
<div align="center"><a href="https://discorb-lib.github.io/"><img src="https://img.shields.io/badge/Document-discorb--lib.github.io-blue.svg" alt="Document"></a>
|
4
|
+
<a href="https://rubygems.org/gems/discorb"><img src="https://img.shields.io/gem/dt/discorb?logo=rubygems&logoColor=fff" alt="Gem"></a>
|
5
|
+
<a href="https://rubygems.org/gems/discorb"><img src="https://img.shields.io/gem/v/discorb?logo=rubygems&logoColor=fff" alt="Gem"></a>
|
6
|
+
<a href="https://discord.gg/hCP6zq8Vpj"><img src="https://img.shields.io/discord/863581274916913193?logo=discord&logoColor=fff&color=5865f2&label=Discord" alt="Discord"></a>
|
7
|
+
<a href="https://github.com/discorb-lib/discorb"><img src="https://img.shields.io/github/stars/discorb-lib/discorb?color=24292e&label=Stars&logo=GitHub&logoColor=fff" alt="GitHub"></a></div>
|
8
|
+
|
9
|
+
----
|
7
10
|
|
8
11
|
discorb is a Discord API wrapper for Ruby.
|
9
12
|
|
data/assets/banner.svg
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
3
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
4
|
+
<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
5
|
+
y="0px" width="1080px" height="150px" viewBox="0 0 1080 150" enable-background="new 0 0 1080 150" xml:space="preserve">
|
6
|
+
<g>
|
7
|
+
<defs>
|
8
|
+
<rect id="SVGID_1_" x="283.667" y="-12.667" width="343.333" height="201.333"/>
|
9
|
+
</defs>
|
10
|
+
<clipPath id="SVGID_2_">
|
11
|
+
<use xlink:href="#SVGID_1_" overflow="visible"/>
|
12
|
+
</clipPath>
|
13
|
+
<g clip-path="url(#SVGID_2_)">
|
14
|
+
<g>
|
15
|
+
<g>
|
16
|
+
<path fill="#2E3338" d="M370.533,119.061c-13.503,0-21.565-10.312-21.565-27.582c0-18.543,9.872-30.525,25.149-30.525
|
17
|
+
c5.186,0,10.446,0.915,14.432,2.509l3.429,1.372V31.79l6.393-1.006v86.997h-4.456l-1.936-12.146l-3.522,4.208
|
18
|
+
C383.265,116.045,377.402,119.061,370.533,119.061z M374.501,65.554c-9.191,0-19.013,6.676-19.013,25.413
|
19
|
+
c0,13.96,6.559,22.98,16.708,22.98c7.18,0,13.308-3.736,19.286-11.758l0.495-0.665V69.983l-1.358-0.697
|
20
|
+
C385.253,66.53,381.035,65.554,374.501,65.554z"/>
|
21
|
+
</g>
|
22
|
+
<g>
|
23
|
+
<path fill="#2E3338" d="M419.624,117.78V61.721h6.393v56.059H419.624z M422.884,44.433c-2.645,0-4.796-2.094-4.796-4.668
|
24
|
+
c0-2.6,2.196-4.796,4.796-4.796c2.574,0,4.668,2.152,4.668,4.796C427.552,42.338,425.458,44.433,422.884,44.433z"/>
|
25
|
+
</g>
|
26
|
+
<g>
|
27
|
+
<path fill="#2E3338" d="M463.332,119.061c-7.015,0-14.662-2.282-19.529-4.647l0.809-5.23c4.905,2.794,11.627,5.405,19.616,5.405
|
28
|
+
c9.34,0,14.917-3.949,14.917-10.564c0-8.187-6.482-10.382-16.372-12.797c-13.937-3.485-18.19-7.314-18.19-16.388
|
29
|
+
c0-8.611,7.638-14.397,19.005-14.397c6.173,0,11.985,1.055,17.305,3.139l-0.902,5.412c-5.417-2.532-11.33-3.95-16.659-3.95
|
30
|
+
c-12.06,0-12.997,7.302-12.997,9.54c0,6.302,5.57,8.979,14.559,11.256c15.329,3.897,20.003,7.967,20.003,17.418
|
31
|
+
C484.897,113.3,477.037,119.061,463.332,119.061z"/>
|
32
|
+
</g>
|
33
|
+
<g>
|
34
|
+
<path fill="#2E3338" d="M523.746,119.061c-15.986,0-25.917-11.206-25.917-29.246c0-17.843,10.273-29.373,26.173-29.373
|
35
|
+
c6.897,0,12.696,1.453,17.263,4.322l-0.821,5.493c-5.086-3.282-10.441-4.83-16.57-4.83c-12.043,0-19.525,9.296-19.525,24.262
|
36
|
+
c0,15.271,7.777,24.389,20.805,24.389c6.137,0,11.114-1.451,15.996-4.757l0.746,4.59
|
37
|
+
C536.669,117.509,531.15,119.061,523.746,119.061z"/>
|
38
|
+
</g>
|
39
|
+
<g>
|
40
|
+
<path fill="#2E3338" d="M580.834,119.061c-15.511,0-25.533-11.479-25.533-29.246c0-17.843,10.022-29.373,25.533-29.373
|
41
|
+
c15.744,0,25.917,11.53,25.917,29.373C606.751,107.581,596.578,119.061,580.834,119.061z M580.834,65.042
|
42
|
+
c-11.729,0-19.014,9.492-19.014,24.772c0,15.049,7.463,24.773,19.014,24.773c11.964,0,19.396-9.492,19.396-24.773
|
43
|
+
C600.23,74.766,592.617,65.042,580.834,65.042z"/>
|
44
|
+
</g>
|
45
|
+
<g>
|
46
|
+
<path d="M623.652,117.78V61.721h4.444l2.615,16.91l3.563-5.661c3.16-5.019,8.634-11.016,17.176-12.309l0.981,5.953
|
47
|
+
c-9.186,1.447-17.664,7.67-22.117,16.437l-0.271,0.533v34.196H623.652z"/>
|
48
|
+
</g>
|
49
|
+
<g>
|
50
|
+
<path d="M688.224,118.549c-8.27,0-14.267-1.167-21.31-3.208V31.79l6.393-1.006V72.56l4.295-4.43
|
51
|
+
c5.017-5.173,10.417-7.688,16.51-7.688c13.302,0,21.565,10.569,21.565,27.582C715.677,107.423,705.671,118.549,688.224,118.549z
|
52
|
+
M692.447,65.554c-6.539,0-12.794,3.675-18.593,10.923l-0.548,0.685v33.856l1.64,0.601c3.981,1.461,7.108,2.202,13.148,2.202
|
53
|
+
c9.608,0,21.062-4.387,21.062-25.285C709.156,74.575,702.598,65.554,692.447,65.554z"/>
|
54
|
+
</g>
|
55
|
+
</g>
|
56
|
+
</g>
|
57
|
+
</g>
|
58
|
+
<g>
|
59
|
+
<defs>
|
60
|
+
<rect id="SVGID_3_" x="610.334" y="8" width="268" height="246"/>
|
61
|
+
</defs>
|
62
|
+
<clipPath id="SVGID_4_">
|
63
|
+
<use xlink:href="#SVGID_3_" overflow="visible"/>
|
64
|
+
</clipPath>
|
65
|
+
<g clip-path="url(#SVGID_4_)">
|
66
|
+
<g>
|
67
|
+
<path fill="#2E3338" d="M391.782,120.28l-1.408-8.833c-4.608,5.505-10.88,10.113-19.841,10.113
|
68
|
+
c-13.185,0-24.065-9.601-24.065-30.082c0-22.272,12.8-33.025,27.649-33.025c6.017,0,11.521,1.152,15.361,2.688v-31.49
|
69
|
+
l11.393-1.792v92.42H391.782z M389.478,71.51c-4.736-2.432-8.448-3.456-14.977-3.456c-9.601,0-16.513,7.809-16.513,22.913
|
70
|
+
c0,13.441,6.016,20.48,14.208,20.48c7.041,0,12.417-4.224,17.281-10.752V71.51z"/>
|
71
|
+
<path fill="#2E3338" d="M422.884,46.933c-3.968,0-7.296-3.2-7.296-7.168s3.328-7.296,7.296-7.296s7.168,3.328,7.168,7.296
|
72
|
+
S426.852,46.933,422.884,46.933z M417.124,120.28V59.221h11.393v61.059H417.124z"/>
|
73
|
+
<path fill="#2E3338" d="M463.332,121.561c-8.064,0-17.025-2.816-22.273-5.76l1.664-10.754c5.76,3.969,13.185,7.041,21.505,7.041
|
74
|
+
c7.808,0,12.417-2.944,12.417-8.064c0-5.633-3.456-7.68-14.465-10.368c-14.336-3.585-20.097-7.937-20.097-18.817
|
75
|
+
c0-9.729,8.192-16.897,21.505-16.897c7.552,0,14.336,1.536,20.097,4.096l-1.792,10.752c-5.376-3.072-12.161-5.248-18.561-5.248
|
76
|
+
c-6.913,0-10.497,2.688-10.497,7.04c0,4.096,3.072,6.4,12.672,8.832c15.105,3.841,21.889,8.193,21.889,19.842
|
77
|
+
C487.397,114.393,479.077,121.561,463.332,121.561z"/>
|
78
|
+
<path fill="#2E3338" d="M523.746,121.561c-16.385,0-28.417-11.393-28.417-31.746c0-20.865,12.8-31.873,28.673-31.873
|
79
|
+
c8.96,0,15.36,2.304,19.968,5.632l-1.664,11.136c-5.632-4.608-11.392-6.784-18.432-6.784c-9.985,0-17.025,7.552-17.025,21.762
|
80
|
+
c0,14.848,7.552,21.889,18.305,21.889c6.145,0,11.521-1.408,17.793-6.785l1.664,10.241
|
81
|
+
C538.339,119.768,531.938,121.561,523.746,121.561z"/>
|
82
|
+
<path fill="#2E3338" d="M580.834,121.561c-16.258,0-28.033-11.648-28.033-31.746c0-20.097,11.775-31.873,28.033-31.873
|
83
|
+
c16.385,0,28.417,11.776,28.417,31.873C609.251,109.912,597.219,121.561,580.834,121.561z M580.834,67.542
|
84
|
+
c-11.009,0-16.514,9.472-16.514,22.272c0,12.545,5.761,22.273,16.514,22.273c11.264,0,16.896-9.473,16.896-22.273
|
85
|
+
C597.73,77.271,591.842,67.542,580.834,67.542z"/>
|
86
|
+
<path fill="#CC342D" d="M632.545,84.183v36.098h-11.393V59.221h9.088l1.92,12.417c4.353-6.913,11.393-13.185,21.377-13.697
|
87
|
+
l1.793,10.88C645.217,69.334,636.641,76.118,632.545,84.183z"/>
|
88
|
+
<path fill="#CC342D" d="M688.224,121.049c-9.217,0-15.745-1.408-23.81-3.841V29.652l11.393-1.792v38.53
|
89
|
+
c4.096-4.224,9.984-8.448,18.305-8.448c13.185,0,24.065,9.729,24.065,30.082C718.177,110.296,705.888,121.049,688.224,121.049z
|
90
|
+
M692.447,68.054c-6.4,0-12.032,4.224-16.641,9.984v31.233c3.84,1.408,6.656,2.049,12.288,2.049
|
91
|
+
c11.905,0,18.562-7.041,18.562-22.785C706.656,75.222,700.64,68.054,692.447,68.054z"/>
|
92
|
+
</g>
|
93
|
+
</g>
|
94
|
+
</g>
|
95
|
+
<g>
|
96
|
+
</g>
|
97
|
+
<g>
|
98
|
+
</g>
|
99
|
+
<g>
|
100
|
+
</g>
|
101
|
+
<g>
|
102
|
+
</g>
|
103
|
+
<g>
|
104
|
+
</g>
|
105
|
+
<g>
|
106
|
+
</g>
|
107
|
+
<g>
|
108
|
+
</g>
|
109
|
+
<g>
|
110
|
+
</g>
|
111
|
+
<g>
|
112
|
+
</g>
|
113
|
+
<g>
|
114
|
+
</g>
|
115
|
+
<g>
|
116
|
+
</g>
|
117
|
+
<g>
|
118
|
+
</g>
|
119
|
+
<g>
|
120
|
+
</g>
|
121
|
+
<g>
|
122
|
+
</g>
|
123
|
+
<g>
|
124
|
+
</g>
|
125
|
+
</svg>
|
data/docs/application_command.md
CHANGED
@@ -11,9 +11,9 @@ From: [Discord API docs](https://discord.com/developers/docs/interactions/applic
|
|
11
11
|
## How do I register an application command?
|
12
12
|
|
13
13
|
Write to a your script:
|
14
|
-
- {Discorb::
|
15
|
-
- {Discorb::
|
16
|
-
- {Discorb::
|
14
|
+
- {Discorb::ApplicationCommand::Handler.slash}, {Discorb::ApplicationCommand::Handler.slash_group} for slash commands,
|
15
|
+
- {Discorb::ApplicationCommand::Handler.user_command} for user menu commands,
|
16
|
+
- {Discorb::ApplicationCommand::Handler.message_command} for message menu commands.
|
17
17
|
|
18
18
|
And then run `discorb setup` to register your application commands.
|
19
19
|
{file:docs/cli/setup.md Learn more about `discorb setup`}.
|
@@ -39,7 +39,7 @@ end
|
|
39
39
|
client.run(ENV["DISCORD_BOT_TOKEN"])
|
40
40
|
```
|
41
41
|
|
42
|
-
{Discorb::
|
42
|
+
{Discorb::ApplicationCommand::Handler#slash} takes 5 arguments:
|
43
43
|
|
44
44
|
| Argument | Description |
|
45
45
|
|---------|-------------|
|
@@ -107,7 +107,7 @@ In `type`, You must use one of the following:
|
|
107
107
|
|
108
108
|
### Group Slash Commands
|
109
109
|
|
110
|
-
To register a group of slash commands, use {Discorb::
|
110
|
+
To register a group of slash commands, use {Discorb::ApplicationCommand::Handler#slash_group}.
|
111
111
|
|
112
112
|
```ruby
|
113
113
|
group = client.slash_group("settings", "Set settings of bot.")
|
@@ -136,8 +136,8 @@ Since v0.5.1, You can use block for register commands.
|
|
136
136
|
|
137
137
|
```ruby
|
138
138
|
|
139
|
-
client.slash_group("settings", "Set settings of bot.") do
|
140
|
-
slash("message_expand", "Whether bot should expand message.", {
|
139
|
+
client.slash_group("settings", "Set settings of bot.") do |group|
|
140
|
+
group.slash("message_expand", "Whether bot should expand message.", {
|
141
141
|
"enabled" => {
|
142
142
|
type: :boolean,
|
143
143
|
description: "Whether bot should expand message."
|
@@ -145,7 +145,7 @@ client.slash_group("settings", "Set settings of bot.") do
|
|
145
145
|
}) do |interaction|
|
146
146
|
# ...
|
147
147
|
end
|
148
|
-
slash("bump_alert", "Whether bot should notify DISBOARD bump.", {
|
148
|
+
group.slash("bump_alert", "Whether bot should notify DISBOARD bump.", {
|
149
149
|
"enabled" => {
|
150
150
|
type: :boolean,
|
151
151
|
description: "Whether bot should notify DISBOARD bump."
|
@@ -156,7 +156,7 @@ client.slash_group("settings", "Set settings of bot.") do
|
|
156
156
|
end
|
157
157
|
```
|
158
158
|
|
159
|
-
You can make subcommand group by using {Discorb::
|
159
|
+
You can make subcommand group by using {Discorb::ApplicationCommand::Command::GroupCommand#group}.
|
160
160
|
|
161
161
|
```ruby
|
162
162
|
group = client.slash_group("permission", "Set/Get command permissions.")
|
@@ -164,14 +164,14 @@ group = client.slash_group("permission", "Set/Get command permissions.")
|
|
164
164
|
group_user = group.group("user", "Set/Get user's command permissions.")
|
165
165
|
|
166
166
|
group_user.slash("set", "Set user's command permissions.", {
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
167
|
+
"user_id" => {
|
168
|
+
type: :user,
|
169
|
+
description: "The user."
|
170
|
+
},
|
171
|
+
"value" => {
|
172
|
+
type: :boolean,
|
173
|
+
description: "Whether the user can use the command."
|
174
|
+
}
|
175
175
|
}) do |interaction, user|
|
176
176
|
# ...
|
177
177
|
end
|
@@ -244,7 +244,7 @@ client.user_command("hello") do |interaction, user|
|
|
244
244
|
interaction.post("Hello, #{user.name}!")
|
245
245
|
end
|
246
246
|
```
|
247
|
-
{Discorb::
|
247
|
+
{Discorb::ApplicationCommand::Handler.user_command} takes 3 arguments:
|
248
248
|
|
249
249
|
| Parameter | Description |
|
250
250
|
| --- | --- |
|
@@ -268,7 +268,7 @@ client.message_command("Bookmark") do |interaction, message|
|
|
268
268
|
end
|
269
269
|
```
|
270
270
|
|
271
|
-
{Discorb::
|
271
|
+
{Discorb::ApplicationCommand::Handler.message_command} takes 3 arguments:
|
272
272
|
|
273
273
|
| Parameter | Description |
|
274
274
|
| --- | --- |
|
data/docs/cli/run.md
CHANGED
@@ -17,6 +17,8 @@ discorb run [options] [script]
|
|
17
17
|
|
18
18
|
The script to run. Defaults to `main.rb`.
|
19
19
|
|
20
|
+
### Options
|
21
|
+
|
20
22
|
#### `-d`, `--deamon`
|
21
23
|
|
22
24
|
Run the client in deamon mode.
|
@@ -43,4 +45,12 @@ You can use `stdout` to write to the standard output, and `stderr` to write to t
|
|
43
45
|
Whether to colorize the log output.
|
44
46
|
If not specified, the default will be:
|
45
47
|
- `true` if the file to write logs to is `stdout` or `stderr`.
|
46
|
-
- `false` otherwise.
|
48
|
+
- `false` otherwise.
|
49
|
+
|
50
|
+
#### `-s`, `--setup`
|
51
|
+
|
52
|
+
Whether to setup application commands.
|
53
|
+
|
54
|
+
#### `-t`, `--token`
|
55
|
+
|
56
|
+
The name of the environment variable to use for token, or just `-t` or `--token` for intractive prompt.
|
data/docs/cli/setup.md
CHANGED
@@ -7,7 +7,7 @@ This command will setup application commands.
|
|
7
7
|
## Usage
|
8
8
|
|
9
9
|
```
|
10
|
-
discorb setup [script]
|
10
|
+
discorb setup [options] [script]
|
11
11
|
```
|
12
12
|
|
13
13
|
### Arguments
|
@@ -15,3 +15,9 @@ discorb setup [script]
|
|
15
15
|
#### `script`
|
16
16
|
|
17
17
|
The script to setup. Defaults to `main.rb`.
|
18
|
+
|
19
|
+
### Options
|
20
|
+
|
21
|
+
#### `-g`, `--guild`
|
22
|
+
|
23
|
+
Guild IDs to use as default. Can be specified multiple IDs by using `,` as delimiter.
|
data/docs/events.md
CHANGED
@@ -30,6 +30,35 @@ end
|
|
30
30
|
|
31
31
|
If you want to seperate event handlers from the client, consider using {Discorb::Extension}. {file:docs/extension.md Learn more about extensions}.
|
32
32
|
|
33
|
+
Since v0.6.1, you can set `:override` to `true` to register overridable event handlers.
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
client.on :message, override: true do |event|
|
37
|
+
puts "This event handler is overrideable!"
|
38
|
+
end
|
39
|
+
|
40
|
+
client.on :message do |event|
|
41
|
+
puts "Override!"
|
42
|
+
end
|
43
|
+
```
|
44
|
+
|
45
|
+
This example will print `Override!`, but not `This event handler is overrideable!`.
|
46
|
+
This is useful for registering event handlers for default behaviour on errors.
|
47
|
+
|
48
|
+
```ruby
|
49
|
+
# In the library...
|
50
|
+
|
51
|
+
client.on :command_error, override: true do |event, error|
|
52
|
+
$stderr.puts "Command error:\n#{error.full_message}"
|
53
|
+
end
|
54
|
+
|
55
|
+
# In your code...
|
56
|
+
|
57
|
+
client.on :command_error do |event, error|
|
58
|
+
event.message.reply "An error occurred while executing that command!\n#{error.full_message}"
|
59
|
+
end
|
60
|
+
```
|
61
|
+
|
33
62
|
## Event reference
|
34
63
|
|
35
64
|
### Client events
|
@@ -50,6 +79,11 @@ Fires when the client is ready.
|
|
50
79
|
|
51
80
|
Fires when the client is resumed connection.
|
52
81
|
|
82
|
+
#### `error(event_name, args, error)`
|
83
|
+
|
84
|
+
Fires when an error occurs during an event.
|
85
|
+
Defaults to printing the error to stderr, override to handle it yourself.
|
86
|
+
|
53
87
|
### Guild events
|
54
88
|
|
55
89
|
#### `guild_join(guild)`
|
data/docs/extension.md
CHANGED
@@ -36,7 +36,7 @@ end
|
|
36
36
|
|
37
37
|
## Register Command
|
38
38
|
|
39
|
-
Since v0.5.2, {Discorb::Extension} includes {Discorb::
|
39
|
+
Since v0.5.2, {Discorb::Extension} includes {Discorb::ApplicationCommand::Handler} module, so you can register command with {Discorb::ApplicationCommand::Handler#slash} and {Discorb::ApplicationCommand::Handler#slash_group}.
|
40
40
|
|
41
41
|
```ruby
|
42
42
|
module MyExtension
|
@@ -46,13 +46,13 @@ module MyExtension
|
|
46
46
|
# ...
|
47
47
|
end
|
48
48
|
|
49
|
-
slash_group("group", "Group") do
|
50
|
-
slash("subcommand", "Subcommand") do |interaction|
|
49
|
+
slash_group("group", "Group") do |group|
|
50
|
+
group.slash("subcommand", "Subcommand") do |interaction|
|
51
51
|
# ...
|
52
52
|
end
|
53
53
|
|
54
|
-
group("subgroup", "Subcommand group") do
|
55
|
-
slash("group_subcommand", "Command in Subcommand group") do |interaction|
|
54
|
+
group.group("subgroup", "Subcommand group") do |group|
|
55
|
+
group.slash("group_subcommand", "Command in Subcommand group") do |interaction|
|
56
56
|
# ...
|
57
57
|
end
|
58
58
|
end
|
@@ -86,7 +86,7 @@ module MyExtension
|
|
86
86
|
extend Discorb::Extension
|
87
87
|
|
88
88
|
event :ready do |message|
|
89
|
-
puts "Logged in as #{client.user}"
|
89
|
+
puts "Logged in as #{@client.user}"
|
90
90
|
end
|
91
91
|
end
|
92
92
|
```
|