discorb 0.12.4 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -19,6 +19,7 @@ module Discorb
19
19
  dm_messages: 1 << 12,
20
20
  dm_reactions: 1 << 13,
21
21
  dm_typing: 1 << 14,
22
+ scheduled_events: 1 << 16,
22
23
  }.freeze
23
24
 
24
25
  #
@@ -38,6 +39,7 @@ module Discorb
38
39
  # @param dm_messages [Boolean] Whether dm messages related events are enabled.
39
40
  # @param dm_reactions [Boolean] Whether dm reactions related events are enabled.
40
41
  # @param dm_typing [Boolean] Whether dm typing related events are enabled.
42
+ # @param scheduled_events [Boolean] Whether events related scheduled events are enabled.
41
43
  #
42
44
  # @note You must enable privileged intents to use `members` and/or `presences` intents.
43
45
  #
@@ -55,7 +57,8 @@ module Discorb
55
57
  typing: true,
56
58
  dm_messages: true,
57
59
  dm_reactions: true,
58
- dm_typing: true)
60
+ dm_typing: true,
61
+ scheduled_events: true)
59
62
  @raw_value = {
60
63
  guilds: guilds,
61
64
  members: members,
@@ -72,6 +75,7 @@ module Discorb
72
75
  dm_messages: dm_messages,
73
76
  dm_reactions: dm_reactions,
74
77
  dm_typing: dm_typing,
78
+ scheduled_events: scheduled_events,
75
79
  }
76
80
  end
77
81
 
@@ -124,13 +128,14 @@ module Discorb
124
128
  end
125
129
 
126
130
  # Create new intent object with default values.
131
+ # This will return intents without members and presence.
127
132
  def default
128
- from_value(32509)
133
+ from_value(@intent_bits.values.reduce(:+) - @intent_bits[:members] - @intent_bits[:presences])
129
134
  end
130
135
 
131
136
  # Create new intent object with all intents.
132
137
  def all
133
- from_value(32767)
138
+ from_value(@intent_bits.values.reduce(:+))
134
139
  end
135
140
 
136
141
  # Create new intent object with no intents.
data/lib/discorb/log.rb CHANGED
@@ -13,6 +13,10 @@ module Discorb
13
13
  @colorize_log = colorize_log
14
14
  end
15
15
 
16
+ def inspect
17
+ "#<#{self.class} level=#{level}>"
18
+ end
19
+
16
20
  def level
17
21
  self.class.levels[@level]
18
22
  end
@@ -233,7 +233,7 @@ module Discorb
233
233
  @joined_at = member_data[:joined_at] && Time.iso8601(member_data[:joined_at])
234
234
  @hoisted_role_id = member_data[:hoisted_role]
235
235
  @deaf = member_data[:deaf]
236
- @custom_avatar = member_data[:avatar] && Asset.new(member_data[:avatar])
236
+ @custom_avatar = member_data[:avatar] && Asset.new(self, member_data[:avatar])
237
237
  super(user_data)
238
238
  @display_avatar = @avatar || @custom_avatar
239
239
  @client.guilds[@guild_id].members[@id] = self unless @guild_id.nil? || @client.guilds[@guild_id].nil?
@@ -29,6 +29,10 @@ module Discorb
29
29
  @replied_user = replied_user
30
30
  end
31
31
 
32
+ def inspect
33
+ "#<#{self.class} @everyone=#{@everyone} @roles=#{@roles} @users=#{@users} @replied_user=#{@replied_user}>"
34
+ end
35
+
32
36
  # @private
33
37
  def to_hash(other = nil)
