discordrb 3.1.1 → 3.4.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.

Potentially problematic release.


This version of discordrb might be problematic. Click here for more details.

Files changed (91) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +126 -0
  3. data/.codeclimate.yml +16 -0
  4. data/.github/CONTRIBUTING.md +13 -0
  5. data/.github/ISSUE_TEMPLATE/bug_report.md +39 -0
  6. data/.github/ISSUE_TEMPLATE/feature_request.md +25 -0
  7. data/.github/pull_request_template.md +37 -0
  8. data/.gitignore +5 -0
  9. data/.rubocop.yml +39 -33
  10. data/.travis.yml +27 -2
  11. data/.yardopts +1 -1
  12. data/CHANGELOG.md +808 -208
  13. data/Gemfile +4 -1
  14. data/LICENSE.txt +1 -1
  15. data/README.md +108 -53
  16. data/Rakefile +14 -1
  17. data/bin/console +1 -0
  18. data/bin/travis_build_docs.sh +17 -0
  19. data/discordrb-webhooks.gemspec +26 -0
  20. data/discordrb.gemspec +24 -15
  21. data/lib/discordrb.rb +75 -2
  22. data/lib/discordrb/allowed_mentions.rb +36 -0
  23. data/lib/discordrb/api.rb +126 -27
  24. data/lib/discordrb/api/channel.rb +165 -43
  25. data/lib/discordrb/api/invite.rb +10 -7
  26. data/lib/discordrb/api/server.rb +240 -61
  27. data/lib/discordrb/api/user.rb +26 -24
  28. data/lib/discordrb/api/webhook.rb +83 -0
  29. data/lib/discordrb/await.rb +1 -2
  30. data/lib/discordrb/bot.rb +417 -149
  31. data/lib/discordrb/cache.rb +42 -10
  32. data/lib/discordrb/colour_rgb.rb +43 -0
  33. data/lib/discordrb/commands/command_bot.rb +186 -31
  34. data/lib/discordrb/commands/container.rb +30 -16
  35. data/lib/discordrb/commands/parser.rb +102 -47
  36. data/lib/discordrb/commands/rate_limiter.rb +18 -17
  37. data/lib/discordrb/container.rb +245 -41
  38. data/lib/discordrb/data.rb +27 -2511
  39. data/lib/discordrb/data/activity.rb +264 -0
  40. data/lib/discordrb/data/application.rb +50 -0
  41. data/lib/discordrb/data/attachment.rb +56 -0
  42. data/lib/discordrb/data/audit_logs.rb +345 -0
  43. data/lib/discordrb/data/channel.rb +849 -0
  44. data/lib/discordrb/data/embed.rb +251 -0
  45. data/lib/discordrb/data/emoji.rb +82 -0
  46. data/lib/discordrb/data/integration.rb +83 -0
  47. data/lib/discordrb/data/invite.rb +137 -0
  48. data/lib/discordrb/data/member.rb +297 -0
  49. data/lib/discordrb/data/message.rb +334 -0
  50. data/lib/discordrb/data/overwrite.rb +102 -0
  51. data/lib/discordrb/data/profile.rb +91 -0
  52. data/lib/discordrb/data/reaction.rb +33 -0
  53. data/lib/discordrb/data/recipient.rb +34 -0
  54. data/lib/discordrb/data/role.rb +191 -0
  55. data/lib/discordrb/data/server.rb +1002 -0
  56. data/lib/discordrb/data/user.rb +204 -0
  57. data/lib/discordrb/data/voice_region.rb +45 -0
  58. data/lib/discordrb/data/voice_state.rb +41 -0
  59. data/lib/discordrb/data/webhook.rb +145 -0
  60. data/lib/discordrb/errors.rb +36 -2
  61. data/lib/discordrb/events/bans.rb +7 -5
  62. data/lib/discordrb/events/channels.rb +2 -0
  63. data/lib/discordrb/events/generic.rb +19 -3
  64. data/lib/discordrb/events/guilds.rb +129 -6
  65. data/lib/discordrb/events/invites.rb +125 -0
  66. data/lib/discordrb/events/members.rb +6 -2
  67. data/lib/discordrb/events/message.rb +86 -36
  68. data/lib/discordrb/events/presence.rb +23 -16
  69. data/lib/discordrb/events/raw.rb +47 -0
  70. data/lib/discordrb/events/reactions.rb +159 -0
  71. data/lib/discordrb/events/roles.rb +7 -6
  72. data/lib/discordrb/events/typing.rb +9 -5
  73. data/lib/discordrb/events/voice_server_update.rb +47 -0
  74. data/lib/discordrb/events/voice_state_update.rb +29 -9
  75. data/lib/discordrb/events/webhooks.rb +64 -0
  76. data/lib/discordrb/gateway.rb +219 -88
  77. data/lib/discordrb/id_object.rb +39 -0
  78. data/lib/discordrb/light.rb +1 -1
  79. data/lib/discordrb/light/integrations.rb +1 -1
  80. data/lib/discordrb/light/light_bot.rb +1 -1
  81. data/lib/discordrb/logger.rb +12 -11
  82. data/lib/discordrb/paginator.rb +57 -0
  83. data/lib/discordrb/permissions.rb +148 -14
  84. data/lib/discordrb/version.rb +1 -1
  85. data/lib/discordrb/voice/encoder.rb +14 -15
  86. data/lib/discordrb/voice/network.rb +86 -45
  87. data/lib/discordrb/voice/sodium.rb +96 -0
  88. data/lib/discordrb/voice/voice_bot.rb +52 -40
  89. data/lib/discordrb/webhooks.rb +12 -0
  90. data/lib/discordrb/websocket.rb +2 -2
  91. metadata +137 -34
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'discordrb/webhooks/version'
4
+ require 'discordrb/webhooks/embeds'
5
+ require 'discordrb/webhooks/client'
6
+ require 'discordrb/webhooks/builder'
7
+
8
+ module Discordrb
9
+ # Webhook client
10
+ module Webhooks
11
+ end
12
+ end
@@ -2,8 +2,6 @@
2
2
 
