discorb 0.13.2 → 0.13.3
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/Changelog.md +5 -0
- data/README.md +1 -1
- data/discorb.gemspec +12 -1
- data/lib/discorb/asset.rb +1 -1
- data/lib/discorb/common.rb +1 -1
- data/lib/discorb/gateway.rb +30 -2
- data/lib/discorb/integration.rb +30 -1
- metadata +14 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9a82de8344e0dad10cce48b6a49bb6c520df2980518f5ead7a107d8196d7f6b
|
4
|
+
data.tar.gz: 1277c6e8a2e20bd6245952dbc0001874cd7abf80c220dede886e06d9cd034643
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ed3a9bb11473db377910096ff3eaa74e4a0c1c7b73afd85975dbd6b4b541620aceb3d4e096ae4268f75590b5c52e1c62250d6e73457b9515ada6895c040a20e
|
7
|
+
data.tar.gz: 8bbc17b2bee9cdf935a381bcb6f60b261f243281e9fb65fcc309852f310648d6aa4f41747252431b665355efcd4e26ea6a77be7cf7535a14a495a6a9f1372df3
|
data/Changelog.md
CHANGED
data/README.md
CHANGED
data/discorb.gemspec
CHANGED
@@ -8,7 +8,18 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.authors = ["sevenc-nanashi"]
|
9
9
|
spec.email = ["sevenc-nanashi@sevenbot.jp"]
|
10
10
|
|
11
|
-
spec.summary = "A
|
11
|
+
spec.summary = "A Discord API wrapper for Ruby, Using socketry/async."
|
12
|
+
spec.description = <<~RDOC
|
13
|
+
== discorb
|
14
|
+
discorb is a Discord API wrapper for Ruby, Using {socketry/async}[https://github.com/socketry/async].
|
15
|
+
|
16
|
+
=== Contributing
|
17
|
+
Bug reports, feature requests, and pull requests are welcome on {the GitHub repository}[https://github.com/discorb-lib/discorb].
|
18
|
+
|
19
|
+
=== License
|
20
|
+
This gem is licensed under the MIT License.
|
21
|
+
|
22
|
+
RDOC
|
12
23
|
spec.homepage = "https://github.com/discorb-lib/discorb"
|
13
24
|
spec.license = "MIT"
|
14
25
|
spec.required_ruby_version = Gem::Requirement.new(">= 3.0.0")
|
data/lib/discorb/asset.rb
CHANGED
data/lib/discorb/common.rb
CHANGED
@@ -4,7 +4,7 @@ module Discorb
|
|
4
4
|
# @return [String] The API base URL.
|
5
5
|
API_BASE_URL = "https://discord.com/api/v9"
|
6
6
|
# @return [String] The version of discorb.
|
7
|
-
VERSION = "0.13.
|
7
|
+
VERSION = "0.13.3"
|
8
8
|
# @return [String] The user agent for the bot.
|
9
9
|
USER_AGENT = "DiscordBot (https://discorb-lib.github.io #{VERSION}) Ruby/#{RUBY_VERSION}"
|
10
10
|
|
data/lib/discorb/gateway.rb
CHANGED
@@ -108,6 +108,35 @@ module Discorb
|
|
108
108
|
end
|
109
109
|
end
|
110
110
|
|
111
|
+
#
|
112
|
+
# Represents a `INTEGRATION_DELETE` event.
|
113
|
+
#
|
114
|
+
class IntegrationDeleteEvent < GatewayEvent
|
115
|
+
# @return [Discorb::Snowflake] The ID of the integration.
|
116
|
+
attr_reader :id
|
117
|
+
# @!attribute [r] guild
|
118
|
+
# @macro client_cache
|
119
|
+
# @return [Discorb::Guild] The guild of the integration.
|
120
|
+
# @!attribute [r] user
|
121
|
+
# @macro client_cache
|
122
|
+
# @return [Discorb::User] The user associated with the integration.
|
123
|
+
|
124
|
+
# @private
|
125
|
+
def initialize(client, data)
|
126
|
+
@id = Snowflake.new(data[:id])
|
127
|
+
@guild_id = data[:guild_id]
|
128
|
+
@user_id = data[:application_id]
|
129
|
+
end
|
130
|
+
|
131
|
+
def guild
|
132
|
+
@client.guilds[@guild_id]
|
133
|
+
end
|
134
|
+
|
135
|
+
def user
|
136
|
+
@client.users[@user_id]
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
111
140
|
#
|
112
141
|
# Represents a `MESSAGE_REACTION_REMOVE_ALL` event.
|
113
142
|
#
|
@@ -866,9 +895,8 @@ module Discorb
|
|
866
895
|
dispatch(:integration_update, integration)
|
867
896
|
when "INTEGRATION_DELETE"
|
868
897
|
return @log.warn "Unknown guild id #{data[:guild_id]}, ignoring" unless (guild = @guilds[data[:guild_id]])
|
869
|
-
return @log.warn "Unknown integration id #{data[:id]}, ignoring" unless (integration = guild.integrations.delete(data[:id]))
|
870
898
|
|
871
|
-
dispatch(:integration_delete,
|
899
|
+
dispatch(:integration_delete, IntegrationDeleteEvent.new(self, data))
|
872
900
|
when "WEBHOOKS_UPDATE"
|
873
901
|
dispatch(:webhooks_update, WebhooksUpdateEvent.new(self, data))
|
874
902
|
when "INVITE_CREATE"
|
data/lib/discorb/integration.rb
CHANGED
@@ -49,7 +49,6 @@ module Discorb
|
|
49
49
|
@data = data
|
50
50
|
@guild_id = guild_id
|
51
51
|
_set_data(data)
|
52
|
-
guild.integrations[@id] = self unless no_cache
|
53
52
|
end
|
54
53
|
|
55
54
|
def guild
|
@@ -110,5 +109,35 @@ module Discorb
|
|
110
109
|
@name = data[:name]
|
111
110
|
end
|
112
111
|
end
|
112
|
+
|
113
|
+
#
|
114
|
+
# Represents an application for an integration.
|
115
|
+
#
|
116
|
+
class Application < DiscordModel
|
117
|
+
# @return [Discorb::Snowflake] The ID of the application.
|
118
|
+
attr_reader :id
|
119
|
+
# @return [String] The name of the application.
|
120
|
+
attr_reader :name
|
121
|
+
# @return [Asset] The icon of the application.
|
122
|
+
# @return [nil] If the application has no icon.
|
123
|
+
attr_reader :icon
|
124
|
+
# @return [String] The description of the application.
|
125
|
+
attr_reader :description
|
126
|
+
# @return [String] The summary of the application.
|
127
|
+
attr_reader :summary
|
128
|
+
# @return [Discorb::User] The bot user associated with the application.
|
129
|
+
# @return [nil] If the application has no bot user.
|
130
|
+
attr_reader :bot
|
131
|
+
|
132
|
+
# @private
|
133
|
+
def initialize(client, data)
|
134
|
+
@id = Snowflake.new(data[:id])
|
135
|
+
@name = data[:name]
|
136
|
+
@icon = data[:icon] && Asset.new(self, data[:icon])
|
137
|
+
@description = data[:description]
|
138
|
+
@summary = data[:summary]
|
139
|
+
@bot = data[:bot] and client.users[data[:bot][:id]] || Discorb::User.new(client, data[:bot])
|
140
|
+
end
|
141
|
+
end
|
113
142
|
end
|
114
143
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: discorb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sevenc-nanashi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: async
|
@@ -66,7 +66,16 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '3.3'
|
69
|
-
description:
|
69
|
+
description: |+
|
70
|
+
== discorb
|
71
|
+
discorb is a Discord API wrapper for Ruby, Using {socketry/async}[https://github.com/socketry/async].
|
72
|
+
|
73
|
+
=== Contributing
|
74
|
+
Bug reports, feature requests, and pull requests are welcome on {the GitHub repository}[https://github.com/discorb-lib/discorb].
|
75
|
+
|
76
|
+
=== License
|
77
|
+
This gem is licensed under the MIT License.
|
78
|
+
|
70
79
|
email:
|
71
80
|
- sevenc-nanashi@sevenbot.jp
|
72
81
|
executables:
|
@@ -224,5 +233,6 @@ requirements: []
|
|
224
233
|
rubygems_version: 3.2.32
|
225
234
|
signing_key:
|
226
235
|
specification_version: 4
|
227
|
-
summary: A
|
236
|
+
summary: A Discord API wrapper for Ruby, Using socketry/async.
|
228
237
|
test_files: []
|
238
|
+
...
|