discordrb 3.3.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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +152 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  4. data/.github/ISSUE_TEMPLATE/feature_request.md +24 -0
  5. data/.github/pull_request_template.md +37 -0
  6. data/.github/workflows/codeql.yml +65 -0
  7. data/.markdownlint.json +4 -0
  8. data/.rubocop.yml +39 -36
  9. data/CHANGELOG.md +874 -552
  10. data/Gemfile +2 -0
  11. data/LICENSE.txt +1 -1
  12. data/README.md +80 -86
  13. data/Rakefile +2 -0
  14. data/bin/console +1 -0
  15. data/discordrb-webhooks.gemspec +9 -6
  16. data/discordrb.gemspec +21 -18
  17. data/lib/discordrb/allowed_mentions.rb +36 -0
  18. data/lib/discordrb/api/application.rb +202 -0
  19. data/lib/discordrb/api/channel.rb +236 -47
  20. data/lib/discordrb/api/interaction.rb +54 -0
  21. data/lib/discordrb/api/invite.rb +5 -5
  22. data/lib/discordrb/api/server.rb +94 -66
  23. data/lib/discordrb/api/user.rb +17 -11
  24. data/lib/discordrb/api/webhook.rb +63 -6
  25. data/lib/discordrb/api.rb +55 -16
  26. data/lib/discordrb/await.rb +0 -1
  27. data/lib/discordrb/bot.rb +480 -93
  28. data/lib/discordrb/cache.rb +31 -24
  29. data/lib/discordrb/colour_rgb.rb +43 -0
  30. data/lib/discordrb/commands/command_bot.rb +35 -12
  31. data/lib/discordrb/commands/container.rb +21 -24
  32. data/lib/discordrb/commands/parser.rb +20 -20
  33. data/lib/discordrb/commands/rate_limiter.rb +4 -3
  34. data/lib/discordrb/container.rb +209 -20
  35. data/lib/discordrb/data/activity.rb +271 -0
  36. data/lib/discordrb/data/application.rb +50 -0
  37. data/lib/discordrb/data/attachment.rb +71 -0
  38. data/lib/discordrb/data/audit_logs.rb +345 -0
  39. data/lib/discordrb/data/channel.rb +993 -0
  40. data/lib/discordrb/data/component.rb +229 -0
  41. data/lib/discordrb/data/embed.rb +251 -0
  42. data/lib/discordrb/data/emoji.rb +82 -0
  43. data/lib/discordrb/data/integration.rb +122 -0
  44. data/lib/discordrb/data/interaction.rb +800 -0
  45. data/lib/discordrb/data/invite.rb +137 -0
  46. data/lib/discordrb/data/member.rb +372 -0
  47. data/lib/discordrb/data/message.rb +414 -0
  48. data/lib/discordrb/data/overwrite.rb +108 -0
  49. data/lib/discordrb/data/profile.rb +91 -0
  50. data/lib/discordrb/data/reaction.rb +33 -0
  51. data/lib/discordrb/data/recipient.rb +34 -0
  52. data/lib/discordrb/data/role.rb +248 -0
  53. data/lib/discordrb/data/server.rb +1004 -0
  54. data/lib/discordrb/data/user.rb +264 -0
  55. data/lib/discordrb/data/voice_region.rb +45 -0
  56. data/lib/discordrb/data/voice_state.rb +41 -0
  57. data/lib/discordrb/data/webhook.rb +238 -0
  58. data/lib/discordrb/data.rb +28 -4180
  59. data/lib/discordrb/errors.rb +46 -4
  60. data/lib/discordrb/events/bans.rb +7 -5
  61. data/lib/discordrb/events/channels.rb +3 -1
  62. data/lib/discordrb/events/guilds.rb +16 -9
  63. data/lib/discordrb/events/interactions.rb +482 -0
  64. data/lib/discordrb/events/invites.rb +125 -0
  65. data/lib/discordrb/events/members.rb +6 -2
  66. data/lib/discordrb/events/message.rb +72 -27
  67. data/lib/discordrb/events/presence.rb +35 -18
  68. data/lib/discordrb/events/raw.rb +1 -3
  69. data/lib/discordrb/events/reactions.rb +49 -4
  70. data/lib/discordrb/events/threads.rb +96 -0
  71. data/lib/discordrb/events/typing.rb +6 -4
  72. data/lib/discordrb/events/voice_server_update.rb +47 -0
  73. data/lib/discordrb/events/voice_state_update.rb +15 -10
  74. data/lib/discordrb/events/webhooks.rb +9 -6
  75. data/lib/discordrb/gateway.rb +99 -71
  76. data/lib/discordrb/id_object.rb +39 -0
  77. data/lib/discordrb/light/integrations.rb +1 -1
  78. data/lib/discordrb/light/light_bot.rb +1 -1
  79. data/lib/discordrb/logger.rb +4 -4
  80. data/lib/discordrb/paginator.rb +57 -0
  81. data/lib/discordrb/permissions.rb +159 -39
  82. data/lib/discordrb/version.rb +1 -1
  83. data/lib/discordrb/voice/encoder.rb +16 -7
  84. data/lib/discordrb/voice/network.rb +99 -47
  85. data/lib/discordrb/voice/sodium.rb +98 -0
  86. data/lib/discordrb/voice/voice_bot.rb +33 -25
  87. data/lib/discordrb/webhooks.rb +2 -0
  88. data/lib/discordrb.rb +107 -1
  89. metadata +126 -54
  90. data/.codeclimate.yml +0 -16
  91. data/.travis.yml +0 -33
  92. data/bin/travis_build_docs.sh +0 -17
  93. /data/{CONTRIBUTING.md → .github/CONTRIBUTING.md} +0 -0
