discordrb 3.4.0 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +44 -18
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -1
  4. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -1
  5. data/.github/workflows/codeql.yml +65 -0
  6. data/.markdownlint.json +4 -0
  7. data/.rubocop.yml +8 -2
  8. data/CHANGELOG.md +419 -222
  9. data/LICENSE.txt +1 -1
  10. data/README.md +37 -25
  11. data/discordrb-webhooks.gemspec +4 -1
  12. data/discordrb.gemspec +9 -6
  13. data/lib/discordrb/api/application.rb +202 -0
  14. data/lib/discordrb/api/channel.rb +182 -11
  15. data/lib/discordrb/api/interaction.rb +54 -0
  16. data/lib/discordrb/api/invite.rb +2 -2
  17. data/lib/discordrb/api/server.rb +42 -19
  18. data/lib/discordrb/api/user.rb +9 -3
  19. data/lib/discordrb/api/webhook.rb +57 -0
  20. data/lib/discordrb/api.rb +19 -5
  21. data/lib/discordrb/bot.rb +328 -33
  22. data/lib/discordrb/cache.rb +27 -22
  23. data/lib/discordrb/commands/command_bot.rb +14 -7
  24. data/lib/discordrb/commands/container.rb +1 -1
  25. data/lib/discordrb/commands/parser.rb +2 -2
  26. data/lib/discordrb/commands/rate_limiter.rb +1 -1
  27. data/lib/discordrb/container.rb +132 -3
  28. data/lib/discordrb/data/activity.rb +8 -1
  29. data/lib/discordrb/data/attachment.rb +15 -0
  30. data/lib/discordrb/data/audit_logs.rb +3 -3
  31. data/lib/discordrb/data/channel.rb +167 -23
  32. data/lib/discordrb/data/component.rb +229 -0
  33. data/lib/discordrb/data/integration.rb +42 -3
  34. data/lib/discordrb/data/interaction.rb +800 -0
  35. data/lib/discordrb/data/invite.rb +2 -2
  36. data/lib/discordrb/data/member.rb +108 -33
  37. data/lib/discordrb/data/message.rb +100 -20
  38. data/lib/discordrb/data/overwrite.rb +13 -7
  39. data/lib/discordrb/data/role.rb +58 -1
  40. data/lib/discordrb/data/server.rb +82 -80
  41. data/lib/discordrb/data/user.rb +69 -9
  42. data/lib/discordrb/data/webhook.rb +97 -4
  43. data/lib/discordrb/data.rb +3 -0
  44. data/lib/discordrb/errors.rb +44 -3
  45. data/lib/discordrb/events/channels.rb +1 -1
  46. data/lib/discordrb/events/interactions.rb +482 -0
  47. data/lib/discordrb/events/message.rb +9 -6
  48. data/lib/discordrb/events/presence.rb +21 -14
  49. data/lib/discordrb/events/reactions.rb +0 -1
  50. data/lib/discordrb/events/threads.rb +96 -0
  51. data/lib/discordrb/gateway.rb +30 -17
  52. data/lib/discordrb/permissions.rb +59 -34
  53. data/lib/discordrb/version.rb +1 -1
  54. data/lib/discordrb/voice/encoder.rb +13 -4
  55. data/lib/discordrb/voice/network.rb +18 -7
  56. data/lib/discordrb/voice/sodium.rb +3 -1
  57. data/lib/discordrb/voice/voice_bot.rb +3 -3
  58. data/lib/discordrb/webhooks.rb +2 -0
  59. data/lib/discordrb.rb +37 -4
  60. metadata +53 -19
  61. data/.codeclimate.yml +0 -16
  62. data/.travis.yml +0 -32
  63. data/bin/travis_build_docs.sh +0 -17
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: discordrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - meew0
8
8
  - swarley
9
- autorequire:
9
+ autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-12-06 00:00:00.000000000 Z
12
+ date: 2023-07-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ffi
@@ -73,14 +73,14 @@ dependencies:
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: 3.3.0
76
+ version: 3.5.0
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: 3.3.0
83
+ version: 3.5.0
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: bundler
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -135,14 +135,28 @@ dependencies:
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 3.10.0
138
+ version: 3.11.0
139
+ type: :development
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 3.11.0
146
+ - !ruby/object:Gem::Dependency
147
+ name: rspec_junit_formatter
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.5.1
139
153
  type: :development