3
3
  require 'websocket-client-simple'
4
4
 
5
- puts "Using WSCS version: #{WebSocket::Client::Simple::VERSION}"
6
-
7
5
  # The WSCS module which we're hooking
8
6
  # @see Websocket::Client::Simple::Client
9
7
  module WebSocket::Client::Simple
@@ -31,6 +29,8 @@ module Discordrb
31
29
  # @param error_handler [#call] The handler that should be called when an error occurs in another handler. The error
32
30
  # will be passed as the first parameter to the handler.
33
31
  def initialize(endpoint, open_handler, message_handler, close_handler, error_handler)
32
+ Discordrb::LOGGER.debug "Using WSCS version: #{::WebSocket::Client::Simple::VERSION}"
33
+
34
34
  @open_handler = open_handler
35
35
  @message_handler = message_handler
36
36
  @close_handler = close_handler
metadata CHANGED
@@ -1,31 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: discordrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.1
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - meew0
8
+ - swarley
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2016-10-21 00:00:00.000000000 Z
12
+ date: 2020-12-06 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: '0'
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: '0'
27
+ version: 1.9.24
27
28
  - !ruby/object:Gem::Dependency
28
- name: activesupport
29
+ name: opus-ruby
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
32
  - - ">="
@@ -39,19 +40,19 @@ dependencies:
39
40
  - !ruby/object:Gem::Version
40
41
  version: '0'
41
42
  - !ruby/object:Gem::Dependency
42
- name: opus-ruby
43
+ name: rest-client
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
46
  - - ">="
46
47
  - !ruby/object:Gem::Version
47
- version: '0'
48
+ version: 2.0.0
48
49
  type: :runtime
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
53
  - - ">="
53
54
  - !ruby/object:Gem::Version
54
- version: '0'
55
+ version: 2.0.0
55
56
  - !ruby/object:Gem::Dependency
56
57
  name: websocket-client-simple
57
58
  requirement: !ruby/object:Gem::Requirement
@@ -67,96 +68,164 @@ dependencies:
67
68
  - !ruby/object:Gem::Version
68
69
  version: 0.3.0
69
70
  - !ruby/object:Gem::Dependency
70
- name: rbnacl
71
+ name: discordrb-webhooks
71
72
  requirement: !ruby/object:Gem::Requirement
72
73
  requirements:
73
- - - ">="
74
+ - - "~>"
74
75
  - !ruby/object:Gem::Version
75
- version: '0'
76
+ version: 3.3.0
76
77
  type: :runtime
77
78
  prerelease: false
78
79
  version_requirements: !ruby/object:Gem::Requirement
79
80
  requirements:
80
- - - ">="
81
+ - - "~>"
81
82
  - !ruby/object:Gem::Version
82
- version: '0'
83
+ version: 3.3.0
83
84
  - !ruby/object:Gem::Dependency
84
85
  name: bundler
85
86
  requirement: !ruby/object:Gem::Requirement
86
87
  requirements:
87
- - - "~>"
88
+ - - ">="
88
89
  - !ruby/object:Gem::Version
89
90
  version: '1.10'
91
+ - - "<"
92
+ - !ruby/object:Gem::Version
93
+ version: '3'
90
94
  type: :development
91
95
  prerelease: false
92
96
  version_requirements: !ruby/object:Gem::Requirement
93
97
  requirements:
