discorb 0.9.1 → 0.9.6

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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build_main.yml +2 -0
  3. data/Changelog.md +30 -1
  4. data/README.md +6 -6
  5. data/Rakefile +7 -1
  6. data/assets/banner.svg +101 -101
  7. data/docs/application_command.md +8 -7
  8. data/docs/cli/run.md +3 -3
  9. data/docs/faq.md +1 -1
  10. data/docs/license.md +1 -1
  11. data/lib/discorb/app_command.rb +12 -10
  12. data/lib/discorb/application.rb +3 -3
  13. data/lib/discorb/asset.rb +2 -2
  14. data/lib/discorb/audit_logs.rb +7 -7
  15. data/lib/discorb/channel.rb +10 -10
  16. data/lib/discorb/common.rb +3 -3
  17. data/lib/discorb/components.rb +30 -2
  18. data/lib/discorb/embed.rb +2 -2
  19. data/lib/discorb/emoji.rb +3 -3
  20. data/lib/discorb/error.rb +2 -2
  21. data/lib/discorb/exe/init.rb +8 -8
  22. data/lib/discorb/exe/run.rb +1 -1
  23. data/lib/discorb/extend.rb +21 -0
  24. data/lib/discorb/extension.rb +1 -1
  25. data/lib/discorb/file.rb +19 -1
  26. data/lib/discorb/gateway.rb +9 -11
  27. data/lib/discorb/gateway_requests.rb +1 -1
  28. data/lib/discorb/guild.rb +7 -7
  29. data/lib/discorb/guild_template.rb +4 -4
  30. data/lib/discorb/http.rb +1 -1
  31. data/lib/discorb/integration.rb +3 -3
  32. data/lib/discorb/interaction.rb +108 -37
  33. data/lib/discorb/invite.rb +2 -2
  34. data/lib/discorb/log.rb +1 -1
  35. data/lib/discorb/member.rb +1 -1
  36. data/lib/discorb/message.rb +34 -10
  37. data/lib/discorb/modules.rb +15 -49
  38. data/lib/discorb/permission.rb +2 -2
  39. data/lib/discorb/presence.rb +8 -8
  40. data/lib/discorb/rate_limit.rb +1 -1
  41. data/lib/discorb/reaction.rb +1 -1
  42. data/lib/discorb/role.rb +2 -2
  43. data/lib/discorb/sticker.rb +3 -3
  44. data/lib/discorb/user.rb +2 -2
  45. data/lib/discorb/utils/colored_puts.rb +3 -3
  46. data/lib/discorb/utils.rb +1 -1
  47. data/lib/discorb/voice_state.rb +3 -3
  48. data/lib/discorb/webhook.rb +7 -8
  49. data/lib/discorb.rb +1 -1
  50. data/sig/discorb.rbs +2 -2
  51. data/template-replace/files/css/common.css +25 -0
  52. data/template-replace/files/favicon.png +0 -0
  53. data/template-replace/scripts/arrow.rb +7 -0
  54. data/template-replace/scripts/favicon.rb +9 -0
  55. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b1edef0884cfed1af49f9e0fac34b69330a1b00a23820287ea621b429773c09
4
- data.tar.gz: 87e7244d44d9ad963a0579db577b066047643ca16dbc6e2fcb7860bcba8fad28
3
+ metadata.gz: 82c013d06e2f831b3d0bac635ca13eeea99fe5b248a04e4879bb5f0a17374b90
4
+ data.tar.gz: bf9d0ea7d1f84696d03e705edbcf8e78ee80b87ab393a06b6d7c5abee6d7fcb5
5
5
  SHA512:
6
- metadata.gz: 8f54c1eb6a5167e00b2670caf80e04bfa0d5f664e6efff8e731bb6a3c01048961a81c7cfa08a2f2dce5a380defcccd2ccedef0009e8f4d70d7778c811babca7a
7
- data.tar.gz: 64d3cce130262a18bb59fdb76715c99e8e7a8574af84b8ebf00e39bb3582cf0e0f9ef4a3c65e1c0af457bbed82568af9f259db0351718ed6e12f83cb5bb95bab
6
+ metadata.gz: '08088483e41f563e1458cef68132c6f0d98c9ff2d99f319ff80dbd4d242b0248567b0e4114d48bd07fcf942179b76ac480217b2bfb82da7a9d957ace5b1ef83c'
7
+ data.tar.gz: 95995caa4ca9ac2d8a6388660afcf10e0928b59347fb4fc5656324fd0917bf80506c6ceb42545b76196ab988e3d3ad62d9449a15cfa57acad85c02e42cbc9294
@@ -12,6 +12,8 @@ jobs:
12
12
 
13
13
  steps:
14
14
  - uses: actions/checkout@v2
