discorb 0.9.3 → 0.10.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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build_main.yml +2 -0
  3. data/Changelog.md +298 -247
  4. data/README.md +6 -6
  5. data/Rakefile +7 -1
  6. data/assets/banner.svg +101 -101
  7. data/docs/application_command.md +8 -7
  8. data/docs/cli/run.md +3 -3
  9. data/docs/extension.md +16 -22
  10. data/docs/license.md +5 -1
  11. data/examples/extension/main.rb +1 -1
  12. data/examples/extension/message_expander.rb +4 -6
  13. data/lib/discorb/app_command.rb +12 -10
  14. data/lib/discorb/application.rb +3 -3
  15. data/lib/discorb/asset.rb +2 -2
  16. data/lib/discorb/audit_logs.rb +7 -7
  17. data/lib/discorb/channel.rb +10 -10
  18. data/lib/discorb/client.rb +22 -23
  19. data/lib/discorb/common.rb +6 -25
  20. data/lib/discorb/components.rb +31 -3
  21. data/lib/discorb/embed.rb +2 -2
  22. data/lib/discorb/emoji.rb +3 -3
  23. data/lib/discorb/error.rb +2 -2
  24. data/lib/discorb/exe/init.rb +8 -8
  25. data/lib/discorb/exe/run.rb +1 -1
  26. data/lib/discorb/extend.rb +21 -0
  27. data/lib/discorb/extension.rb +60 -47
  28. data/lib/discorb/file.rb +19 -1
  29. data/lib/discorb/gateway.rb +8 -8
  30. data/lib/discorb/gateway_requests.rb +1 -1
  31. data/lib/discorb/guild.rb +7 -7
  32. data/lib/discorb/guild_template.rb +4 -4
  33. data/lib/discorb/http.rb +1 -1
  34. data/lib/discorb/integration.rb +3 -3
  35. data/lib/discorb/interaction.rb +36 -32
  36. data/lib/discorb/invite.rb +2 -2
  37. data/lib/discorb/log.rb +1 -1
  38. data/lib/discorb/member.rb +1 -1
  39. data/lib/discorb/message.rb +34 -10
  40. data/lib/discorb/modules.rb +15 -49
  41. data/lib/discorb/permission.rb +2 -2
  42. data/lib/discorb/presence.rb +8 -8
  43. data/lib/discorb/rate_limit.rb +1 -1
  44. data/lib/discorb/reaction.rb +1 -1
  45. data/lib/discorb/role.rb +2 -2
  46. data/lib/discorb/sticker.rb +3 -3
  47. data/lib/discorb/user.rb +2 -2
  48. data/lib/discorb/utils/colored_puts.rb +3 -3
  49. data/lib/discorb/utils.rb +1 -21
  50. data/lib/discorb/voice_state.rb +3 -3
  51. data/lib/discorb/webhook.rb +7 -8
  52. data/lib/discorb.rb +1 -1
  53. data/sig/discorb.rbs +2 -2
  54. data/template-replace/files/css/common.css +26 -0
  55. data/template-replace/files/favicon.png +0 -0
  56. data/template-replace/scripts/arrow.rb +7 -0
  57. data/template-replace/scripts/favicon.rb +9 -0
  58. data/template-replace/scripts/version.rb +20 -5
  59. metadata +5 -2
@@ -19,7 +19,7 @@ module Discorb
19
19
  @channel_type = nil
20
20
  @subclasses = []
21
21
 
22
- # @!visibility private
22
+ # @private
23
23
  def initialize(client, data, no_cache: false)
24
24
  @client = client
25
25
  @data = {}
@@ -44,12 +44,12 @@ module Discorb
44
44
  "#<#{self.class} \"##{@name}\" id=#{@id}>"
45
45
  end
46
46
 
47
- # @!visibility private
47
+ # @private
48
48
  def self.descendants
49
49
  ObjectSpace.each_object(Class).select { |klass| klass < self }
50
50
  end
