mij-discord 1.0.3 → 1.0.5
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.rb +34 -34
- data/lib/mij-discord/bot.rb +9 -9
- data/lib/mij-discord/core/api.rb +19 -5
- data/lib/mij-discord/core/api/invite.rb +2 -2
- data/lib/mij-discord/data/channel.rb +8 -0
- data/lib/mij-discord/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5fcf947865936bee821151da5e83bef481fd163
|
4
|
+
data.tar.gz: 97545b505d78aae0d38a65efe7d6608d41f2cb30
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 684a85c5f4d1aea724672abe6d343eea34cc67dfca1e8cbaaa65ee6c4debb2fd9a83febfe5c98cc6586480070aed222ae9d08ce1b9ba1e287a46fd4ca07e3c2f
|
7
|
+
data.tar.gz: cda5fe4edf5ee6021610c4cf637b1ca598ebe8710dd3b88c3cce9b1ea2de7783e386642b6d81ba597b4bbe741f03500d2de117f2cd35bd94d6ca83827f353d75
|
data/lib/mij-discord.rb
CHANGED
@@ -12,40 +12,40 @@ require 'zlib'
|
|
12
12
|
require 'websocket-client-simple'
|
13
13
|
require 'rest-client'
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
15
|
+
require_relative 'mij-discord/version'
|
16
|
+
require_relative 'mij-discord/logger'
|
17
|
+
require_relative 'mij-discord/cache'
|
18
|
+
require_relative 'mij-discord/events'
|
19
|
+
|
20
|
+
require_relative 'mij-discord/core/gateway'
|
21
|
+
require_relative 'mij-discord/core/errors'
|
22
|
+
require_relative 'mij-discord/core/api'
|
23
|
+
require_relative 'mij-discord/core/api/channel'
|
24
|
+
require_relative 'mij-discord/core/api/invite'
|
25
|
+
require_relative 'mij-discord/core/api/server'
|
26
|
+
require_relative 'mij-discord/core/api/user'
|
27
|
+
|
28
|
+
require_relative 'mij-discord/data'
|
29
|
+
require_relative 'mij-discord/data/invite'
|
30
|
+
require_relative 'mij-discord/data/voice'
|
31
|
+
require_relative 'mij-discord/data/permissions'
|
32
|
+
require_relative 'mij-discord/data/application'
|
33
|
+
require_relative 'mij-discord/data/user'
|
34
|
+
require_relative 'mij-discord/data/member'
|
35
|
+
require_relative 'mij-discord/data/role'
|
36
|
+
require_relative 'mij-discord/data/channel'
|
37
|
+
require_relative 'mij-discord/data/server'
|
38
|
+
require_relative 'mij-discord/data/embed'
|
39
|
+
require_relative 'mij-discord/data/emoji'
|
40
|
+
require_relative 'mij-discord/data/message'
|
41
|
+
|
42
|
+
require_relative 'mij-discord/events/basic'
|
43
|
+
require_relative 'mij-discord/events/server'
|
44
|
+
require_relative 'mij-discord/events/member'
|
45
|
+
require_relative 'mij-discord/events/channel'
|
46
|
+
require_relative 'mij-discord/events/message'
|
47
|
+
|
48
|
+
require_relative 'mij-discord/bot'
|
49
49
|
|
50
50
|
class Integer
|
51
51
|
alias_method :to_id, :itself
|
data/lib/mij-discord/bot.rb
CHANGED
@@ -195,13 +195,13 @@ module MijDiscord
|
|
195
195
|
|
196
196
|
def invite(invite)
|
197
197
|
code = parse_invite_code(invite)
|
198
|
-
response = MijDiscord::Core::API::Invite.resolve(token, code)
|
198
|
+
response = MijDiscord::Core::API::Invite.resolve(@token, code)
|
199
199
|
MijDiscord::Data::Invite.new(JSON.parse(response), self)
|
200
200
|
end
|
201
201
|
|
202
202
|
def accept_invite(invite)
|
203
203
|
code = parse_invite_code(invite)
|
204
|
-
API::Invite.accept(token, code)
|
204
|
+
MijDiscord::Core::API::Invite.accept(@token, code)
|
205
205
|
nil
|
206
206
|
end
|
207
207
|
|
@@ -226,9 +226,9 @@ module MijDiscord
|
|
226
226
|
|
227
227
|
def parse_invite_code(invite)
|
228
228
|
case invite
|
229
|
-
when %r[(\w+)] then $1
|
230
|
-
when %r[
|
231
|
-
when %r[
|
229
|
+
when %r[^(?:https?://)?discord\.gg/(\w+)$]i then $1
|
230
|
+
when %r[^https?://discordapp\.com/invite/(\w+)$]i then $1
|
231
|
+
when %r[^([a-zA-Z0-9]+)$] then $1
|
232
232
|
when MijDiscord::Data::Invite then invite.code
|
233
233
|
else raise ArgumentError, 'Invalid invite format'
|
234
234
|
end
|
@@ -238,9 +238,9 @@ module MijDiscord
|
|
238
238
|
gateway_check
|
239
239
|
|
240
240
|
case mention
|
241
|
-
when
|
241
|
+
when /^<@!?(\d+)>$/
|
242
242
|
server_id ? member(server_id, $1) : user($1)
|
243
|
-
when
|
243
|
+
when /^<@&(\d+)>$/
|
244
244
|
role = role(server_id, $1)
|
245
245
|
return role if role
|
246
246
|
|
@@ -248,7 +248,7 @@ module MijDiscord
|
|
248
248
|
role = sv.role($1)
|
249
249
|
return role if role
|
250
250
|
end
|
251
|
-
when
|
251
|
+
when /^<:\w+:(\d+)>$/
|
252
252
|
emoji = emoji(server_id, $1)
|
253
253
|
return emoji if emoji
|
254
254
|
|
@@ -446,7 +446,7 @@ module MijDiscord
|
|
446
446
|
|
447
447
|
when :GUILD_ROLE_DELETE
|
448
448
|
server = @cache.get_server(data['guild_id'])
|
449
|
-
role = server.cache.remove_role(data['
|
449
|
+
role = server.cache.remove_role(data['role_id'])
|
450
450
|
trigger_event(:delete_role, self, server, role)
|
451
451
|
|
452
452
|
when :GUILD_EMOJIS_UPDATE
|
data/lib/mij-discord/core/api.rb
CHANGED
@@ -8,11 +8,24 @@ module MijDiscord::Core::API
|
|
8
8
|
class << self
|
9
9
|
attr_accessor :bot_name
|
10
10
|
|
11
|
-
def user_agent
|
12
|
-
|
13
|
-
|
11
|
+
def user_agent(kind)
|
12
|
+
case kind
|
13
|
+
when :bot
|
14
|
+
bot_name = @bot_name || 'generic'
|
15
|
+
ua_base = "DiscordBot (https://github.com/Mijyuoon/mij-discord, v#{MijDiscord::VERSION})"
|
16
|
+
"#{ua_base} mij-discord/#{MijDiscord::VERSION} #{bot_name}"
|
17
|
+
|
18
|
+
when :user
|
19
|
+
'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0'
|
20
|
+
end
|
21
|
+
end
|
14
22
|
|
15
|
-
|
23
|
+
def token_type(token)
|
24
|
+
case token
|
25
|
+
when /^Bot (.+)$/ then :bot
|
26
|
+
when /^mfa\.(.+)$/ then :user
|
27
|
+
else :user
|
28
|
+
end
|
16
29
|
end
|
17
30
|
|
18
31
|
# Make an icon URL from server and icon IDs
|
@@ -164,7 +177,8 @@ module MijDiscord::Core::API
|
|
164
177
|
ratelimit_delta, response = nil, nil
|
165
178
|
|
166
179
|
if (params = attributes.last).is_a?(Hash)
|
167
|
-
params[:
|
180
|
+
ua_type = token_type(params[:Authorization])
|
181
|
+
params[:user_agent] = user_agent(ua_type)
|
168
182
|
ratelimit_delta = params.delete(:header_bypass_delay)
|
169
183
|
end
|
170
184
|
|
@@ -9,7 +9,7 @@ module MijDiscord::Core::API::Invite
|
|
9
9
|
:invite_code,
|
10
10
|
nil,
|
11
11
|
:get,
|
12
|
-
"#{MijDiscord::Core::API::APIBASE_URL}/
|
12
|
+
"#{MijDiscord::Core::API::APIBASE_URL}/invites/#{invite_code}",
|
13
13
|
Authorization: token
|
14
14
|
)
|
15
15
|
end
|
@@ -34,7 +34,7 @@ module MijDiscord::Core::API::Invite
|
|
34
34
|
:invite_code,
|
35
35
|
nil,
|
36
36
|
:post,
|
37
|
-
"#{MijDiscord::Core::API::APIBASE_URL}/
|
37
|
+
"#{MijDiscord::Core::API::APIBASE_URL}/invites/#{invite_code}",
|
38
38
|
nil,
|
39
39
|
Authorization: token
|
40
40
|
)
|
@@ -220,9 +220,13 @@ module MijDiscord::Data
|
|
220
220
|
|
221
221
|
attr_reader :recipients
|
222
222
|
|
223
|
+
attr_reader :last_message_id
|
224
|
+
|
223
225
|
def initialize(data, bot, server)
|
224
226
|
super(data, bot, server)
|
225
227
|
|
228
|
+
@last_message_id = data['last_message_id']
|
229
|
+
|
226
230
|
if private?
|
227
231
|
@recipients = []
|
228
232
|
if data['recipients']
|
@@ -272,6 +276,10 @@ module MijDiscord::Data
|
|
272
276
|
@owner_id ? @bot.cache.get_user(@owner_id) : nil
|
273
277
|
end
|
274
278
|
|
279
|
+
def last_message
|
280
|
+
@last_message_id ? @cache.get_message(@last_message_id) : nil
|
281
|
+
end
|
282
|
+
|
275
283
|
def set_topic(topic, reason = nil)
|
276
284
|
return unless text?
|
277
285
|
|
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.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mijyuoon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-10-
|
11
|
+
date: 2017-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|