34
38
  payload = {
@@ -164,6 +164,10 @@ module Discorb
164
164
  @deny
165
165
  end
166
166
 
167
+ def inspect
168
+ "#<#{self.class} allow=#{allow} deny=#{deny}>"
169
+ end
170
+
167
171
  #
168
172
  # Converts the permission overwrite to a hash.
169
173
  #
@@ -14,6 +14,10 @@ module Discorb
14
14
  @global = false
15
15
  end
16
16
 
17
+ def inspect
18
+ "#<#{self.class}>"
19
+ end
20
+
17
21
  #
18
22
  # Wait for the rate limit to reset.
19
23
  #
@@ -23,8 +27,8 @@ module Discorb
23
27
  def wait(method, path)
24
28
  return if path.start_with?("https://")
25
29
 
26
- if @global
27
- time = b[:reset_at] - Time.now.to_f
30
+ if @global && @global > Time.now.to_f
31
+ time = @global - Time.now.to_f
28
32
  @client.log.info("global rate limit reached, waiting #{time} seconds")
29
33
  sleep(time)
30
34
  @global = false
@@ -51,6 +51,15 @@ module Discorb
51
51
  # @!attribute [r] guild
52
52
  # @macro client_cache
53
53
  # @return [Discorb::Guild] The guild the sticker is in.
54
+ @sticker_type = {
55
+ 1 => :official,
56
+ 2 => :guild,
57
+ }.freeze
58
+ @sticker_format = {
59
+ 1 => :png,
60
+ 2 => :apng,
61
+ 3 => :lottie,
62
+ }
54
63
 
55
64
  def guild
56
65
  @client.guilds[@guild_id]
data/lib/discorb/user.rb CHANGED
@@ -123,6 +123,7 @@ module Discorb
123
123
  verified_bot: 16,
124
124
  early_verified_bot_developer: 17,
125
125
  discord_certified_moderator: 18,
126
+ bot_http_interactions: 19,
126
127
  }.freeze
127
128
  end
128
129
 
data/lib/discorb.rb CHANGED
@@ -41,7 +41,7 @@ end
41
41
 
42
42
  require_order = %w[common flag dictionary error rate_limit http intents emoji_table modules] +
43
43
  %w[user member guild emoji channel embed message] +
44
- %w[application audit_logs color components event] +
44
+ %w[application audit_logs color components event event_handler] +
45
45
  %w[file guild_template image integration interaction invite log permission] +
46
46
  %w[presence reaction role sticker utils voice_state webhook] +
47
47
  %w[gateway_requests gateway app_command] +
data/po/yard.pot CHANGED
@@ -4784,7 +4784,7 @@ msgstr ""
4784
4784
  msgid "The block to execute when the event is triggered."
4785
4785
  msgstr ""
4786
4786
 
4787
- # @return [Discorb::Event]
4787
+ # @return [Discorb::EventHandler]
4788
4788
  #: ../lib/discorb/client.rb:104
4789
4789
  #: ../lib/discorb/client.rb:118
4790
4790
  #: ../lib/discorb/extension.rb:24
@@ -7040,7 +7040,7 @@ msgstr ""
7040
7040
  msgid "a new instance of NotSupportedWarning"
7041
7041
  msgstr ""
7042
7042
 
7043
- # Discorb::Event
7043
+ # Discorb::EventHandler
7044
7044
  #: ../lib/discorb/event.rb:5
7045
7045
  msgid "Represents a event.\n"
7046
7046
  "This class shouldn't be instantiated directly.\n"
@@ -7073,7 +7073,7 @@ msgstr ""
7073
7073
  msgid "a new instance of Event"
7074
7074
  msgstr ""
7075
7075
 
7076
- # Discorb::Event#call
7076
+ # Discorb::EventHandler#call
7077
7077
  #: ../lib/discorb/event.rb:29
7078
7078
  msgid "Calls the block associated with the event."
7079
7079
  msgstr ""
@@ -7135,7 +7135,7 @@ msgstr ""
7135
7135
  msgid "Define a new once event."
7136
7136
  msgstr ""
7137
7137
 
7138
- # @return [Hash{Symbol => Array<Discorb::Event>}]
7138
+ # @return [Hash{Symbol => Array<Discorb::EventHandler>}]
7139
7139
  #: ../lib/discorb/extension.rb:48
7140
7140
  msgid "The events of the extension."
7141
7141
  msgstr ""