140
154
  prerelease: false
141
155
  version_requirements: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: 3.10.0
159
+ version: 0.5.1
146
160
  - !ruby/object:Gem::Dependency
147
161
  name: rspec-prof
148
162
  requirement: !ruby/object:Gem::Requirement
@@ -163,14 +177,14 @@ dependencies:
163
177
  requirements:
164
178
  - - "~>"
165
179
  - !ruby/object:Gem::Version
166
- version: 1.4.0
180
+ version: 1.36.0
167
181
  type: :development
168
182
  prerelease: false
169
183
  version_requirements: !ruby/object:Gem::Requirement
170
184
  requirements:
171
185
  - - "~>"
172
186
  - !ruby/object:Gem::Version
173
- version: 1.4.0
187
+ version: 1.36.0
174
188
  - !ruby/object:Gem::Dependency
175
189
  name: rubocop-performance
176
190
  requirement: !ruby/object:Gem::Requirement
@@ -185,20 +199,34 @@ dependencies:
185
199
  - - "~>"
186
200
  - !ruby/object:Gem::Version
187
201
  version: '1.0'
202
+ - !ruby/object:Gem::Dependency
203
+ name: rubocop-rake
204
+ requirement: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 0.6.0
209
+ type: :development
210
+ prerelease: false
211
+ version_requirements: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: 0.6.0
188
216
  - !ruby/object:Gem::Dependency
189
217
  name: simplecov
190
218
  requirement: !ruby/object:Gem::Requirement
191
219
  requirements:
192
220
  - - "~>"
193
221
  - !ruby/object:Gem::Version
194
- version: 0.19.0
222
+ version: 0.21.0
195
223
  type: :development
196
224
  prerelease: false
197
225
  version_requirements: !ruby/object:Gem::Requirement
198
226
  requirements:
199
227
  - - "~>"
200
228
  - !ruby/object:Gem::Version
201
- version: 0.19.0
229
+ version: 0.21.0
202
230
  - !ruby/object:Gem::Dependency
203
231
  name: yard
204
232
  requirement: !ruby/object:Gem::Requirement
@@ -221,16 +249,16 @@ extensions: []
221
249
  extra_rdoc_files: []
222
250
  files:
223
251
  - ".circleci/config.yml"
224
- - ".codeclimate.yml"
225
252
  - ".github/CONTRIBUTING.md"
226
253
  - ".github/ISSUE_TEMPLATE/bug_report.md"
227
254
  - ".github/ISSUE_TEMPLATE/feature_request.md"
228
255
  - ".github/pull_request_template.md"
256
+ - ".github/workflows/codeql.yml"
229
257
  - ".gitignore"
258
+ - ".markdownlint.json"
230
259
  - ".overcommit.yml"
231
260
  - ".rspec"
232
261
  - ".rubocop.yml"
233
- - ".travis.yml"
234
262
  - ".yardopts"
235
263
  - CHANGELOG.md
236
264
  - Gemfile
@@ -239,13 +267,14 @@ files:
239
267
  - Rakefile
240
268
  - bin/console
241
269
  - bin/setup
242
- - bin/travis_build_docs.sh
243
270
  - discordrb-webhooks.gemspec
244
271
  - discordrb.gemspec
245
272
  - lib/discordrb.rb
246
273
  - lib/discordrb/allowed_mentions.rb
247
274
  - lib/discordrb/api.rb
275
+ - lib/discordrb/api/application.rb
248
276
  - lib/discordrb/api/channel.rb
277
+ - lib/discordrb/api/interaction.rb
249
278
  - lib/discordrb/api/invite.rb
250
279
  - lib/discordrb/api/server.rb
251
280
  - lib/discordrb/api/user.rb
@@ -266,9 +295,11 @@ files:
266
295
  - lib/discordrb/data/attachment.rb
267
296
  - lib/discordrb/data/audit_logs.rb
268
297
  - lib/discordrb/data/channel.rb
298
+ - lib/discordrb/data/component.rb
269
299
  - lib/discordrb/data/embed.rb
270
300
  - lib/discordrb/data/emoji.rb
271
301
  - lib/discordrb/data/integration.rb