15
+ with:
16
+ fetch-depth: 0
15
17
  - name: Set up Ruby
16
18
  uses: ruby/setup-ruby@v1
17
19
  with:
data/Changelog.md CHANGED
@@ -234,4 +234,33 @@ end
234
234
 
235
235
  ## 0.9.1
236
236
 
237
- - Fix: Fix member fetching
237
+ - Fix: Fix member fetching
238
+
239
+ ## 0.9.2 (yanked)
240
+
241
+ - Add: Make `Async::Task#inspect` shorter
242
+ - Add: `SourceResponse#post` will return message now
243
+ - Fix: Fix member caching
244
+
245
+ ## 0.9.3
246
+
247
+ - Fix: Fix interaction responding
248
+
249
+ ## 0.9.4
250
+
251
+ - Change: `Messageable#typing` with block is now synchronous
252
+ - Fix: Fix some issues in document
253
+ - Add: Add some attributes to `Message`
254
+ - Fix: Fix guild parameter in message of message command
255
+
256
+ ## 0.9.5
257
+
258
+ - Fix: Fix editing message
259
+ - Add: Add `required` in slash command argument
260
+ - Add: Add `default` in slash command argument
261
+
262
+ ## 0.9.6
263
+
264
+ - Add: Add `Messageable#send_message` as alias of `Messageable#post`
265
+ - Fix: Fix interaction responding with updating message
266
+ - Fix: Fix `MessageComponentInteraction#message`
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
- ![discorb](./assets/banner.svg)
1
+ <div align="center"><img src="./assets/banner.svg" alt="discorb"></div>
2
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&label=Downloads" alt="Gem"></a>
5
- <a href="https://rubygems.org/gems/discorb"><img src="https://img.shields.io/gem/v/discorb?logo=rubygems&logoColor=fff&label=Version" 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>
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?style=flat-square&labelColor=2f3136" alt="Document"></a>
4
+ <a href="https://rubygems.org/gems/discorb"><img src="https://img.shields.io/gem/dt/discorb?logo=rubygems&logoColor=fff&label=Downloads&style=flat-square&labelColor=2f3136" alt="Gem"></a>
5
+ <a href="https://rubygems.org/gems/discorb"><img src="https://img.shields.io/gem/v/discorb?logo=rubygems&logoColor=fff&label=Version&style=flat-square&labelColor=2f3136" 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&style=flat-square&labelColor=2f3136" 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&style=flat-square&labelColor=2f3136" alt="GitHub"></a></div>
8
8
 
9
9
  ----
10
10
 
data/Rakefile CHANGED
@@ -4,7 +4,7 @@ require "bundler/gem_tasks"
4
4
  require_relative "lib/discorb/utils/colored_puts"
5
5
  task default: %i[]
6
6
 
7
- # @!visibility private
7
+ # @private
8
8
  def get_version
9
9
  require_relative "lib/discorb/common"
10
10
  tag = `git tag --points-at HEAD`.force_encoding("utf-8").strip
@@ -90,6 +90,8 @@ namespace :document do
90
90
  require_relative "template-replace/scripts/version.rb"
91
91
  require_relative "template-replace/scripts/index.rb"
92
92
  require_relative "template-replace/scripts/yard_replace.rb"
93
+ require_relative "template-replace/scripts/favicon.rb"
94
+ require_relative "template-replace/scripts/arrow.rb"
93
95
  iputs "Resetting changes"
94
96
  Dir.glob("doc/#{version}/**/*.html") do |f|
95
97
  next if (m = f.match(/[0-9]+\.[0-9]+\.[0-9]+(-[a-z]+)?/)) && m[0] != version
@@ -109,6 +111,10 @@ namespace :document do
109
111
  replace_index("doc/#{version}", version)
110
112
  iputs "Replacing YARD credits"
111
113
  yard_replace("doc/#{version}", version)
114
+ iputs "Adding favicon"
115
+ add_favicon("doc/#{version}")
116
+ iputs "Replacing arrow"
117
+ replace_arrow("doc/#{version}")
112
118
  iputs "Successfully replaced htmls"
113
119
  end
114
120
 