94
- - - "~>"
98
+ - - ">="
95
99
  - !ruby/object:Gem::Version
96
100
  version: '1.10'
101
+ - - "<"
102
+ - !ruby/object:Gem::Version
103
+ version: '3'
97
104
  - !ruby/object:Gem::Dependency
98
105
  name: rake
99
106
  requirement: !ruby/object:Gem::Requirement
100
107
  requirements:
101
108
  - - "~>"
102
109
  - !ruby/object:Gem::Version
103
- version: '10.0'
110
+ version: '13.0'
104
111
  type: :development
105
112
  prerelease: false
106
113
  version_requirements: !ruby/object:Gem::Requirement
107
114
  requirements:
108
115
  - - "~>"
109
116
  - !ruby/object:Gem::Version
110
- version: '10.0'
117
+ version: '13.0'
111
118
  - !ruby/object:Gem::Dependency
112
- name: yard
119
+ name: redcarpet
113
120
  requirement: !ruby/object:Gem::Requirement
114
121
  requirements:
115
122
  - - "~>"
116
123
  - !ruby/object:Gem::Version
117
- version: 0.8.7.6
124
+ version: 3.5.0
118
125
  type: :development
119
126
  prerelease: false
120
127
  version_requirements: !ruby/object:Gem::Requirement
121
128
  requirements:
122
129
  - - "~>"
123
130
  - !ruby/object:Gem::Version
124
- version: 0.8.7.6
131
+ version: 3.5.0
125
132
  - !ruby/object:Gem::Dependency
126
133
  name: rspec
127
134
  requirement: !ruby/object:Gem::Requirement
128
135
  requirements:
129
136
  - - "~>"
130
137
  - !ruby/object:Gem::Version
131
- version: 3.4.0
138
+ version: 3.10.0
132
139
  type: :development
133
140
  prerelease: false
134
141
  version_requirements: !ruby/object:Gem::Requirement
135
142
  requirements:
136
143
  - - "~>"
137
144
  - !ruby/object:Gem::Version
138
- version: 3.4.0
145
+ version: 3.10.0
146
+ - !ruby/object:Gem::Dependency
147
+ name: rspec-prof
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.0.7
153
+ type: :development
154
+ prerelease: false
155
+ version_requirements: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.0.7
139
160
  - !ruby/object:Gem::Dependency
140
161
  name: rubocop
141
162
  requirement: !ruby/object:Gem::Requirement
142
163
  requirements:
143
- - - '='
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 1.4.0
167
+ type: :development
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 1.4.0
174
+ - !ruby/object:Gem::Dependency
175
+ name: rubocop-performance
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '1.0'
181
+ type: :development
182
+ prerelease: false
183
+ version_requirements: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '1.0'
188
+ - !ruby/object:Gem::Dependency
189
+ name: simplecov
190
+ requirement: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
144
193
  - !ruby/object:Gem::Version
145
- version: 0.42.0
194
+ version: 0.19.0
146
195
  type: :development
147
196
  prerelease: false
148
197
  version_requirements: !ruby/object:Gem::Requirement
149
198
  requirements:
150
- - - '='
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 0.19.0
202
+ - !ruby/object:Gem::Dependency
203
+ name: yard
204
+ requirement: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 0.9.9
209
+ type: :development
210
+ prerelease: false
211
+ version_requirements: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
151
214
  - !ruby/object:Gem::Version