metadata CHANGED
@@ -1,29 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: discordrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - meew0
8
- autorequire:
8
+ - swarley
9
+ autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2018-10-28 00:00:00.000000000 Z
12
+ date: 2023-07-05 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: rest-client
15
+ name: ffi
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - ">="
18
19
  - !ruby/object:Gem::Version
19
- version: 2.1.0.rc1
20
+ version: 1.9.24
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
25
  - - ">="
25
26
  - !ruby/object:Gem::Version
26
- version: 2.1.0.rc1
27
+ version: 1.9.24
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: opus-ruby
29
30
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +39,20 @@ dependencies:
38
39
  - - ">="
39
40
  - !ruby/object:Gem::Version
40
41
  version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rest-client
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: 2.0.0
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 2.0.0
41
56
  - !ruby/object:Gem::Dependency
42
57
  name: websocket-client-simple
43
58
  requirement: !ruby/object:Gem::Requirement
@@ -53,187 +68,213 @@ dependencies:
53
68
  - !ruby/object:Gem::Version
54
69
  version: 0.3.0
55
70
  - !ruby/object:Gem::Dependency
56
- name: rbnacl
71
+ name: discordrb-webhooks
57
72
  requirement: !ruby/object:Gem::Requirement
58
73
  requirements:
59
74
  - - "~>"
60
75
  - !ruby/object:Gem::Version
61
- version: 3.4.0
76
+ version: 3.5.0
62
77
  type: :runtime
63
78
  prerelease: false
64
79
  version_requirements: !ruby/object:Gem::Requirement
65
80
  requirements:
66
81
  - - "~>"
67
82
  - !ruby/object:Gem::Version
68
- version: 3.4.0
83
+ version: 3.5.0
69
84
  - !ruby/object:Gem::Dependency
70
- name: ffi
85
+ name: bundler
71
86
  requirement: !ruby/object:Gem::Requirement
72
87
  requirements:
73
88
  - - ">="
74
89
  - !ruby/object:Gem::Version
75
- version: 1.9.24
76
- type: :runtime
90
+ version: '1.10'
91
+ - - "<"
92
+ - !ruby/object:Gem::Version
93
+ version: '3'
94
+ type: :development
77
95
  prerelease: false
78
96
  version_requirements: !ruby/object:Gem::Requirement
79
97
  requirements:
80
98
  - - ">="
81
99
  - !ruby/object:Gem::Version
82
- version: 1.9.24
100
+ version: '1.10'
101
+ - - "<"
102
+ - !ruby/object:Gem::Version
103
+ version: '3'
83
104
  - !ruby/object:Gem::Dependency
84
- name: discordrb-webhooks
105
+ name: rake
85
106
  requirement: !ruby/object:Gem::Requirement
86
107
  requirements:
87
108
  - - "~>"
88
109
  - !ruby/object:Gem::Version
89
- version: 3.3.0
90
- type: :runtime
110
+ version: '13.0'
111
+ type: :development
91
112
  prerelease: false
92
113
  version_requirements: !ruby/object:Gem::Requirement
93
114
  requirements:
94
115
  - - "~>"
95
116
  - !ruby/object:Gem::Version
96
- version: 3.3.0
117
+ version: '13.0'
97
118
  - !ruby/object:Gem::Dependency
98
- name: bundler
119
+ name: redcarpet
99
120
  requirement: !ruby/object:Gem::Requirement
100
121
  requirements:
101
122
  - - "~>"
102
123
  - !ruby/object:Gem::Version
103
- version: '1.10'
124
+ version: 3.5.0
104
125
  type: :development
105
126
  prerelease: false
106
127
  version_requirements: !ruby/object:Gem::Requirement
107
128
  requirements:
108
129
  - - "~>"
109
130
  - !ruby/object:Gem::Version
110
- version: '1.10'
131
+ version: 3.5.0
111
132
  - !ruby/object:Gem::Dependency
112
- name: rake
133
+ name: rspec
113
134
  requirement: !ruby/object:Gem::Requirement
114
135
  requirements:
115
136
  - - "~>"
116
137
  - !ruby/object:Gem::Version
117
- version: '10.0'
138
+ version: 3.11.0
118
139
  type: :development
119
140
  prerelease: false
120
141
  version_requirements: !ruby/object:Gem::Requirement
121
142
  requirements:
122
143
  - - "~>"
123
144
  - !ruby/object:Gem::Version
124
- version: '10.0'
145
+ version: 3.11.0
125
146
  - !ruby/object:Gem::Dependency
126
- name: yard
147
+ name: rspec_junit_formatter
127
148
  requirement: !ruby/object:Gem::Requirement
128
149
  requirements:
129
150
  - - "~>"
130
151
  - !ruby/object:Gem::Version
131
- version: 0.9.9
152
+ version: 0.5.1
132
153
  type: :development
133
154
  prerelease: false
134
155
  version_requirements: !ruby/object:Gem::Requirement
135
156
  requirements:
136
157
  - - "~>"
137
158
  - !ruby/object:Gem::Version
138
- version: 0.9.9
159
+ version: 0.5.1
139
160
  - !ruby/object:Gem::Dependency
140
- name: redcarpet
161
+ name: rspec-prof
141
162
  requirement: !ruby/object:Gem::Requirement
142
163
  requirements:
143
164
  - - "~>"
144
165
  - !ruby/object:Gem::Version
145
- version: 3.4.0
166
+ version: 0.0.7
146
167
  type: :development
147
168
  prerelease: false
148
169
  version_requirements: !ruby/object:Gem::Requirement
149
170
  requirements:
150
171
  - - "~>"
151
172
  - !ruby/object:Gem::Version
152
- version: 3.4.0
173
+ version: 0.0.7
153
174
  - !ruby/object:Gem::Dependency
154
- name: rspec
175
+ name: rubocop
155
176
  requirement: !ruby/object:Gem::Requirement
156
177
  requirements:
157
178
  - - "~>"
158
179
  - !ruby/object:Gem::Version
159
- version: 3.4.0
180
+ version: 1.36.0
160
181
  type: :development
161
182
  prerelease: false
162
183
  version_requirements: !ruby/object:Gem::Requirement
163
184
  requirements:
164
185
  - - "~>"
165
186
  - !ruby/object:Gem::Version
166
- version: 3.4.0
187
+ version: 1.36.0
167
188
  - !ruby/object:Gem::Dependency
168
- name: rspec-prof
189
+ name: rubocop-performance
169
190
  requirement: !ruby/object:Gem::Requirement
170
191
  requirements:
171
192
  - - "~>"
172
193
  - !ruby/object:Gem::Version
173
- version: 0.0.7
194
+ version: '1.0'
174
195
  type: :development
175
196
  prerelease: false
176
197
  version_requirements: !ruby/object:Gem::Requirement
177
198
  requirements:
178
199
  - - "~>"
179
200
  - !ruby/object:Gem::Version
180
- version: 0.0.7
201
+ version: '1.0'
181
202
  - !ruby/object:Gem::Dependency
182
- name: rubocop
203
+ name: rubocop-rake
183
204
  requirement: !ruby/object:Gem::Requirement
184
205
  requirements:
185
- - - '='
206
+ - - "~>"
186
207
  - !ruby/object:Gem::Version
187
- version: 0.49.1
208
+ version: 0.6.0
188
209
  type: :development
189
210
  prerelease: false
190
211
  version_requirements: !ruby/object:Gem::Requirement