data/assets/banner.svg CHANGED
@@ -1,101 +1,101 @@
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
- <rect x="0" fill="#FFFFFF" width="1080" height="150"/>
7
- <g>
8
- <g>
9
- <defs>
10
- <rect id="SVGID_1_" x="283.667" y="-12.667" width="343.333" height="201.333"/>
11
- </defs>
12
- <clipPath id="SVGID_2_">
13
- <use xlink:href="#SVGID_1_" overflow="visible"/>
14
- </clipPath>
15
- <g clip-path="url(#SVGID_2_)">
16
- <g>
17
- <g>
18
- <path fill="#2E3338" d="M370.532,119.061c-13.503,0-21.564-10.312-21.564-27.582c0-18.542,9.872-30.524,25.148-30.524
19
- c5.187,0,10.446,0.915,14.433,2.509l3.429,1.372V31.79l6.393-1.006v86.997h-4.456l-1.936-12.146l-3.522,4.209
20
- C383.265,116.045,377.402,119.061,370.532,119.061z M374.501,65.554c-9.191,0-19.014,6.676-19.014,25.413
21
- c0,13.961,6.56,22.98,16.708,22.98c7.181,0,13.309-3.736,19.286-11.758l0.495-0.666V69.983l-1.358-0.697
22
- C385.253,66.53,381.034,65.554,374.501,65.554z"/>
23
- </g>
24
- <g>
25
- <path fill="#2E3338" d="M419.623,117.779V61.721h6.394v56.058H419.623z M422.884,44.433c-2.646,0-4.796-2.094-4.796-4.668
26
- c0-2.6,2.195-4.796,4.796-4.796c2.573,0,4.668,2.152,4.668,4.796C427.552,42.338,425.457,44.433,422.884,44.433z"/>
27
- </g>
28
- <g>
29
- <path fill="#2E3338" d="M463.332,119.061c-7.016,0-14.662-2.281-19.529-4.646l0.809-5.23
30
- c4.905,2.795,11.627,5.405,19.616,5.405c9.34,0,14.917-3.948,14.917-10.563c0-8.188-6.482-10.383-16.372-12.797
31
- c-13.937-3.485-18.19-7.314-18.19-16.389c0-8.611,7.639-14.397,19.006-14.397c6.173,0,11.984,1.055,17.305,3.139l-0.902,5.412
32
- c-5.417-2.532-11.33-3.95-16.659-3.95c-12.06,0-12.997,7.302-12.997,9.54c0,6.303,5.57,8.979,14.56,11.256
33
- c15.329,3.896,20.003,7.967,20.003,17.418C484.897,113.3,477.036,119.061,463.332,119.061z"/>
34
- </g>
35
- <g>
36
- <path fill="#2E3338" d="M523.745,119.061c-15.985,0-25.917-11.205-25.917-29.246c0-17.842,10.273-29.373,26.174-29.373
37
- c6.896,0,12.695,1.453,17.263,4.322l-0.821,5.493c-5.086-3.282-10.44-4.83-16.57-4.83c-12.043,0-19.524,9.296-19.524,24.262
38
- c0,15.271,7.776,24.389,20.805,24.389c6.138,0,11.114-1.451,15.996-4.758l0.746,4.591
39
- C536.669,117.51,531.15,119.061,523.745,119.061z"/>
40
- </g>
41
- <g>
42
- <path fill="#2E3338" d="M580.834,119.061c-15.512,0-25.533-11.479-25.533-29.246c0-17.842,10.021-29.373,25.533-29.373
43
- c15.743,0,25.916,11.53,25.916,29.373C606.75,107.581,596.577,119.061,580.834,119.061z M580.834,65.042
44
- c-11.729,0-19.015,9.492-19.015,24.772c0,15.049,7.463,24.772,19.015,24.772c11.964,0,19.396-9.491,19.396-24.772
45
- C600.23,74.766,592.616,65.042,580.834,65.042z"/>
46
- </g>
47
- <g>
48
- <path d="M623.652,117.779V61.721h4.444l2.615,16.91l3.563-5.661c3.16-5.019,8.634-11.016,17.176-12.309l0.981,5.953
49
- c-9.187,1.447-17.664,7.67-22.117,16.437l-0.271,0.533v34.195H623.652L623.652,117.779z"/>
50
- </g>
51
- <g>
52
- <path d="M688.224,118.549c-8.271,0-14.268-1.167-21.311-3.208V31.79l6.394-1.006V72.56l4.295-4.43
53
- 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.549
54
- z M692.447,65.554c-6.539,0-12.794,3.675-18.593,10.922l-0.548,0.686v33.855l1.64,0.602c3.981,1.461,7.108,2.201,13.148,2.201
55
- c9.607,0,21.062-4.387,21.062-25.284C709.156,74.575,702.598,65.554,692.447,65.554z"/>
56
- </g>
57
- </g>
58
- </g>
59
- </g>
60
- </g>
61
- <g>
62
- <g>
63
- <defs>
64
- <rect id="SVGID_3_" x="610.334" y="8" width="268" height="246"/>
65
- </defs>
66
- <clipPath id="SVGID_4_">
67
- <use xlink:href="#SVGID_3_" overflow="visible"/>
68
- </clipPath>
69
- <g clip-path="url(#SVGID_4_)">
70
- <g>
71
- <path fill="#2E3338" d="M391.781,120.279l-1.408-8.832c-4.607,5.505-10.88,10.113-19.841,10.113
72
- c-13.185,0-24.064-9.602-24.064-30.082c0-22.272,12.8-33.025,27.648-33.025c6.018,0,11.521,1.152,15.361,2.688v-31.49
73
- l11.393-1.792v92.42H391.781L391.781,120.279z M389.478,71.51c-4.736-2.432-8.448-3.456-14.977-3.456
74
- c-9.602,0-16.514,7.809-16.514,22.913c0,13.441,6.017,20.48,14.208,20.48c7.041,0,12.417-4.225,17.281-10.752L389.478,71.51
75
- L389.478,71.51z"/>
76
- <path fill="#2E3338" d="M422.884,46.933c-3.968,0-7.296-3.2-7.296-7.168c0-3.968,3.328-7.296,7.296-7.296
77
- s7.168,3.328,7.168,7.296C430.052,43.733,426.852,46.933,422.884,46.933z M417.123,120.279V59.221h11.394v61.058H417.123z"/>
78
- <path fill="#2E3338" d="M463.332,121.561c-8.064,0-17.025-2.815-22.273-5.76l1.664-10.754c5.76,3.969,13.185,7.041,21.505,7.041
79
- c7.808,0,12.417-2.943,12.417-8.064c0-5.633-3.456-7.68-14.465-10.367c-14.336-3.586-20.098-7.938-20.098-18.817
80
- c0-9.729,8.192-16.897,21.506-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
81
- c-6.913,0-10.498,2.688-10.498,7.04c0,4.096,3.072,6.4,12.673,8.832c15.104,3.841,21.889,8.193,21.889,19.842
82
- C487.397,114.393,479.076,121.561,463.332,121.561z"/>
83
- <path fill="#2E3338" d="M523.745,121.561c-16.385,0-28.417-11.393-28.417-31.746c0-20.864,12.801-31.873,28.674-31.873
84
- c8.96,0,15.359,2.304,19.968,5.632l-1.664,11.136c-5.632-4.608-11.393-6.784-18.433-6.784c-9.984,0-17.024,7.552-17.024,21.761
85
- c0,14.849,7.552,21.89,18.305,21.89c6.146,0,11.521-1.408,17.793-6.785l1.664,10.241
86
- C538.339,119.768,531.938,121.561,523.745,121.561z"/>
87
- <path fill="#2E3338" d="M580.834,121.561c-16.259,0-28.033-11.647-28.033-31.746c0-20.096,11.774-31.873,28.033-31.873
88
- c16.385,0,28.416,11.776,28.416,31.873C609.25,109.912,597.219,121.561,580.834,121.561z M580.834,67.542
89
- c-11.01,0-16.515,9.472-16.515,22.272c0,12.545,5.761,22.272,16.515,22.272c11.264,0,16.896-9.474,16.896-22.272
90
- C597.73,77.271,591.842,67.542,580.834,67.542z"/>
91
- <path fill="#CC342D" d="M632.545,84.184v36.098h-11.394v-61.06h9.088l1.92,12.417c4.354-6.913,11.394-13.185,21.377-13.697
92
- l1.793,10.88C645.217,69.334,636.641,76.118,632.545,84.184z"/>
93
- <path fill="#CC342D" d="M688.224,121.049c-9.217,0-15.745-1.408-23.811-3.841V29.652l11.394-1.792v38.53
94
- c4.096-4.224,9.984-8.448,18.305-8.448c13.186,0,24.065,9.729,24.065,30.082C718.177,110.296,705.888,121.049,688.224,121.049z
95
- M692.447,68.054c-6.399,0-12.032,4.224-16.641,9.984v31.233c3.84,1.408,6.656,2.049,12.288,2.049
96
- c11.905,0,18.562-7.041,18.562-22.785C706.656,75.222,700.64,68.054,692.447,68.054z"/>
97
- </g>
98
- </g>
99
- </g>
100
- </g>
101
- </svg>
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
+ <rect x="0" fill="#FFFFFF" width="1080" height="150"/>
7
+ <g>
8
+ <g>
9
+ <defs>
10
+ <rect id="SVGID_1_" x="283.667" y="-12.667" width="343.333" height="201.333"/>
11
+ </defs>
12
+ <clipPath id="SVGID_2_">
13
+ <use xlink:href="#SVGID_1_" overflow="visible"/>
14
+ </clipPath>
15
+ <g clip-path="url(#SVGID_2_)">
16
+ <g>
17
+ <g>
18
+ <path fill="#2E3338" d="M370.532,119.061c-13.503,0-21.564-10.312-21.564-27.582c0-18.542,9.872-30.524,25.148-30.524
19
+ c5.187,0,10.446,0.915,14.433,2.509l3.429,1.372V31.79l6.393-1.006v86.997h-4.456l-1.936-12.146l-3.522,4.209
20
+ C383.265,116.045,377.402,119.061,370.532,119.061z M374.501,65.554c-9.191,0-19.014,6.676-19.014,25.413
21
+ c0,13.961,6.56,22.98,16.708,22.98c7.181,0,13.309-3.736,19.286-11.758l0.495-0.666V69.983l-1.358-0.697
22
+ C385.253,66.53,381.034,65.554,374.501,65.554z"/>
23
+ </g>
24
+ <g>
25
+ <path fill="#2E3338" d="M419.623,117.779V61.721h6.394v56.058H419.623z M422.884,44.433c-2.646,0-4.796-2.094-4.796-4.668
26
+ c0-2.6,2.195-4.796,4.796-4.796c2.573,0,4.668,2.152,4.668,4.796C427.552,42.338,425.457,44.433,422.884,44.433z"/>
27
+ </g>
28
+ <g>
29
+ <path fill="#2E3338" d="M463.332,119.061c-7.016,0-14.662-2.281-19.529-4.646l0.809-5.23
30
+ c4.905,2.795,11.627,5.405,19.616,5.405c9.34,0,14.917-3.948,14.917-10.563c0-8.188-6.482-10.383-16.372-12.797
31
+ c-13.937-3.485-18.19-7.314-18.19-16.389c0-8.611,7.639-14.397,19.006-14.397c6.173,0,11.984,1.055,17.305,3.139l-0.902,5.412
32
+ c-5.417-2.532-11.33-3.95-16.659-3.95c-12.06,0-12.997,7.302-12.997,9.54c0,6.303,5.57,8.979,14.56,11.256
33
+ c15.329,3.896,20.003,7.967,20.003,17.418C484.897,113.3,477.036,119.061,463.332,119.061z"/>
34
+ </g>
35
+ <g>
36
+ <path fill="#2E3338" d="M523.745,119.061c-15.985,0-25.917-11.205-25.917-29.246c0-17.842,10.273-29.373,26.174-29.373
37
+ c6.896,0,12.695,1.453,17.263,4.322l-0.821,5.493c-5.086-3.282-10.44-4.83-16.57-4.83c-12.043,0-19.524,9.296-19.524,24.262
38
+ c0,15.271,7.776,24.389,20.805,24.389c6.138,0,11.114-1.451,15.996-4.758l0.746,4.591
39
+ C536.669,117.51,531.15,119.061,523.745,119.061z"/>
40
+ </g>
41
+ <g>
42
+ <path fill="#2E3338" d="M580.834,119.061c-15.512,0-25.533-11.479-25.533-29.246c0-17.842,10.021-29.373,25.533-29.373
43
+ c15.743,0,25.916,11.53,25.916,29.373C606.75,107.581,596.577,119.061,580.834,119.061z M580.834,65.042
44
+ c-11.729,0-19.015,9.492-19.015,24.772c0,15.049,7.463,24.772,19.015,24.772c11.964,0,19.396-9.491,19.396-24.772
45
+ C600.23,74.766,592.616,65.042,580.834,65.042z"/>
46
+ </g>
47
+ <g>
48
+ <path d="M623.652,117.779V61.721h4.444l2.615,16.91l3.563-5.661c3.16-5.019,8.634-11.016,17.176-12.309l0.981,5.953
49
+ c-9.187,1.447-17.664,7.67-22.117,16.437l-0.271,0.533v34.195H623.652L623.652,117.779z"/>
50
+ </g>
51
+ <g>
52
+ <path d="M688.224,118.549c-8.271,0-14.268-1.167-21.311-3.208V31.79l6.394-1.006V72.56l4.295-4.43
53
+ 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.549
54
+ z M692.447,65.554c-6.539,0-12.794,3.675-18.593,10.922l-0.548,0.686v33.855l1.64,0.602c3.981,1.461,7.108,2.201,13.148,2.201
55
+ c9.607,0,21.062-4.387,21.062-25.284C709.156,74.575,702.598,65.554,692.447,65.554z"/>
56
+ </g>
57
+ </g>
58
+ </g>
59
+ </g>
60
+ </g>
61
+ <g>
62
+ <g>
63
+ <defs>
64
+ <rect id="SVGID_3_" x="610.334" y="8" width="268" height="246"/>
65
+ </defs>
66
+ <clipPath id="SVGID_4_">
67
+ <use xlink:href="#SVGID_3_" overflow="visible"/>
68
+ </clipPath>
69
+ <g clip-path="url(#SVGID_4_)">
70
+ <g>
71
+ <path fill="#2E3338" d="M391.781,120.279l-1.408-8.832c-4.607,5.505-10.88,10.113-19.841,10.113
72
+ c-13.185,0-24.064-9.602-24.064-30.082c0-22.272,12.8-33.025,27.648-33.025c6.018,0,11.521,1.152,15.361,2.688v-31.49
73
+ l11.393-1.792v92.42H391.781L391.781,120.279z M389.478,71.51c-4.736-2.432-8.448-3.456-14.977-3.456
74
+ c-9.602,0-16.514,7.809-16.514,22.913c0,13.441,6.017,20.48,14.208,20.48c7.041,0,12.417-4.225,17.281-10.752L389.478,71.51
75
+ L389.478,71.51z"/>
76
+ <path fill="#2E3338" d="M422.884,46.933c-3.968,0-7.296-3.2-7.296-7.168c0-3.968,3.328-7.296,7.296-7.296
77
+ s7.168,3.328,7.168,7.296C430.052,43.733,426.852,46.933,422.884,46.933z M417.123,120.279V59.221h11.394v61.058H417.123z"/>
78
+ <path fill="#2E3338" d="M463.332,121.561c-8.064,0-17.025-2.815-22.273-5.76l1.664-10.754c5.76,3.969,13.185,7.041,21.505,7.041
79
+ c7.808,0,12.417-2.943,12.417-8.064c0-5.633-3.456-7.68-14.465-10.367c-14.336-3.586-20.098-7.938-20.098-18.817
80
+ c0-9.729,8.192-16.897,21.506-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
81
+ c-6.913,0-10.498,2.688-10.498,7.04c0,4.096,3.072,6.4,12.673,8.832c15.104,3.841,21.889,8.193,21.889,19.842
82
+ C487.397,114.393,479.076,121.561,463.332,121.561z"/>
83
+ <path fill="#2E3338" d="M523.745,121.561c-16.385,0-28.417-11.393-28.417-31.746c0-20.864,12.801-31.873,28.674-31.873
84
+ c8.96,0,15.359,2.304,19.968,5.632l-1.664,11.136c-5.632-4.608-11.393-6.784-18.433-6.784c-9.984,0-17.024,7.552-17.024,21.761
85
+ c0,14.849,7.552,21.89,18.305,21.89c6.146,0,11.521-1.408,17.793-6.785l1.664,10.241
86
+ C538.339,119.768,531.938,121.561,523.745,121.561z"/>
87
+ <path fill="#2E3338" d="M580.834,121.561c-16.259,0-28.033-11.647-28.033-31.746c0-20.096,11.774-31.873,28.033-31.873
88
+ c16.385,0,28.416,11.776,28.416,31.873C609.25,109.912,597.219,121.561,580.834,121.561z M580.834,67.542
89
+ c-11.01,0-16.515,9.472-16.515,22.272c0,12.545,5.761,22.272,16.515,22.272c11.264,0,16.896-9.474,16.896-22.272
90
+ C597.73,77.271,591.842,67.542,580.834,67.542z"/>
91
+ <path fill="#CC342D" d="M632.545,84.184v36.098h-11.394v-61.06h9.088l1.92,12.417c4.354-6.913,11.394-13.185,21.377-13.697
92
+ l1.793,10.88C645.217,69.334,636.641,76.118,632.545,84.184z"/>
93
+ <path fill="#CC342D" d="M688.224,121.049c-9.217,0-15.745-1.408-23.811-3.841V29.652l11.394-1.792v38.53
94
+ c4.096-4.224,9.984-8.448,18.305-8.448c13.186,0,24.065,9.729,24.065,30.082C718.177,110.296,705.888,121.049,688.224,121.049z
95
+ M692.447,68.054c-6.399,0-12.032,4.224-16.641,9.984v31.233c3.84,1.408,6.656,2.049,12.288,2.049
96
+ c11.905,0,18.562-7.041,18.562-22.785C706.656,75.222,700.64,68.054,692.447,68.054z"/>
97
+ </g>
98
+ </g>
99
+ </g>
100
+ </g>
101
+ </svg>
@@ -60,13 +60,14 @@ In `options`, hash should be like this:
60
60
  }