51
51
 
52
- # @!visibility private
52
+ # @private
53
53
  def self.make_channel(client, data, no_cache: false)
54
54
  descendants.each do |klass|
55
55
  return klass.new(client, data, no_cache: no_cache) if !klass.channel_type.nil? && klass.channel_type == data[:type]
@@ -59,7 +59,7 @@ module Discorb
59
59
  end
60
60
 
61
61
  class << self
62
- # @!visibility private
62
+ # @private
63
63
  attr_reader :channel_type
64
64
  end
65
65
 
@@ -67,7 +67,7 @@ module Discorb
67
67
  self.class.channel_type
68
68
  end
69
69
 
70
- # @!visibility private
70
+ # @private
71
71
  def channel_id
72
72
  Async do
73
73
  @id
@@ -248,7 +248,7 @@ module Discorb
248
248
 
249
249
  @channel_type = 0
250
250
 
251
- # @!visibility private
251
+ # @private
252
252
  def initialize(client, data, no_cache: false)
253
253
  super
254
254
  @threads = Dictionary.new
@@ -697,7 +697,7 @@ module Discorb
697
697
  attr_reader :bitrate
698
698
  # @return [Integer] The user limit of the voice channel.
699
699
  attr_reader :user_limit
700
- # @!visibility private
700
+ # @private
701
701
  attr_reader :stage_instances
702
702
 
703
703
  include Connectable
@@ -706,7 +706,7 @@ module Discorb
706
706
  # @return [Discorb::StageInstance] The stage instance of the channel.
707
707
 
708
708
  @channel_type = 13
709
- # @!visibility private
709
+ # @private
710
710
  def initialize(...)
711
711
  @stage_instances = Dictionary.new
712
712
  super(...)
@@ -831,7 +831,7 @@ module Discorb
831
831
  include Messageable
832
832
  @channel_type = nil
833
833
 
834
- # @!visibility private
834
+ # @private
835
835
  def initialize(client, data, no_cache: false)
836
836
  @members = Dictionary.new
837
837
  super
@@ -1092,7 +1092,7 @@ module Discorb
1092
1092
  class DMChannel < Channel
1093
1093
  include Messageable
1094
1094
 
1095
- # @!visibility private
1095
+ # @private
1096
1096
  def channel_id
1097
1097
  Async do
1098
1098
  @id
@@ -369,31 +369,30 @@ module Discorb
369
369
  #
370
370
  # Load the extension.
371
371
  #
372
- # @param [Module] mod The extension to load.
373
- #
374
- def extend(mod)
375
- if mod.respond_to?(:events)
376
- @events.each_value do |event|
377
- event.delete_if { |c| c.metadata[:extension] == mod.name }
378
- end
379
- mod.events.each do |name, events|
380
- @events[name] ||= []
381
- @events[name].delete_if { |c| c.metadata[:override] }
382
- events.each do |event|
383
- @events[name] << event
384
- end
385
- end
386
- @commands.delete_if do |cmd|
387
- cmd.respond_to? :extension and cmd.extension == mod.name
388
- end
389
- mod.commands.each do |cmd|
390
- cmd.define_singleton_method(:extension) { mod.name }
391
- @commands << cmd
372
+ # @param [Class] ext The extension to load.
373
+ # @param [Object] ... The arguments to pass to the `ext#initialize`.
374
+ #
375
+ def load_extension(ext, ...)
376
+ raise ArgumentError, "#{ext} is not a extension" unless ext.is_a?(Class) && ext < Discorb::Extension
377
+ ins = ext.new(self, ...)
378
+ @events.each_value do |event|
379
+ event.delete_if { |c| c.metadata[:extension] == ins.class.name }
380
+ end
381
+ ins.events.each do |name, events|
382
+ @events[name] ||= []
383
+ events.each do |event|
384
+ @events[name] << event
392
385
  end
393
- @bottom_commands += mod.bottom_commands
394
- mod.client = self
395
386
  end
396
- super(mod)
387
+ @commands.delete_if do |cmd|
388
+ cmd.respond_to? :extension and cmd.extension == ins.name
389
+ end
390
+ ins.class.commands.each do |cmd|
391
+ cmd.define_singleton_method(:extension) { ins.name }
392
+ @commands << cmd
393
+ end
394
+ @bottom_commands += ins.class.bottom_commands
395
+ ins
397
396
  end
398
397
 
399
398
  include Discorb::Gateway::Handler
@@ -4,9 +4,9 @@ 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.9.3"
7
+ VERSION = "0.10.0"
8
8
  # @return [String] The user agent for the bot.
9
- USER_AGENT = "DiscordBot (https://github.com/discorb-lib/discorb #{VERSION}) Ruby/#{RUBY_VERSION}"
9
+ USER_AGENT = "DiscordBot (https://discorb-lib.github.io #{VERSION}) Ruby/#{RUBY_VERSION}"
10
10
 
11
11
  #
12
12
  # @abstract
@@ -25,7 +25,7 @@ module Discorb
25
25
  end
26
26
  end
27
27
 
28
- # @!visibility private
28
+ # @private
29
29
  def inspect
30
30
  super
31
31
  end
@@ -39,10 +39,11 @@ module Discorb
39
39
  # Represents Snowflake of Discord.
40
40
  #
41
41
  # @see https://discord.com/developers/docs/reference#snowflakes Official Discord API docs
42
- class Snowflake < DiscordModel
43
- # @!visibility private
42
+ class Snowflake < String
43
+ # @private
44
44
  def initialize(value)
45
45
  @value = value.to_i
46
+ super(@value.to_s)
46
47
  end
47
48
 
48
49
  # @!attribute [r] timestamp
@@ -64,26 +65,6 @@ module Discorb
64
65
  #
65
66
  # @return [Integer] Increment of snowflake.
66
67
 
67
- #
68
- # Stringify snowflake.
69
- #
70
- # @return [String] Stringified snowflake.
71
- #
72
- def to_s
73
- @value.to_s
74
- end
75
-
76
- alias to_str to_s
77
-
78
- #
79
- # Integerize snowflake.
80
- #
81
- # @return [Integer] Integerized snowflake.
82
- #
83
- def to_i
84
- @value.to_i
85
- end
86
-
87
68
  #
88
69
  # Compares snowflake with other object.
89
70
  #
@@ -36,6 +36,34 @@ module Discorb
36
36
  )
37
37
  end
38
38
  end
39
+
40
+ #
41
+ # Convert components to a hash.
42
+ #
43
+ # @param [Array<Discorb::Component>, Array<Array<Discorb::Component>>] components Components.
44
+ #
45
+ # @return [Array<Hash>] Hash data.
46
+ #
47
+ def to_payload(components)
48
+ tmp_components = []
49
+ tmp_row = []
50
+ components.each do |c|
51
+ case c
52
+ when Array
53
+ tmp_components << tmp_row
54
+ tmp_row = []
55
+ tmp_components << c
56
+ when SelectMenu
57
+ tmp_components << tmp_row
58
+ tmp_row = []
59
+ tmp_components << [c]
60
+ else
61
+ tmp_row << c
62
+ end
63
+ end
64
+ tmp_components << tmp_row
65
+ return tmp_components.filter { |c| c.length.positive? }.map { |c| { type: 1, components: c.map(&:to_hash) } }
66
+ end
39
67
  end
40
68
  end
41
69
 
@@ -115,7 +143,7 @@ module Discorb
115
143
  end
116
144
 
117
145
  class << self
118
- # @!visibility private
146
+ # @private
119
147
  attr_reader :styles
120
148
  end
121
149
 
@@ -152,7 +180,7 @@ module Discorb
152
180
  # @return [Integer] The maximum number of values.
153
181
  attr_accessor :max_values
154
182
  # @return [Boolean] Whether the select menu is disabled.
