discordrb 3.4.0 → 3.5.0

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 (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/