61
61
  }
62
62
  ```
63
-
64
- | Key | Description |
65
- | --- | --- |
66
- | `type` | The type of the argument. |
67
- | `required` | Whether the argument is required. |
68
- | `description` | The description of the argument. |
69
- | `choices` | The choices of the argument. |
63
+ | Key | Type | Description |
64
+ | --- | --- | --- |
65
+ | `:description` | `String` | Description of the option. |
66
+ | `:required` | Whether the argument is required. `optional` will be used if not specified. |
67
+ | `:optional` | Whether the argument is optional. `required` will be used if not specified. |
68
+ | `:type` | `Object` | Type of the option. |
69
+ | `:choice` | `Hash{String => String, Integer, Float}` | Type of the option. |
70
+ | `:default` | `Object` | Default value of the option. |
70
71
 
71
72
  `choices` should be unspecified if you don't want to use it.
72
73
  `choices` is hash like this:
data/docs/cli/run.md CHANGED
@@ -19,9 +19,9 @@ The script to run. Defaults to `main.rb`.
19
19
 
20
20
  ### Options
21
21
 
22
- #### `-d`, `--deamon`
22
+ #### `-t`, `--title`
23
23
 
24
- Run the client in deamon mode.
24
+ The title of the process.
25
25
 
26
26
  #### `-l`, `--log-level`
27
27
 
@@ -51,6 +51,6 @@ If not specified, the default will be:
51
51
 
52
52
  Whether to setup application commands.
53
53
 
54
- #### `-t`, `--token`
54
+ #### `-e`, `--env`
55
55
 
56
56
  The name of the environment variable to use for token, or just `-t` or `--token` for intractive prompt.
data/docs/faq.md CHANGED
@@ -35,7 +35,7 @@ Use {Discorb::Client#update_presence} method.
35
35
  client.on event do
36
36
  client.update_presence(
37
37
  Discorb::Activity.new(
38
- name: "#{client.guilds.length} Servers"
38
+ "#{client.guilds.length} Servers"
39
39
  ),
40
40
  status: :online
41
41
  )
data/docs/license.md CHANGED
@@ -4,4 +4,4 @@
4
4
 
5
5
  discorb is licensed under the [MIT license](https://opensource.org/licenses/MIT).
6
6
 
7
- {include:file:License.txt}
7
+ {include:file:LICENSE.txt}
@@ -20,9 +20,11 @@ module Discorb
20
20
  # | Key | Type | Description |
21
21
  # | --- | --- | --- |
22
22
  # | `:description` | `String` | Description of the option. |
23
- # | `:optional` | `Boolean` | Whether the option is optional or not. |
23
+ # | `:required` | Whether the argument is required. `optional` will be used if not specified. |
24
+ # | `:optional` | Whether the argument is optional. `required` will be used if not specified. |
24
25
  # | `:type` | `Object` | Type of the option. |
25
26
  # | `:choice` | `Hash{String => String, Integer, Float}` | Type of the option. |
27
+ # | `:default` | `Object` | Default value of the option. |
26
28
  #
27
29
  # @param [Array<#to_s>, false, nil] guild_ids Guild IDs to set the command to. `false` to global command, `nil` to use default.
28
30
  # @param [Proc] block Command block.
@@ -157,7 +159,7 @@ module Discorb
157
159
  3 => :message,
158
160
  }.freeze
159
161
 
160
- # @!visibility private
162
+ # @private
161
163
  def initialize(name, guild_ids, block, type)
162
164
  @name = name
163
165
  @guild_ids = guild_ids&.map(&:to_s)
@@ -168,7 +170,7 @@ module Discorb
168
170
  @id_map = Discorb::Dictionary.new
169
171
  end
170
172
 
171
- # @!visibility private
173
+ # @private
172
174
  def to_hash
173
175
  {
174
176
  name: @name,
@@ -186,7 +188,7 @@ module Discorb
186
188
  # @return [Hash{String => Hash}] The options of the command.
187
189
  attr_reader :options
188
190
 
189
- # @!visibility private
191
+ # @private
190
192
  def initialize(name, description, options, guild_ids, block, type, parent)
191
193
  super(name, guild_ids, block, type)
192
194
  @description = description
@@ -205,7 +207,7 @@ module Discorb
205
207
  (@parent + " " + @name).strip
206
208
  end
207
209
 
208
- # @!visibility private
210
+ # @private
209
211
  def to_hash
210
212
  options_payload = options.map do |name, value|
211
213
  ret = {
@@ -231,7 +233,7 @@ module Discorb
231
233
  end,
232
234
  name: name,
233
235
  description: value[:description],
234
- required: !value[:optional],
236
+ required: value[:required].nil? ? !value[:optional] : value[:required],
235
237
  }
236
238
  if value[:choices]
237
239
  ret[:choices] = value[:choices].map { |t| { name: t[0], value: t[1] } }
@@ -256,7 +258,7 @@ module Discorb
256
258
  # @return [String] The description of the command.
257
259
  attr_reader :description
258
260
 
259
- # @!visibility private
261
+ # @private
260
262
  def initialize(name, description, guild_ids, type, client)
261
263
  super(name, guild_ids, block, type)
262
264
  @description = description
@@ -307,7 +309,7 @@ module Discorb
307
309
  @name
308
310
  end
309
311
 
310
- # @!visibility private
312
+ # @private
311
313
  def to_hash
312
314
  options_payload = @commands.map do |command|
313
315
  if command.is_a?(SlashCommand)
@@ -345,7 +347,7 @@ module Discorb
345
347
  # @return [Array<Discorb::ApplicationCommand::Command::SlashCommand>] The subcommands of the command.
346
348
  attr_reader :commands
347
349
 
348
- # @!visibility private
350
+ # @private
349
351
  def initialize(name, description, parent, client)
350
352
  super(name, description, [], 1, client)
351
353
 
@@ -371,7 +373,7 @@ module Discorb
371
373
  end
372
374
 
373
375
  class << self
374
- # @!visibility private
376
+ # @private
375
377
  attr_reader :types
376
378
  end
377
379
  end
@@ -28,7 +28,7 @@ module Discorb
28
28
  attr_reader :bot_require_code_grant
29
29
  alias bot_require_code_grant? bot_require_code_grant
30
30
 
31
- # @!visibility private
31
+ # @private
32
32
  def initialize(client, data)
33
33
  @client = client
34
34
  @data = data
@@ -67,7 +67,7 @@ module Discorb
67
67
  # @return [Discorb::Application::Team::Member] The team's member.
68
68
  attr_reader :members
69
69
 
70
- # @!visibility private
70
+ # @private
71
71
  def initialize(client, data)
72
72
  @client = client
73
73
  @id = Snowflake.new(data[:id])
@@ -148,7 +148,7 @@ module Discorb
148
148
  end
149
149
 
150
150
  class << self
151
- # @!visibility private
151
+ # @private
152
152
  attr_reader :membership_state
153
153
  end
154
154
  end
data/lib/discorb/asset.rb CHANGED
@@ -11,7 +11,7 @@ module Discorb
11
11
  # @!attribute [r] animated?
12
12
  # @return [Boolean] Whether the asset is animated.
13
13
 
14
- # @!visibility private
14
+ # @private
15
15
  def initialize(target, hash, path: nil)
16
16
  @hash = hash
17
17
  @target = target
@@ -63,7 +63,7 @@ module Discorb
63
63
  # @!attribute [r] animated?
64
64
  # @return [false] For compatibility with {Asset}, always `false`.
65
65
 
66
- # @!visibility private
66
+ # @private
67
67
  def initialize(discriminator)
68
68
  @discriminator = discriminator.to_s.rjust(4, "0")
69
69
  end
@@ -14,7 +14,7 @@ module Discorb
14
14
  # @return [Array<Discorb::AuditLog::Entry>] The entries in this audit log.
15
15
  attr_reader :entries
16
16
 
17
- # @!visibility private
17
+ # @private
18
18
  def initialize(client, data, guild)
19
19
  @client = client
20
20
  @guild = guild
@@ -105,7 +105,7 @@ module Discorb
105
105
  # @!attribute [r] user
106
106
  # @return [Discorb::User] The user who performed the action.
107
107
 
108
- # @!visibility private
108
+ # @private
109
109
  @events = {
110
110
  1 => :guild_update,
111
111
  10 => :channel_create,
@@ -153,7 +153,7 @@ module Discorb
153
153
  112 => :thread_delete
154
154
  }.freeze
155
155
 
156
- # @!visibility private
156
+ # @private
157
157
  @converts = {
158
158
  channel: ->(client, id, _guild_id) { client.channels[id] },
159
159
  thread: ->(client, id, _guild_id) { client.channels[id] },
@@ -163,7 +163,7 @@ module Discorb
163
163
  message: ->(client, id, _guild_id) { client.messages[id] }
164
164
  }
165
165
 
166
- # @!visibility private
166
+ # @private
167
167
  def initialize(client, data, guild_id)
168
168
  @client = client
169
169
  @guild_id = Snowflake.new(guild_id)
@@ -217,7 +217,7 @@ module Discorb
217
217
  attr_reader :data
218
218
 
219
219
  #
220
- # @!visibility private
220
+ # @private
221
221
  #
222
222
  def initialize(data)
223
223
  @data = data.map { |d| [d[:key].to_sym, d] }.to_h
@@ -264,7 +264,7 @@ module Discorb
264
264
  # @return [Object] The new value of the change.
265
265
  attr_reader :new_value
266
266
 
267
- # @!visibility private
267
+ # @private
268
268
  def initialize(data)
269
269
  @key = data[:key].to_sym
270
270
  method = case @key.to_s
@@ -309,7 +309,7 @@ module Discorb
309
309
  # @return [Discorb::Integration::Account] The account of the integration.
310
310
  attr_reader :account
311
311
 
312
- # @!visibility private
312
+ # @private
313
313
  def initialize(data)
314
314
  @id = Snowflake.new(data[:id])
315
315
  @type = data[:type].to_sym