155
- attr_reader :disabled
183
+ attr_accessor :disabled
156
184
  alias disabled? disabled
157
185
 
158
186
  #
@@ -236,7 +264,7 @@ module Discorb
236
264
  }
237
265
  end
238
266
 
239
- # @!visibility private
267
+ # @private
240
268
  def hash_emoji(emoji)
241
269
  case emoji
242
270
  when UnicodeEmoji
data/lib/discorb/embed.rb CHANGED
@@ -317,7 +317,7 @@ module Discorb
317
317
  # @return [Integer] The width of video.
318
318
  attr_reader :width
319
319
 
320
- # @!visibility private
320
+ # @private
321
321
  def initialize(data)
322
322
  @url = data[:url]
323
323
  @proxy_url = data[:proxy_url]
@@ -335,7 +335,7 @@ module Discorb
335
335
  # @return [String] The url of provider.
336
336
  attr_reader :url
337
337
 
338
- # @!visibility private
338
+ # @private
339
339
  def initialize(data)
340
340
  @name = data[:name]
341
341
  @url = data[:url]
data/lib/discorb/emoji.rb CHANGED
@@ -40,7 +40,7 @@ module Discorb
40
40
  # @!attribute [r] roles?
41
41
  # @return [Boolean] whether or not this emoji is restricted to certain roles.
42
42
 
43
- # @!visibility private
43
+ # @private
44
44
  def initialize(client, guild, data)
45
45
  @client = client
46
46
  @guild = guild
@@ -147,7 +147,7 @@ module Discorb
147
147
  attr_reader :deleted
148
148
  alias deleted? deleted
149
149
 
150
- # @!visibility private
150
+ # @private
151
151
  def initialize(data)
152
152
  @id = Snowflake.new(data[:id])
153
153
  @name = data[:name]
@@ -189,7 +189,7 @@ module Discorb
189
189
  # @return [Integer] The skin tone of the emoji.
190
190
  attr_reader :skin_tone
191
191
 
192
- # @!visibility private
192
+ # @private
193
193
  def initialize(name, tone: 0)
194
194
  if EmojiTable::DISCORD_TO_UNICODE.key?(name)
195
195
  @name = name
data/lib/discorb/error.rb CHANGED
@@ -43,7 +43,7 @@ module Discorb
43
43
  # @return [Net::HTTPResponse] the HTTP response.
44
44
  attr_reader :response
45
45
 
46
- # @!visibility private
46
+ # @private
47
47
  def initialize(resp, data)
48
48
  @code = data[:code]
49
49
  @response = resp
@@ -55,7 +55,7 @@ module Discorb
55
55
  # Represents a 400 error.
56
56
  #
57
57
  class BadRequestError < HTTPError
58
- # @!visibility private
58
+ # @private
59
59
  def initialize(resp, data)
60
60
  @code = data[:code]
61
61
  @response = resp
@@ -6,7 +6,7 @@ require_relative "../utils/colored_puts"
6
6
 
7
7
  $path = Dir.pwd
8
8
 