data/sig/discorb.rbs CHANGED
@@ -2183,12 +2183,12 @@ module Discorb
2183
2183
  # _@return_ — The event.
2184
2184
  #
2185
2185
  # _@see_ `file:docs/Events.md`
2186
- def on: (Symbol event_name, ?id: Symbol?, **::Hash[untyped, untyped] metadata) -> Discorb::Event
2186
+ def on: (Symbol event_name, ?id: Symbol?, **::Hash[untyped, untyped] metadata) -> Discorb::EventHandler
2187
2187
 
2188
2188
  # Almost same as {#on}, but only triggers the event once.
2189
2189
  #
2190
2190
  # _@return_ — The event.
2191
- def once: (Symbol event_name, ?id: Symbol?, **::Hash[untyped, untyped] metadata) -> Discorb::Event
2191
+ def once: (Symbol event_name, ?id: Symbol?, **::Hash[untyped, untyped] metadata) -> Discorb::EventHandler
2192
2192
 
2193
2193
  # Remove event by ID.
2194
2194
  #
@@ -3981,7 +3981,7 @@ module Discorb
3981
3981
  module Command
3982
3982
  #
3983
3983
  # Module to handle commands.
3984
- module Handler
3984
+ module EventHandler
3985
3985
  # Add new top-level command.
3986
3986
  #
3987
3987
  # _@param_ `command_name` — Command name.
@@ -4548,7 +4548,7 @@ module Discorb
4548
4548
 
4549
4549
  #
4550
4550
  # A module to handle gateway events.
4551
- module Handler
4551
+ module EventHandler
4552
4552
  def connect_gateway: (untyped first) -> untyped
4553
4553
 
4554
4554
  def send_gateway: (untyped opcode, **untyped value) -> untyped
@@ -5798,7 +5798,7 @@ module Discorb
5798
5798
  # _@param_ `block` — The block to execute when the event is triggered.
5799
5799
  #
5800
5800
  # _@return_ — The event.
5801
- def event: (Symbol event_name, ?id: Symbol?, **::Hash[untyped, untyped] metadata) -> Discorb::Event
5801
+ def event: (Symbol event_name, ?id: Symbol?, **::Hash[untyped, untyped] metadata) -> Discorb::EventHandler
5802
5802
 
5803
5803
  # Define a new once event.
5804
5804
  #
@@ -5811,7 +5811,7 @@ module Discorb
5811
5811
  # _@param_ `block` — The block to execute when the event is triggered.
5812
5812
  #
5813
5813
  # _@return_ — The event.
5814
- def once_event: (Symbol event_name, ?id: Symbol?, **::Hash[untyped, untyped] metadata) -> Discorb::Event
5814
+ def once_event: (Symbol event_name, ?id: Symbol?, **::Hash[untyped, untyped] metadata) -> Discorb::EventHandler
5815
5815
 
5816
5816
  def self.extended: (untyped obj) -> untyped
5817
5817
 
@@ -5886,7 +5886,7 @@ module Discorb
5886
5886
  def setup_commands: (?String? token, ?guild_ids: (::Array[untyped] | bool)?) -> untyped
5887
5887
 
5888
5888
  # _@return_ — The events of the extension.
5889
- attr_reader events: ::Hash[Symbol, ::Array[Discorb::Event]]
5889
+ attr_reader events: ::Hash[Symbol, ::Array[Discorb::EventHandler]]
5890
5890
 
5891
5891
  # _@return_ — The commands of the extension.
5892
5892
  attr_reader commands: ::Array[Discorb::ApplicationCommand::Command]
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.12.4
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sevenc-nanashi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-04 00:00:00.000000000 Z
11
+ date: 2021-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async
@@ -144,6 +144,7 @@ files:
144
144
  - lib/discorb/emoji_table.rb
145
145
  - lib/discorb/error.rb
146
146
  - lib/discorb/event.rb
147
+ - lib/discorb/event_handler.rb
147
148
  - lib/discorb/exe/about.rb
148
149
  - lib/discorb/exe/irb.rb
149
150
  - lib/discorb/exe/new.rb