mij-discord 1.0.5 → 1.0.6
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.
- checksums.yaml +4 -4
- data/lib/mij-discord/bot.rb +25 -22
- data/lib/mij-discord/cache.rb +6 -6
- data/lib/mij-discord/core/api.rb +19 -28
- data/lib/mij-discord/core/api/channel.rb +60 -60
- data/lib/mij-discord/core/api/invite.rb +6 -6
- data/lib/mij-discord/core/api/server.rb +81 -68
- data/lib/mij-discord/core/api/user.rb +21 -22
- data/lib/mij-discord/core/gateway.rb +5 -5
- data/lib/mij-discord/data/application.rb +0 -4
- data/lib/mij-discord/data/channel.rb +17 -21
- data/lib/mij-discord/data/emoji.rb +0 -4
- data/lib/mij-discord/data/invite.rb +1 -5
- data/lib/mij-discord/data/member.rb +5 -13
- data/lib/mij-discord/data/message.rb +9 -13
- data/lib/mij-discord/data/role.rb +2 -8
- data/lib/mij-discord/data/server.rb +67 -16
- data/lib/mij-discord/data/user.rb +2 -6
- data/lib/mij-discord/version.rb +1 -1
- metadata +2 -2
@@ -85,19 +85,13 @@ module MijDiscord::Data
|
|
85
85
|
alias_method :color=, :set_color
|
86
86
|
|
87
87
|
def delete(reason = nil)
|
88
|
-
MijDiscord::Core::API::Server.delete_role(@bot.
|
88
|
+
MijDiscord::Core::API::Server.delete_role(@bot.auth, @server.id, @id, reason)
|
89
89
|
end
|
90
90
|
|
91
91
|
def set_options(name: nil, color: nil, hoist: nil, mentionable: nil, permissions: nil)
|
92
|
-
response = MijDiscord::Core::API::Server.update_role(@bot.
|
92
|
+
response = MijDiscord::Core::API::Server.update_role(@bot.auth, @server.id, @id,
|
93
93
|
name, color&.to_i, hoist, mentionable, permissions&.to_i)
|
94
94
|
@server.cache.put_role(JSON.parse(response), update: true)
|
95
95
|
end
|
96
|
-
|
97
|
-
def inspect
|
98
|
-
%(<Role id=#{@id} name=#{@name} server=#{@server.inspect}>)
|
99
|
-
end
|
100
|
-
|
101
|
-
private
|
102
96
|
end
|
103
97
|
end
|
@@ -217,21 +217,21 @@ module MijDiscord::Data
|
|
217
217
|
end
|
218
218
|
|
219
219
|
def invites
|
220
|
-
response = MijDiscord::Core::API::Server.invites(@bot.
|
220
|
+
response = MijDiscord::Core::API::Server.invites(@bot.auth, @id)
|
221
221
|
JSON.parse(response).map {|x| Invite.new(x, @bot) }
|
222
222
|
end
|
223
223
|
|
224
224
|
def prune_count(days)
|
225
225
|
raise ArgumentError, 'Days must be between 1 and 30' unless days.between?(1, 30)
|
226
226
|
|
227
|
-
response = MijDiscord::Core::API::Server.prune_count(@bot.
|
227
|
+
response = MijDiscord::Core::API::Server.prune_count(@bot.auth, @id, days)
|
228
228
|
JSON.parse(response)['pruned']
|
229
229
|
end
|
230
230
|
|
231
231
|
def prune(days, reason = nil)
|
232
232
|
raise ArgumentError, 'Days must be between 1 and 30' unless days.between?(1, 30)
|
233
233
|
|
234
|
-
response = MijDiscord::Core::API::Server.begin_prune(@bot.
|
234
|
+
response = MijDiscord::Core::API::Server.begin_prune(@bot.auth, @id, days, reason)
|
235
235
|
JSON.parse(response)['pruned']
|
236
236
|
end
|
237
237
|
|
@@ -247,55 +247,55 @@ module MijDiscord::Data
|
|
247
247
|
raise ArgumentError, 'Invalid channel type specified' unless CHANNEL_TYPES.has_key?(type)
|
248
248
|
|
249
249
|
permissions = permissions.map {|x| x.is_a(Overwrite) ? x.to_hash : x }
|
250
|
-
response = MijDiscord::Core::API::Server.create_channel(@bot.
|
250
|
+
response = MijDiscord::Core::API::Server.create_channel(@bot.auth, @id,
|
251
251
|
name, CHANNEL_TYPES[type], bitrate, user_limit, permissions, nsfw, reason)
|
252
252
|
@cache.put_channel(JSON.parse(response))
|
253
253
|
end
|
254
254
|
|
255
255
|
def create_role(name, reason = nil, color: 0, hoist: false, mentionable: false, permissions: 104_324_161)
|
256
|
-
response = MijDiscord::Core::API::Server.create_role(@bot.
|
256
|
+
response = MijDiscord::Core::API::Server.create_role(@bot.auth, @id,
|
257
257
|
name, color.to_i, hoist, mentionable, permissions.to_i, reason)
|
258
258
|
@cache.put_role(JSON.parse(response))
|
259
259
|
end
|
260
260
|
|
261
261
|
def bans
|
262
|
-
response = MijDiscord::Core::API::Server.bans(@bot.
|
262
|
+
response = MijDiscord::Core::API::Server.bans(@bot.auth, @id)
|
263
263
|
JSON.parse(response).map {|x| @bot.cache.put_user(x['user']) }
|
264
264
|
end
|
265
265
|
|
266
266
|
def ban(user, message_days = 0, reason = nil)
|
267
|
-
MijDiscord::Core::API::Server.ban_user(@bot.
|
267
|
+
MijDiscord::Core::API::Server.ban_user(@bot.auth, @id, user.to_id, message_days, reason)
|
268
268
|
nil
|
269
269
|
end
|
270
270
|
|
271
271
|
def unban(user, reason = nil)
|
272
|
-
MijDiscord::Core::API::Server.unban_user(@bot.
|
272
|
+
MijDiscord::Core::API::Server.unban_user(@bot.auth, @id, user.to_id, reason)
|
273
273
|
nil
|
274
274
|
end
|
275
275
|
|
276
276
|
def kick(user, reason = nil)
|
277
|
-
MijDiscord::Core::API::Server.remove_member(@bot.
|
277
|
+
MijDiscord::Core::API::Server.remove_member(@bot.auth, @id, user.to_id, reason)
|
278
278
|
nil
|
279
279
|
end
|
280
280
|
|
281
281
|
def leave
|
282
|
-
MijDiscord::Core::API::User.leave_server(@bot.
|
282
|
+
MijDiscord::Core::API::User.leave_server(@bot.auth, @id)
|
283
283
|
nil
|
284
284
|
end
|
285
285
|
|
286
286
|
def delete
|
287
|
-
MijDiscord::Core::API::Server.delete(@bot.
|
287
|
+
MijDiscord::Core::API::Server.delete(@bot.auth, @id)
|
288
288
|
nil
|
289
289
|
end
|
290
290
|
|
291
291
|
def set_owner(user, reason = nil)
|
292
|
-
MijDiscord::Core::API::Server.transfer_ownership(@bot.
|
292
|
+
MijDiscord::Core::API::Server.transfer_ownership(@bot.auth, @id, user.to_id, reason)
|
293
293
|
end
|
294
294
|
|
295
295
|
alias_method :owner=, :set_owner
|
296
296
|
|
297
297
|
def set_options(reason = nil, name: nil, region: nil, icon: nil, afk_channel: nil, afk_timeout: nil)
|
298
|
-
response = MijDiscord::Core::API::Server.update(@bot.
|
298
|
+
response = MijDiscord::Core::API::Server.update(@bot.auth, @id,
|
299
299
|
name, region, icon, afk_channel&.to_id, afk_timeout, reason)
|
300
300
|
@bot.cache.put_server(JSON.parse(response), update: true)
|
301
301
|
end
|
@@ -310,7 +310,7 @@ module MijDiscord::Data
|
|
310
310
|
def available_regions
|
311
311
|
return @voice_regions if @voice_regions
|
312
312
|
|
313
|
-
response = MijDiscord::Core::API::Server.regions(@bot.
|
313
|
+
response = MijDiscord::Core::API::Server.regions(@bot.auth, @id)
|
314
314
|
@voice_regions = JSON.parse(response).map {|x| VoiceRegion.new(x) }
|
315
315
|
end
|
316
316
|
|
@@ -365,8 +365,59 @@ module MijDiscord::Data
|
|
365
365
|
MijDiscord::Core::API.widget_url(@id, style)
|
366
366
|
end
|
367
367
|
|
368
|
-
def
|
369
|
-
|
368
|
+
def search_messages(limit: 25, offset: 0, sort_by: nil, sort_asc: false,
|
369
|
+
nsfw: true, around: 2, content: nil, author: nil, channel: nil, mentions: nil,
|
370
|
+
author_is: nil, author_not: nil, has: nil, has_not: nil, before: nil, after: nil)
|
371
|
+
author = author ? [*author].map(&:to_id) : nil
|
372
|
+
channel = channel ? [*channel].map(&:to_id) : nil
|
373
|
+
mentions = mentions ? [*mentions].map(&:to_id) : nil
|
374
|
+
|
375
|
+
has_not = has_not ? [*has_not].map {|x| "-#{x}" } : []
|
376
|
+
author_not = author_not ? [*author_not].map {|x| "-#{x}" } : []
|
377
|
+
|
378
|
+
has = has_not | (has ? [*has].map(&:to_s) : [])
|
379
|
+
author_is = author_not | (author_is ? [*author_is].map(&:to_s) : [])
|
380
|
+
|
381
|
+
before = before ? IDObject.synthesize(before) : nil
|
382
|
+
after = after ? IDObject.synthesize(after) : nil
|
383
|
+
|
384
|
+
options = {
|
385
|
+
limit: limit,
|
386
|
+
offset: offset,
|
387
|
+
sort_by: sort_by,
|
388
|
+
sort_order: sort_asc ? 'asc' : 'desc',
|
389
|
+
context_size: around,
|
390
|
+
include_nsfw: nsfw,
|
391
|
+
author_id: author,
|
392
|
+
author_type: author_is,
|
393
|
+
channel_id: channel,
|
394
|
+
mentions: mentions,
|
395
|
+
max_id: before,
|
396
|
+
min_id: after,
|
397
|
+
content: content,
|
398
|
+
has: has,
|
399
|
+
}.delete_if {|_,v| v.nil? }
|
400
|
+
|
401
|
+
response = MijDiscord::Core::API::Server.search_messages(@bot.auth, @id, options)
|
402
|
+
SearchResults.new(JSON.parse(response), @bot)
|
403
|
+
end
|
404
|
+
end
|
405
|
+
|
406
|
+
class SearchResults
|
407
|
+
ResultData = Struct.new(:result, :context)
|
408
|
+
|
409
|
+
attr_reader :total_count
|
410
|
+
|
411
|
+
attr_reader :messages
|
412
|
+
|
413
|
+
def initialize(data, bot)
|
414
|
+
@total_count = data['total_results']
|
415
|
+
|
416
|
+
@messages = data['messages'].map do |group|
|
417
|
+
context = group.map {|x| Message.new(x, bot) }
|
418
|
+
result = context.delete_at(context.length / 2)
|
419
|
+
ResultData.new(result, context)
|
420
|
+
end
|
370
421
|
end
|
371
422
|
end
|
372
423
|
end
|
@@ -126,10 +126,6 @@ module MijDiscord::Data
|
|
126
126
|
return MijDiscord::Core::API::User.default_avatar(@discriminator) unless @avatar_id
|
127
127
|
MijDiscord::Core::API::User.avatar_url(@id, @avatar_id, format)
|
128
128
|
end
|
129
|
-
|
130
|
-
def inspect
|
131
|
-
%(<User id=#{@id} name="#{@username}" tag=#{@discriminator}>)
|
132
|
-
end
|
133
129
|
end
|
134
130
|
|
135
131
|
class Profile < User
|
@@ -143,7 +139,7 @@ module MijDiscord::Data
|
|
143
139
|
end
|
144
140
|
|
145
141
|
def set_username(name)
|
146
|
-
response = MijDiscord::Core::API::User.update_profile(@bot.
|
142
|
+
response = MijDiscord::Core::API::User.update_profile(@bot.auth, name, nil)
|
147
143
|
update_data(JSON.parse(response))
|
148
144
|
nil
|
149
145
|
end
|
@@ -163,7 +159,7 @@ module MijDiscord::Data
|
|
163
159
|
raise ArgumentError, 'Invalid avatar data provided'
|
164
160
|
end
|
165
161
|
|
166
|
-
response = MijDiscord::Core::API::User.update_profile(@bot.
|
162
|
+
response = MijDiscord::Core::API::User.update_profile(@bot.auth, @username, data)
|
167
163
|
update_data(JSON.parse(response))
|
168
164
|
nil
|
169
165
|
end
|
data/lib/mij-discord/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mij-discord
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mijyuoon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|