9
- # @!visibility private
9
+ # @private
10
10
  FILES = {
11
11
  "main.rb" => <<~'RUBY',
12
12
  require "discorb"
@@ -133,12 +133,12 @@ FILES = {
133
133
  MARKDOWN
134
134
  }
135
135
 
136
- # @!visibility private
136
+ # @private
137
137
  def create_file(name)
138
138
  File.write($path + "/#{name}", format(FILES[name], token: $values[:token], name: $values[:name]), mode: "wb")
139
139
  end
140
140
 
141
- # @!visibility private
141
+ # @private
142
142
  def make_files
143
143
  iputs "Making files..."
144
144
  create_file("main.rb")
@@ -146,7 +146,7 @@ def make_files
146
146
  sputs "Made files.\n"
147
147
  end
148
148
 
149
- # @!visibility private
149
+ # @private
150
150
  def bundle_init
151
151
  iputs "Initializing bundle..."
152
152
  create_file("Gemfile")
@@ -155,7 +155,7 @@ def bundle_init
155
155
  sputs "Installed gems.\n"
156
156
  end
157
157
 
158
- # @!visibility private
158
+ # @private
159
159
  def git_init
160
160
  create_file(".gitignore")
161
161
  iputs "Initializing git repository..."
@@ -167,7 +167,7 @@ def git_init
167
167
  " to change commit message of initial commit.\n"
168
168
  end
169
169
 
170
- # @!visibility private
170
+ # @private
171
171
  def make_descs
172
172
  iputs "Making descriptions..."
173
173
  create_file(".env.sample")
@@ -246,8 +246,8 @@ bundle_init if $values[:bundle]
246
246
 
247
247
  make_files
248
248
 
249
- git_init if $values[:git]
250
-
251
249
  make_descs if $values[:descs]
252
250
 
251
+ git_init if $values[:git]
252
+
253
253
  sputs "\nSuccessfully made a new project at \e[32m#{$path}\e[92m."
@@ -5,7 +5,7 @@ require "discorb/utils/colored_puts"
5
5
  require "io/console"
6
6
 
7
7
  ARGV.delete_at 0
8
- # @!visibility private
8
+ # @private
9
9
  LOG_LEVELS = %w[none debug info warn error fatal]
10
10
 
11
11
  opt = OptionParser.new <<~BANNER
@@ -16,3 +16,24 @@ class Time
16
16
  end
17
17
  end
18
18
  end
19
+
20
+ # @private
21
+ class Async::Node
22
+ def description
23
+ @object_name ||= "#{self.class}:0x#{object_id.to_s(16)}#{@transient ? " transient" : nil}"
24
+
25
+ if @annotation
26
+ "#{@object_name} #{@annotation}"
27
+ elsif line = self.backtrace(0, 1)&.first
28
+ "#{@object_name} #{line}"
29
+ else
30
+ @object_name
31
+ end
32
+ end
33
+
34
+ def to_s
35
+ "\#<#{self.description}>"
36
+ end
37
+
38
+ alias inspect to_s
39
+ end
@@ -2,65 +2,78 @@
2
2
 
3
3
  module Discorb
4
4
  #
5
- # Module to make extension.
6
- # extend this module to make your own extension.
5
+ # Abstract class to make extension.
6
+ # Inherit from this class to make your own extension.
7
7
  # @see file:docs/extension.md
8
8
  # @abstract
9
9
  #
10
- module Extension
11
- include Discorb::ApplicationCommand::Handler
12
- undef setup_commands
10
+ class Extension
11
+ extend Discorb::ApplicationCommand::Handler
13
12
 
14
13
  @events = {}
15
- @client = nil
16
14
 
17
- #
18
- # Define a new event.
19
- #
20
- # @param [Symbol] event_name The name of the event.
21
- # @param [Symbol] id The id of the event. Used to delete the event.
22
- # @param [Hash] metadata Other metadata.
23
- # @param [Proc] block The block to execute when the event is triggered.
24
- #
25
- # @return [Discorb::Event] The event.
26
- #
27
- def event(event_name, id: nil, **metadata, &block)
28
- raise ArgumentError, "Event name must be a symbol" unless event_name.is_a?(Symbol)
29
- raise ArgumentError, "block must be a Proc" unless block.is_a?(Proc)
30
-
31
- @events[event_name] ||= []
32
- metadata[:extension] = self.name
33
- @events[event_name] << Discorb::Event.new(block, id, metadata)
15
+ def initialize(client)
16
+ @client = client
34
17
  end
35
18
 
36
- #
37
- # Define a new once event.
38
- #
39
- # @param [Symbol] event_name The name of the event.
40
- # @param [Symbol] id The id of the event. Used to delete the event.
41
- # @param [Hash] metadata Other metadata.
42
- # @param [Proc] block The block to execute when the event is triggered.
43
- #
44
- # @return [Discorb::Event] The event.
45
- #
46
- def once_event(event_name, id: nil, **metadata, &block)
47
- event(event_name, id: id, once: true, **metadata, &block)
19
+ def events
20
+ return @events if @events
21
+ ret = {}
22
+ self.class.events.each do |event, handlers|
23
+ ret[event] = handlers.map do |handler|
24
+ Discorb::Event.new(Proc.new { |*args, **kwargs| instance_exec(*args, **kwargs, &handler[2]) }, handler[0], handler[1])
25
+ end
26
+ end
27
+ @events = ret
48
28
  end
49
29
 
50
- # @return [Hash{Symbol => Array<Discorb::Event>}] The events of the extension.
51
- attr_reader :events
52
- # @return [Array<Discorb::ApplicationCommand::Command>] The commands of the extension.
53
- attr_reader :commands
54
- # @private
55
- attr_reader :bottom_commands
30
+ class << self
31
+ undef setup_commands
32
+
33
+ #
34
+ # Define a new event.
35
+ #
36
+ # @param [Symbol] event_name The name of the event.
37
+ # @param [Symbol] id The id of the event. Used to delete the event.
38
+ # @param [Hash] metadata Other metadata.
39
+ #
40
+ # @return [Discorb::Event] The event.
41
+ #
42
+ def event(event_name, id: nil, **metadata, &block)
43
+ raise ArgumentError, "Event name must be a symbol" unless event_name.is_a?(Symbol)
44
+ raise ArgumentError, "block must be given" unless block_given?
45
+
46
+ @events[event_name] ||= []
47
+ metadata[:extension] = self.name
48
+ @events[event_name] << [id, metadata, block]
49
+ end
50
+
51
+ #
52
+ # Define a new once event.
53
+ #
54
+ # @param [Symbol] event_name The name of the event.
55
+ # @param [Symbol] id The id of the event. Used to delete the event.
56
+ # @param [Hash] metadata Other metadata.
57
+ # @param [Proc] block The block to execute when the event is triggered.
58
+ #
59
+ # @return [Discorb::Event] The event.
60
+ #
61
+ def once_event(event_name, id: nil, **metadata, &block)
62
+ event(event_name, id: id, once: true, **metadata, &block)
63
+ end
56
64
 
57
- # @!visibility private
58
- attr_accessor :client
65
+ # @return [Hash{Symbol => Array<Discorb::Event>}] The events of the extension.
66
+ attr_reader :events
67
+ # @return [Array<Discorb::ApplicationCommand::Command>] The commands of the extension.
68
+ attr_reader :commands
69
+ # @private
70
+ attr_reader :bottom_commands
59
71
 
60
- def self.extended(obj)
61
- obj.instance_variable_set(:@events, {})
62
- obj.instance_variable_set(:@commands, [])
63
- obj.instance_variable_set(:@bottom_commands, [])
72
+ def inherited(klass)
73
+ klass.instance_variable_set(:@commands, [])
74
+ klass.instance_variable_set(:@bottom_commands, [])
75
+ klass.instance_variable_set(:@events, {})
76
+ end
64
77
  end
65
78
  end
66
79
  end
data/lib/discorb/file.rb CHANGED
@@ -32,7 +32,7 @@ module Discorb
32
32
  # @!attribute [r] image?
33
33
  # @return [Boolean] whether the file is an image.
34
34
 
35
- # @!visibility private
35
+ # @private
36
36
  def initialize(data)
37
37
  @id = Snowflake.new(data[:id])
38
38
  @filename = data[:filename]
@@ -60,6 +60,14 @@ module Discorb
60
60
  # @return [String] The content type of the file. If not set, it is guessed from the filename.
61
61
  attr_accessor :content_type
62
62
 
63
+ #
64
+ # Creates a new file from IO.
65
+ #
66
+ # @param [#read] io The IO of the file.
67
+ # @param [String] filename The filename of the file. If not set, path or object_id of the IO is used.
68
+ # @param [String] content_type The content type of the file. If not set, it is guessed from the filename.
69
+ # If failed to guess, it is set to `application/octet-stream`.
70
+ #
63
71
  def initialize(io, filename = nil, content_type: nil)
64
72
  @io = io
65
73
  @filename = filename || (io.respond_to?(:path) ? io.path : io.object_id)
@@ -67,8 +75,18 @@ module Discorb
67
75
  @content_type = "application/octet-stream" if @content_type == ""
68
76
  end
69
77
 
78
+ #
79
+ # Creates a new file from a string.
80
+ #
81
+ # @param [String] string The string to create the file from.
82
+ # @param [String] filename The filename of the file. object_id of the string is used if not set.
83
+ # @param [String] content_type The content type of the file. If not set, it is guessed from the filename.
84
+ #
85
+ # @return [File] The new file.
86
+ #
70
87
  def self.from_string(string, filename: nil, content_type: nil)
71
88
  io = StringIO.new(string)
89
+ filename ||= string.object_id.to_s + ".txt"
72
90
  new(io, filename, content_type: content_type)
73
91
  end
74
92
  end
@@ -16,7 +16,7 @@ module Discorb
16
16
  # Represents an event.
17
17
  #
18
18
  class GatewayEvent
19
- # @!visibility private
19
+ # @private
20
20
  def initialize(data)
21
21
  @data = data
22
22
  end
@@ -61,7 +61,7 @@ module Discorb
61
61
  alias reactor fired_by
62
62
  alias from fired_by
63
63
 
64
- # @!visibility private
64
+ # @private
65
65
  def initialize(client, data)
66
66
  @client = client
67
67
  @data = data
@@ -129,7 +129,7 @@ module Discorb
129
129
  # @return [Discorb::Message] The message the reaction was sent in.
130
130
  attr_reader :message
131
131
 
132
- # @!visibility private
132
+ # @private
133
133
  def initialize(client, data)
134
134
  @client = client
135
135
  @data = data
@@ -180,7 +180,7 @@ module Discorb
180
180
  # @return [Discorb::UnicodeEmoji, Discorb::PartialEmoji] The emoji that was reacted with.
181
181
  attr_reader :emoji
182
182
 
183
- # @!visibility private
183
+ # @private
184
184
  def initialize(client, data)
185
185
  @client = client
186
186
  @data = data
@@ -296,7 +296,7 @@ module Discorb
296
296
  # @macro client_cache
297
297
  # @return [Discorb::Guild] The guild the message was sent in.
298
298
 
299
- # @!visibility private
299
+ # @private
300
300
  def initialize(client, id, data)
301
301
  @client = client
302
302
  @id = id
@@ -328,7 +328,7 @@ module Discorb
328
328
  # @macro client_cache
329
329
  # @return [Discorb::Guild] The guild the message was sent in.
330
330
 
331
- # @!visibility private
331
+ # @private
332
332
  def initialize(client, data)
333
333
  @client = client
334
334
  @data = data
@@ -381,7 +381,7 @@ module Discorb
381
381
  # @macro client_cache
382
382
  # @return [Discorb::Member, Discorb::User] The member or user that started typing.
383
383
 
384
- # @!visibility private
384
+ # @private
385
385
  def initialize(client, data)
386
386
  @client = client
387
387
  @data = data
@@ -458,7 +458,7 @@ module Discorb
458
458
  # @macro client_cache
459
459
  # @return [Discorb::Guild] The guild where the webhook was updated.
460
460
 
461
- # @!visibility private
461
+ # @private
462
462
  def initialize(client, data)
463
463
  @client = client
464
464
  @data = data
@@ -40,7 +40,7 @@ module Discorb
40
40
  end
41
41
 
42
42
  class << self
43
- # @!visibility private
43
+ # @private
44
44
  attr_reader :types
45
45
  end
46
46
  end