152
- version: 0.42.0
153
- description: A Ruby implementation of the Discord (https://discordapp.com) API.
215
+ version: 0.9.9
216
+ description: A Ruby implementation of the Discord (https://discord.com) API.
154
217
  email:
155
218
  - ''
156
219
  executables: []
157
220
  extensions: []
158
221
  extra_rdoc_files: []
159
222
  files:
223
+ - ".circleci/config.yml"
224
+ - ".codeclimate.yml"
225
+ - ".github/CONTRIBUTING.md"
226
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
227
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
228
+ - ".github/pull_request_template.md"
160
229
  - ".gitignore"
161
230
  - ".overcommit.yml"
162
231
  - ".rspec"
@@ -170,16 +239,21 @@ files:
170
239
  - Rakefile
171
240
  - bin/console
172
241
  - bin/setup
242
+ - bin/travis_build_docs.sh
243
+ - discordrb-webhooks.gemspec
173
244
  - discordrb.gemspec
174
245
  - lib/discordrb.rb
246
+ - lib/discordrb/allowed_mentions.rb
175
247
  - lib/discordrb/api.rb
176
248
  - lib/discordrb/api/channel.rb
177
249
  - lib/discordrb/api/invite.rb
178
250
  - lib/discordrb/api/server.rb
179
251
  - lib/discordrb/api/user.rb
252
+ - lib/discordrb/api/webhook.rb
180
253
  - lib/discordrb/await.rb
181
254
  - lib/discordrb/bot.rb
182
255
  - lib/discordrb/cache.rb
256
+ - lib/discordrb/colour_rgb.rb
183
257
  - lib/discordrb/commands/command_bot.rb
184
258
  - lib/discordrb/commands/container.rb
185
259
  - lib/discordrb/commands/events.rb
@@ -187,35 +261,66 @@ files:
187
261
  - lib/discordrb/commands/rate_limiter.rb
188
262
  - lib/discordrb/container.rb
189
263
  - lib/discordrb/data.rb
264
+ - lib/discordrb/data/activity.rb
265
+ - lib/discordrb/data/application.rb
266
+ - lib/discordrb/data/attachment.rb
267
+ - lib/discordrb/data/audit_logs.rb
268
+ - lib/discordrb/data/channel.rb
269
+ - lib/discordrb/data/embed.rb
270
+ - lib/discordrb/data/emoji.rb
271
+ - lib/discordrb/data/integration.rb
272
+ - lib/discordrb/data/invite.rb
273
+ - lib/discordrb/data/member.rb
274
+ - lib/discordrb/data/message.rb
275
+ - lib/discordrb/data/overwrite.rb
276
+ - lib/discordrb/data/profile.rb
277
+ - lib/discordrb/data/reaction.rb
278
+ - lib/discordrb/data/recipient.rb
279
+ - lib/discordrb/data/role.rb
280
+ - lib/discordrb/data/server.rb
281
+ - lib/discordrb/data/user.rb
282
+ - lib/discordrb/data/voice_region.rb
283
+ - lib/discordrb/data/voice_state.rb
284
+ - lib/discordrb/data/webhook.rb
190
285
  - lib/discordrb/errors.rb
191
286
  - lib/discordrb/events/await.rb
192
287
  - lib/discordrb/events/bans.rb
193
288
  - lib/discordrb/events/channels.rb
194
289
  - lib/discordrb/events/generic.rb
195
290
  - lib/discordrb/events/guilds.rb
291
+ - lib/discordrb/events/invites.rb
196
292
  - lib/discordrb/events/lifetime.rb
197
293
  - lib/discordrb/events/members.rb
198
294
  - lib/discordrb/events/message.rb
199
295
  - lib/discordrb/events/presence.rb
296
+ - lib/discordrb/events/raw.rb
297
+ - lib/discordrb/events/reactions.rb
200
298
  - lib/discordrb/events/roles.rb
201
299
  - lib/discordrb/events/typing.rb
300
+ - lib/discordrb/events/voice_server_update.rb
202
301
  - lib/discordrb/events/voice_state_update.rb
302
+ - lib/discordrb/events/webhooks.rb
203
303
  - lib/discordrb/gateway.rb
304
+ - lib/discordrb/id_object.rb
204
305
  - lib/discordrb/light.rb
205
306
  - lib/discordrb/light/data.rb
206
307
  - lib/discordrb/light/integrations.rb
207
308
  - lib/discordrb/light/light_bot.rb
208
309
  - lib/discordrb/logger.rb
310
+ - lib/discordrb/paginator.rb
209
311
  - lib/discordrb/permissions.rb
210
312
  - lib/discordrb/version.rb
211
313
  - lib/discordrb/voice/encoder.rb
212
314
  - lib/discordrb/voice/network.rb
315
+ - lib/discordrb/voice/sodium.rb
213
316
  - lib/discordrb/voice/voice_bot.rb
317
+ - lib/discordrb/webhooks.rb
214
318
  - lib/discordrb/websocket.rb
215
- homepage: https://github.com/meew0/discordrb
319
+ homepage: https://github.com/shardlab/discordrb
216
320
  licenses:
217
321
  - MIT
218
- metadata: {}
322
+ metadata:
323
+ changelog_uri: https://github.com/shardlab/discordrb/blob/master/CHANGELOG.md
219
324
  post_install_message:
220
325
  rdoc_options: []
221
326
  require_paths:
@@ -224,17 +329,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
224
329
  requirements:
225
330
  - - ">="
226
331
  - !ruby/object:Gem::Version
227
- version: 2.1.0
332
+ version: '2.5'
228
333
  required_rubygems_version: !ruby/object:Gem::Requirement
229
334
  requirements:
230
335
  - - ">="
231
336
  - !ruby/object:Gem::Version
232
337
  version: '0'
233
338
  requirements: []
234
- rubyforge_project:
235
- rubygems_version: 2.5.1
339
+ rubygems_version: 3.1.4
236
340
  signing_key:
237
341
  specification_version: 4
238
342
  summary: Discord API for Ruby
239
343
  test_files: []
240
- has_rdoc: