Skip to content

Commit 589bb21

Browse files
committed
feat: message stickers - Item subclass
1 parent f7573bc commit 589bb21

File tree

2 files changed

+34
-32
lines changed

2 files changed

+34
-32
lines changed

lib/discordrb/data/message.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ def initialize(data, bot)
233233
@pinned_at = data['pinned_at'] ? Time.parse(data['pinned_at']) : nil
234234

235235
@sticker_items = []
236-
@sticker_items = data['sticker_items'].map { |e| Sticker.new(e, self, @bot) } if data['sticker_items']
236+
@sticker_items = data['sticker_items'].map { |e| Sticker::Item.new(e, self, @bot) } if data['sticker_items']
237237

238238
@call = data['call'] ? Call.new(data['call'], @bot) : nil
239239

lib/discordrb/data/sticker.rb

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,53 +3,55 @@
33
module Discordrb
44
# Server sticker
55
class Sticker
6-
include IDObject
7-
86
FORMATS = {
97
png: 1,
108
apng: 2,
119
lottie: 3,
1210
gif: 4
1311
}.freeze
1412

15-
FORMATS.each do |name, value|
16-
define_method("#{name}?") do
17-
@format_type == value
13+
class Item
14+
include IDObject
15+
16+
FORMATS.each do |name, value|
17+
define_method("#{name}?") do
18+
@format_type == value
19+
end
1820
end
19-
end
2021

21-
# @return [Message] the message this sticker belongs to.
22-
attr_reader :message
22+
# @return [Message] the message this sticker belongs to.
23+
attr_reader :message
2324

24-
# @return [String] the sticker name
25-
attr_reader :name
25+
# @return [String] the sticker name
26+
attr_reader :name
2627

27-
# @return [String] the sticker description
28-
attr_reader :description
28+
# @return [String] the sticker description
29+
attr_reader :description
2930

30-
# @return [Integer] the sticker type
31-
attr_reader :format_type
31+
# @return [Integer] the sticker type
32+
attr_reader :format_type
3233

33-
# @return [String] the sticker extension
34-
attr_reader :extension
34+
# @return [String] the sticker extension
35+
attr_reader :extension
3536

36-
# @!visibility private
37-
def initialize(data, message, bot)
38-
@bot = bot
39-
@message = message
37+
# @!visibility private
38+
def initialize(data, message, bot)
39+
@bot = bot
40+
@message = message
4041

41-
@name = data['name']
42-
@description = data['description']
43-
@id = data['id']&.to_i
44-
@format_type = data['format_type']
42+
@name = data['name']
43+
@description = data['description']
44+
@id = data['id']&.to_i
45+
@format_type = data['format_type']
4546

46-
case @format_type
47-
when 1, 2
48-
@extension = 'png'
49-
when 3
50-
@extension = 'json'
51-
when 4
52-
@extension = 'gif'
47+
case @format_type
48+
when 1, 2
49+
@extension = 'png'
50+
when 3
51+
@extension = 'json'
52+
when 4
53+
@extension = 'gif'
54+
end
5355
end
5456
end
5557
end

0 commit comments

Comments
 (0)