302
+ - lib/discordrb/data/interaction.rb
272
303
  - lib/discordrb/data/invite.rb
273
304
  - lib/discordrb/data/member.rb
274
305
  - lib/discordrb/data/message.rb
@@ -288,6 +319,7 @@ files:
288
319
  - lib/discordrb/events/channels.rb
289
320
  - lib/discordrb/events/generic.rb
290
321
  - lib/discordrb/events/guilds.rb
322
+ - lib/discordrb/events/interactions.rb
291
323
  - lib/discordrb/events/invites.rb
292
324
  - lib/discordrb/events/lifetime.rb
293
325
  - lib/discordrb/events/members.rb
@@ -296,6 +328,7 @@ files:
296
328
  - lib/discordrb/events/raw.rb
297
329
  - lib/discordrb/events/reactions.rb
298
330
  - lib/discordrb/events/roles.rb
331
+ - lib/discordrb/events/threads.rb
299
332
  - lib/discordrb/events/typing.rb
300
333
  - lib/discordrb/events/voice_server_update.rb
301
334
  - lib/discordrb/events/voice_state_update.rb
@@ -320,8 +353,9 @@ homepage: https://github.com/shardlab/discordrb
320
353
  licenses:
321
354
  - MIT
322
355
  metadata:
323
- changelog_uri: https://github.com/shardlab/discordrb/blob/master/CHANGELOG.md
324
- post_install_message:
356
+ changelog_uri: https://github.com/shardlab/discordrb/blob/main/CHANGELOG.md
357
+ rubygems_mfa_required: 'true'
358
+ post_install_message:
325
359
  rdoc_options: []
326
360
  require_paths:
327
361
  - lib
@@ -329,15 +363,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
329
363
  requirements:
330
364
  - - ">="
331
365
  - !ruby/object:Gem::Version
332
- version: '2.5'
366
+ version: '2.7'
333
367
  required_rubygems_version: !ruby/object:Gem::Requirement
334
368
  requirements:
335
369
  - - ">="
336
370
  - !ruby/object:Gem::Version
337
371
  version: '0'
338
372
  requirements: []
339
- rubygems_version: 3.1.4
340
- signing_key:
373
+ rubygems_version: 3.3.3
374
+ signing_key:
341
375
  specification_version: 4
342
376
  summary: Discord API for Ruby
343
377
  test_files: []
data/.codeclimate.yml DELETED
@@ -1,16 +0,0 @@
1
- ---
2
- engines:
3
- duplication:
4
- enabled: true
5
- config:
6
- languages:
7
- - ruby
8
- fixme:
9
- enabled: true
10
- rubocop:
11
- enabled: true
12
- ratings:
13
- paths:
14
- - "**.rb"
15
- exclude_paths:
16
- - spec/
data/.travis.yml DELETED
@@ -1,32 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.5
4
- - 2.6
5
- before_script:
6
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 -o ./cc-test-reporter
7
- - chmod +x ./cc-test-reporter
8
- - ./cc-test-reporter before-build
9
- - sudo apt-get install libsodium-dev
10
- script:
11
- - bundle exec rspec spec
12
- - bundle exec rubocop -c .rubocop.yml
13
- - bin/travis_build_docs.sh
14
- after_script:
15
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
16
- deploy:
17
- - provider: pages
18
- skip-cleanup: true
19
- github-token: $GITHUB_TOKEN
20
- keep-history: true
21
- local-dir: docs
22
- on:
23
- branch: master
24
- rvm: 2.6
25
- - provider: pages
26
- skip-cleanup: true
27
- github-token: $GITHUB_TOKEN
28
- keep-history: true
29
- local-dir: docs
30
- on:
31
- tags: true
32
- rvm: 2.6
@@ -1,17 +0,0 @@
1
- #!/bin/bash
2
- # Script to build docs for travis usage
3
-
4
- set -e
5
-
6
- SOURCE_BRANCH=$TRAVIS_BRANCH
7
-
8
- if [ -n "$TRAVIS_TAG" ]; then
9
- SOURCE_BRANCH=$TRAVIS_TAG
10
- fi
11
-
12
- # Use YARD to build docs
13
- bundle exec yard
14
-
15
- # Move to correct folder
16
- mkdir -p docs/$SOURCE_BRANCH
17
- mv doc/* docs/$SOURCE_BRANCH/