191
212
  requirements:
192
- - - '='
213
+ - - "~>"
193
214
  - !ruby/object:Gem::Version
194
- version: 0.49.1
215
+ version: 0.6.0
195
216
  - !ruby/object:Gem::Dependency
196
217
  name: simplecov
197
218
  requirement: !ruby/object:Gem::Requirement
198
219
  requirements:
199
220
  - - "~>"
200
221
  - !ruby/object:Gem::Version
201
- version: 0.16.0
222
+ version: 0.21.0
223
+ type: :development
224
+ prerelease: false
225
+ version_requirements: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: 0.21.0
230
+ - !ruby/object:Gem::Dependency
231
+ name: yard
232
+ requirement: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: 0.9.9
202
237
  type: :development
203
238
  prerelease: false
204
239
  version_requirements: !ruby/object:Gem::Requirement
205
240
  requirements:
206
241
  - - "~>"
207
242
  - !ruby/object:Gem::Version
208
- version: 0.16.0
209
- description: A Ruby implementation of the Discord (https://discordapp.com) API.
243
+ version: 0.9.9
244
+ description: A Ruby implementation of the Discord (https://discord.com) API.
210
245
  email:
211
246
  - ''
212
247
  executables: []
213
248
  extensions: []
214
249
  extra_rdoc_files: []
215
250
  files:
216
- - ".codeclimate.yml"
251
+ - ".circleci/config.yml"
252
+ - ".github/CONTRIBUTING.md"
253
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
254
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
255
+ - ".github/pull_request_template.md"
256
+ - ".github/workflows/codeql.yml"
217
257
  - ".gitignore"
258
+ - ".markdownlint.json"
218
259
  - ".overcommit.yml"
219
260
  - ".rspec"
220
261
  - ".rubocop.yml"
221
- - ".travis.yml"
222
262
  - ".yardopts"
223
263
  - CHANGELOG.md
224
- - CONTRIBUTING.md
225
264
  - Gemfile
226
265
  - LICENSE.txt
227
266
  - README.md
228
267
  - Rakefile
229
268
  - bin/console
230
269
  - bin/setup
231
- - bin/travis_build_docs.sh
232
270
  - discordrb-webhooks.gemspec
233
271
  - discordrb.gemspec
234
272
  - lib/discordrb.rb
273
+ - lib/discordrb/allowed_mentions.rb
235
274
  - lib/discordrb/api.rb
275
+ - lib/discordrb/api/application.rb
236
276
  - lib/discordrb/api/channel.rb
277
+ - lib/discordrb/api/interaction.rb
237
278
  - lib/discordrb/api/invite.rb
238
279
  - lib/discordrb/api/server.rb
239
280
  - lib/discordrb/api/user.rb
@@ -241,6 +282,7 @@ files:
241
282
  - lib/discordrb/await.rb
242
283
  - lib/discordrb/bot.rb
243
284
  - lib/discordrb/cache.rb
285
+ - lib/discordrb/colour_rgb.rb
244
286
  - lib/discordrb/commands/command_bot.rb
245
287
  - lib/discordrb/commands/container.rb
246
288
  - lib/discordrb/commands/events.rb
@@ -248,12 +290,37 @@ files:
248
290
  - lib/discordrb/commands/rate_limiter.rb
249
291
  - lib/discordrb/container.rb
250
292
  - lib/discordrb/data.rb
293
+ - lib/discordrb/data/activity.rb
294
+ - lib/discordrb/data/application.rb
295
+ - lib/discordrb/data/attachment.rb
296
+ - lib/discordrb/data/audit_logs.rb
297
+ - lib/discordrb/data/channel.rb
298
+ - lib/discordrb/data/component.rb
299
+ - lib/discordrb/data/embed.rb
300
+ - lib/discordrb/data/emoji.rb
301
+ - lib/discordrb/data/integration.rb
302
+ - lib/discordrb/data/interaction.rb
303
+ - lib/discordrb/data/invite.rb
304
+ - lib/discordrb/data/member.rb
305
+ - lib/discordrb/data/message.rb
306
+ - lib/discordrb/data/overwrite.rb
307
+ - lib/discordrb/data/profile.rb
308
+ - lib/discordrb/data/reaction.rb
309
+ - lib/discordrb/data/recipient.rb
310
+ - lib/discordrb/data/role.rb
311
+ - lib/discordrb/data/server.rb
312
+ - lib/discordrb/data/user.rb
313
+ - lib/discordrb/data/voice_region.rb
314
+ - lib/discordrb/data/voice_state.rb
315
+ - lib/discordrb/data/webhook.rb
251
316
  - lib/discordrb/errors.rb
252
317
  - lib/discordrb/events/await.rb
253
318
  - lib/discordrb/events/bans.rb
254
319
  - lib/discordrb/events/channels.rb
255
320
  - lib/discordrb/events/generic.rb
256
321
  - lib/discordrb/events/guilds.rb
322
+ - lib/discordrb/events/interactions.rb
323
+ - lib/discordrb/events/invites.rb
257
324
  - lib/discordrb/events/lifetime.rb
258
325
  - lib/discordrb/events/members.rb
259
326
  - lib/discordrb/events/message.rb
@@ -261,28 +328,34 @@ files:
261
328
  - lib/discordrb/events/raw.rb
262
329
  - lib/discordrb/events/reactions.rb
263
330
  - lib/discordrb/events/roles.rb
331
+ - lib/discordrb/events/threads.rb
264
332
  - lib/discordrb/events/typing.rb
333
+ - lib/discordrb/events/voice_server_update.rb
265
334
  - lib/discordrb/events/voice_state_update.rb
266
335
  - lib/discordrb/events/webhooks.rb
267
336
  - lib/discordrb/gateway.rb
337
+ - lib/discordrb/id_object.rb
268
338
  - lib/discordrb/light.rb
269
339
  - lib/discordrb/light/data.rb
270
340
  - lib/discordrb/light/integrations.rb
271
341
  - lib/discordrb/light/light_bot.rb
272
342
  - lib/discordrb/logger.rb
343
+ - lib/discordrb/paginator.rb
273
344
  - lib/discordrb/permissions.rb
274
345
  - lib/discordrb/version.rb
275
346
  - lib/discordrb/voice/encoder.rb
276
347
  - lib/discordrb/voice/network.rb
348
+ - lib/discordrb/voice/sodium.rb
277
349
  - lib/discordrb/voice/voice_bot.rb
278
350
  - lib/discordrb/webhooks.rb
279
351
  - lib/discordrb/websocket.rb
280
- homepage: https://github.com/meew0/discordrb
352
+ homepage: https://github.com/shardlab/discordrb
281
353
  licenses:
282
354
  - MIT
283
355
  metadata:
284
- changelog_uri: https://github.com/meew0/discordrb/blob/master/CHANGELOG.md
285
- post_install_message:
356
+ changelog_uri: https://github.com/shardlab/discordrb/blob/main/CHANGELOG.md
357
+ rubygems_mfa_required: 'true'
358
+ post_install_message:
286
359
  rdoc_options: []
287
360
  require_paths:
288
361
  - lib
@@ -290,16 +363,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
290
363
  requirements:
291
364
  - - ">="
292
365
  - !ruby/object:Gem::Version
293
- version: 2.2.4
366
+ version: '2.7'
294
367
  required_rubygems_version: !ruby/object:Gem::Requirement
295
368
  requirements:
296
369
  - - ">="
297
370
  - !ruby/object:Gem::Version
298
371
  version: '0'
299
372
  requirements: []
300
- rubyforge_project:
301
- rubygems_version: 2.7.7
302
- signing_key:
373
+ rubygems_version: 3.3.3
374
+ signing_key:
303
375
  specification_version: 4
304
376
  summary: Discord API for Ruby
305
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,33 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.2.10
4
- - 2.3.7
5
- - 2.4.4
6
- - 2.5.1
7
- before_script:
8
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 -o ./cc-test-reporter
9
- - chmod +x ./cc-test-reporter
10
- - ./cc-test-reporter before-build
11
- script:
12
- - bundle exec rspec spec
13
- - bundle exec rubocop -c .rubocop.yml
14
- - bin/travis_build_docs.sh
15
- after_script:
16
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
17
- deploy:
18
- - provider: pages
19
- skip-cleanup: true
20
- github-token: $GITHUB_TOKEN
21
- keep-history: true
22
- local-dir: docs
23
- on:
24
- branch: master
25
- rvm: 2.5.1
26
- - provider: pages
27
- skip-cleanup: true
28
- github-token: $GITHUB_TOKEN
29
- keep-history: true
30
- local-dir: docs
31
- on:
32
- tags: true
33
- rvm: 2.5.1
@@ -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/
File without changes