discorb 0.7.3 → 0.8.2
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_version.yml +53 -0
- data/Changelog.md +34 -1
- data/README.md +55 -4
- data/assets/banner.svg +101 -125
- data/docs/events.md +8 -4
- data/docs/faq.md +77 -0
- data/docs/license.md +7 -0
- data/docs/tutorial.md +1 -1
- data/examples/commands/bookmarker.rb +1 -1
- data/examples/commands/inspect.rb +1 -1
- data/examples/components/authorization_button.rb +1 -1
- data/examples/components/select_menu.rb +1 -1
- data/examples/extension/main.rb +1 -1
- data/examples/simple/eval.rb +1 -1
- data/examples/simple/ping_pong.rb +1 -1
- data/examples/simple/rolepanel.rb +1 -1
- data/examples/simple/wait_for_message.rb +1 -1
- data/lib/discorb/client.rb +27 -5
- data/lib/discorb/common.rb +1 -1
- data/lib/discorb/error.rb +3 -1
- data/lib/discorb/exe/about.rb +1 -1
- data/lib/discorb/exe/init.rb +1 -1
- data/lib/discorb/exe/irb.rb +1 -1
- data/lib/discorb/file.rb +7 -1
- data/lib/discorb/flag.rb +1 -0
- data/lib/discorb/gateway.rb +82 -39
- data/lib/discorb/guild.rb +33 -1
- data/lib/discorb/http.rb +5 -4
- data/lib/discorb/intents.rb +7 -3
- data/lib/discorb/message.rb +49 -0
- data/lib/discorb/modules.rb +2 -1
- data/po/yard.pot +1 -1
- data/sig/discorb.rbs +7217 -7217
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3274a015f4e303bb978379e4eb01a039088ce3139507bccf6e32dbcf19dfe29
|
4
|
+
data.tar.gz: 4f8b8ca01fcbd9e362ff90bdee7880d11769e0c984687be1e7d5774a9da6a8b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7eb065d83e4fa92ac82bfd70426e48e04aaca4832dcea9890603e04a349998b48f0d39aac1169a047b73014b88517eae05ab9679c1e55e27286e7b411f6454b2
|
7
|
+
data.tar.gz: 77bb4471337fbf056af8a3d3493b84218cb6811745ce28e3a33e4684e72f6806c74045af1a58bf8d7e80532d46cf9fb8caa51587e94c8f96660e5ad9ce10bd6b
|
@@ -0,0 +1,53 @@
|
|
1
|
+
name: Build YARD by version
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_dispatch:
|
5
|
+
push:
|
6
|
+
tags:
|
7
|
+
- "v*"
|
8
|
+
jobs:
|
9
|
+
main:
|
10
|
+
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
|
13
|
+
steps:
|
14
|
+
- uses: actions/checkout@v2
|
15
|
+
with:
|
16
|
+
fetch-depth: 0
|
17
|
+
- name: Set up Ruby
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: 3.0.2
|
21
|
+
bundler-cache: true
|
22
|
+
- name: Set up git settings
|
23
|
+
run: |
|
24
|
+
git config --global user.email "action@github.com"
|
25
|
+
git config --global user.name "GitHub Action"
|
26
|
+
- name: Clone pages
|
27
|
+
env:
|
28
|
+
SSH_SECRET: ${{ secrets.SSH }}
|
29
|
+
GIT_SSH_COMMAND: ssh -i ~/ssh_secret
|
30
|
+
run: |
|
31
|
+
echo "$SSH_SECRET" > ~/ssh_secret
|
32
|
+
chmod 600 ~/ssh_secret
|
33
|
+
git clone git@github.com:discorb-lib/discorb-lib.github.io /tmp/pages
|
34
|
+
- name: Install dependencies
|
35
|
+
run: |
|
36
|
+
bundle config --local with 'docs'
|
37
|
+
bundle install
|
38
|
+
- name: Generate document
|
39
|
+
run: bundle exec rake document:build_all
|
40
|
+
- name: Push document
|
41
|
+
env:
|
42
|
+
SSH_SECRET: ${{ secrets.SSH }}
|
43
|
+
GIT_SSH_COMMAND: ssh -i ~/ssh_secret
|
44
|
+
run: |
|
45
|
+
echo "$SSH_SECRET" > ~/ssh_secret
|
46
|
+
chmod 600 ~/ssh_secret
|
47
|
+
cp -r ./doc/. /tmp/pages
|
48
|
+
cd /tmp/pages
|
49
|
+
git add -A
|
50
|
+
git commit -m "Update: Update document"
|
51
|
+
git update-ref -d refs/remotes/origin/user
|
52
|
+
git push origin main -f
|
53
|
+
continue-on-error: true
|
data/Changelog.md
CHANGED
@@ -190,4 +190,37 @@ end
|
|
190
190
|
|
191
191
|
## 0.7.3
|
192
192
|
|
193
|
-
- Add: Improve `discorb init`
|
193
|
+
- Add: Improve `discorb init`
|
194
|
+
|
195
|
+
## 0.7.4 (yanked)
|
196
|
+
|
197
|
+
- Fix: Fix disconnected client
|
198
|
+
|
199
|
+
## 0.7.5 (yanked)
|
200
|
+
|
201
|
+
- Fix: Fix critical error
|
202
|
+
|
203
|
+
## 0.7.6
|
204
|
+
|
205
|
+
- Fix: Fix heartbeating error
|
206
|
+
|
207
|
+
## 0.8.0
|
208
|
+
|
209
|
+
- Add: Add `Guild#fetch_members`
|
210
|
+
- Add: Add `Guild#fetch_member_list` as alias of `Guild#fetch_members`
|
211
|
+
- Add: Add `Intents#to_h`
|
212
|
+
- Add: Add `fetch_member` parameter to `Client#initialize`; Note you should set `false` if your bot doesn't have `GUILD_MEMBERS` intent
|
213
|
+
- Change: Change `ready` to `standby` event
|
214
|
+
- Change: `ready` will be fired when client receives `READY` event
|
215
|
+
|
216
|
+
## 0.8.1
|
217
|
+
|
218
|
+
- Add: Add FAQ
|
219
|
+
- Fix: Fix sending files
|
220
|
+
- Add: Add `File.from_string`
|
221
|
+
- Fix: Fix `Client#update_presence`
|
222
|
+
- Add: Add information in `discorb run -d`
|
223
|
+
|
224
|
+
## 0.8.2
|
225
|
+
|
226
|
+
Fix: Fix `Client#initialize`
|
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
![discorb](./assets/banner.svg)
|
2
2
|
|
3
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>
|
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
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
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
8
|
|
@@ -28,14 +28,14 @@ Or install it yourself as:
|
|
28
28
|
|
29
29
|
## Usage
|
30
30
|
|
31
|
-
###
|
31
|
+
### Ping & Pong
|
32
32
|
|
33
33
|
```ruby
|
34
34
|
require "discorb"
|
35
35
|
|
36
36
|
client = Discorb::Client.new
|
37
37
|
|
38
|
-
client.once :
|
38
|
+
client.once :standby do
|
39
39
|
puts "Logged in as #{client.user}"
|
40
40
|
end
|
41
41
|
|
@@ -49,6 +49,57 @@ end
|
|
49
49
|
client.run(ENV["DISCORD_BOT_TOKEN"])
|
50
50
|
```
|
51
51
|
|
52
|
+
### Quiz Game
|
53
|
+
|
54
|
+
```ruby
|
55
|
+
require "discorb"
|
56
|
+
|
57
|
+
client = Discorb::Client.new
|
58
|
+
|
59
|
+
client.once :standby do
|
60
|
+
puts "Logged in as #{client.user}"
|
61
|
+
end
|
62
|
+
|
63
|
+
client.on :message do |message|
|
64
|
+
next if message.author.bot?
|
65
|
+
next unless message.content == "!quiz"
|
66
|
+
|
67
|
+
operator = [:+, :-, :*].sample
|
68
|
+
num1 = rand(1..10)
|
69
|
+
num2 = rand(1..10)
|
70
|
+
|
71
|
+
val = num1.send(operator, num2)
|
72
|
+
message.channel.post("Quiz: `#{num1} #{operator} #{num2}`")
|
73
|
+
begin
|
74
|
+
msg = client.event_lock(:message, 30) { |m|
|
75
|
+
m.content == val.to_s && m.channel == message.channel
|
76
|
+
}.wait
|
77
|
+
rescue Discorb::TimeoutError
|
78
|
+
message.channel.post("No one answered...")
|
79
|
+
else
|
80
|
+
msg.reply("Correct!")
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
client.run(ENV["DISCORD_BOT_TOKEN"])
|
85
|
+
```
|
86
|
+
|
87
|
+
### Slash Commands
|
88
|
+
|
89
|
+
```ruby
|
90
|
+
require "discorb"
|
91
|
+
|
92
|
+
client = Discorb::Client.new
|
93
|
+
|
94
|
+
client.slash("hello", "Greet for you") do |interaction|
|
95
|
+
interaction.post("Hello!", ephemeral: true)
|
96
|
+
end
|
97
|
+
|
98
|
+
client.run(ENV["DISCORD_BOT_TOKEN"])
|
99
|
+
```
|
100
|
+
|
101
|
+
Note: You must run `discorb setup` before using slash commands.
|
102
|
+
|
52
103
|
## Contributing
|
53
104
|
|
54
105
|
Bug reports and pull requests are welcome on GitHub at https://github.com/discorb-lib/discorb.
|
data/assets/banner.svg
CHANGED
@@ -1,125 +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
|
-
<
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
</g>
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
<
|
63
|
-
<
|
64
|
-
|
65
|
-
|
66
|
-
<
|
67
|
-
<
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
</g>
|
99
|
-
|
100
|
-
</g>
|
101
|
-
|
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>
|
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>
|
data/docs/events.md
CHANGED
@@ -22,7 +22,7 @@ Since v0.2.5, you can also register event handlers by adding a method to the cli
|
|
22
22
|
client = Discorb::Client.new
|
23
23
|
|
24
24
|
class << client
|
25
|
-
def
|
25
|
+
def on_standby
|
26
26
|
puts "Ready!"
|
27
27
|
end
|
28
28
|
end
|
@@ -43,7 +43,7 @@ end
|
|
43
43
|
```
|
44
44
|
|
45
45
|
This example will print `Override!`, but not `This event handler is overrideable!`.
|
46
|
-
This is useful for registering event handlers
|
46
|
+
This is useful for registering event handlers as default behaviour, such as error handlers.
|
47
47
|
|
48
48
|
```ruby
|
49
49
|
# In the library...
|
@@ -55,7 +55,7 @@ end
|
|
55
55
|
# In your code...
|
56
56
|
|
57
57
|
client.on :command_error do |event, error|
|
58
|
-
event.message.reply "An error occurred while executing
|
58
|
+
event.message.reply "An error occurred while executing the command!\n#{error.full_message}"
|
59
59
|
end
|
60
60
|
```
|
61
61
|
|
@@ -73,7 +73,11 @@ Fires when a event is received.
|
|
73
73
|
|
74
74
|
#### `ready()`
|
75
75
|
|
76
|
-
Fires when the client
|
76
|
+
Fires when the client receives the `READY` event.
|
77
|
+
|
78
|
+
#### `standby()`
|
79
|
+
|
80
|
+
Fires when the client is standby. (When the client connects to Discord, and has cached guilds and members.)
|
77
81
|
|
78
82
|
#### `resumed()`
|
79
83
|
|
data/docs/faq.md
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
# @title FAQ
|
2
|
+
|
3
|
+
# Fequently asked questions
|
4
|
+
|
5
|
+
## What is `Async::Task`?
|
6
|
+
|
7
|
+
Async::Task is a object for asynchronous tasks.
|
8
|
+
|
9
|
+
https://socketry.github.io/async/ for more information.
|
10
|
+
|
11
|
+
## How do I do something with sent messages?
|
12
|
+
|
13
|
+
Use `Async::Task#wait` method.
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
# NG
|
17
|
+
message = channel.post("Hello world!") # => Async::Task
|
18
|
+
message.pin # => NoMethodError
|
19
|
+
|
20
|
+
# OK
|
21
|
+
message = channel.post("Hello world!").wait # => Message
|
22
|
+
message.pin
|
23
|
+
```
|
24
|
+
|
25
|
+
## How can I send DM to a user?
|
26
|
+
|
27
|
+
Use {Discorb::User#post} method, {Discorb::User} includes {Discorb::Messageable}.
|
28
|
+
|
29
|
+
## How can I edit status?
|
30
|
+
|
31
|
+
Use {Discorb::Client#update_presence} method.
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
%i[standby guild_join guild_leave].each do |event|
|
35
|
+
client.on event do
|
36
|
+
client.update_presence(
|
37
|
+
Discorb::Activity.new(
|
38
|
+
name: "#{client.guilds.length} Servers"
|
39
|
+
),
|
40
|
+
status: :online
|
41
|
+
)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
client.on :ready do
|
46
|
+
client.update_presence(status: :dnd)
|
47
|
+
end
|
48
|
+
```
|
49
|
+
|
50
|
+
## How can I send files?
|
51
|
+
|
52
|
+
Use {Discorb::File} class.
|
53
|
+
|
54
|
+
```ruby
|
55
|
+
# Send a file
|
56
|
+
message.channel.post file: Discorb::File.new(File.open("./README.md"))
|
57
|
+
|
58
|
+
# Send some files with text
|
59
|
+
message.channel.post "File!", files: [Discorb::File.new(File.open("./README.md")), Discorb::File.new(File.open("./License.txt"))]
|
60
|
+
|
61
|
+
# Send a string as a file
|
62
|
+
message.channel.post file: Discorb::File.from_string("Hello world!", "hello.txt")
|
63
|
+
```
|
64
|
+
|
65
|
+
# Not fequently asked questions
|
66
|
+
|
67
|
+
## How can I pronounce `discorb`?
|
68
|
+
|
69
|
+
Discorb is pronounced `disco-R-B`.
|
70
|
+
|
71
|
+
## Why did you make `discorb`?
|
72
|
+
|
73
|
+
There are many reasons -- One is I didn't like `discordrb`'s `bot.message` -- but the main reason is, "Just for Fun".
|
74
|
+
|
75
|
+
## How was `discorb` named?
|
76
|
+
|
77
|
+
`discord` and `.rb`.
|
data/docs/license.md
ADDED
data/docs/tutorial.md
CHANGED
@@ -101,7 +101,7 @@ Dotenv.load # Loads .env file
|
|
101
101
|
|
102
102
|
client = Discorb::Client.new # Create client for connecting to Discord
|
103
103
|
|
104
|
-
client.once :
|
104
|
+
client.once :standby do
|
105
105
|
puts "Logged in as #{client.user}" # Prints username of logged in user
|
106
106
|
end
|
107
107
|
|
data/examples/extension/main.rb
CHANGED
data/examples/simple/eval.rb
CHANGED