commandrb 0.4.4 → 0.4.8

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 (4) hide show
  1. checksums.yaml +5 -5
  2. data/lib/commandrb.rb +298 -278
  3. data/lib/helper.rb +34 -37
  4. metadata +7 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 5e9df314b41310e8efa2142d628ed0c7ecbf9c4c
4
- data.tar.gz: b79dbcade06d8c7cf39c6a974b5b0257f6126c5d
2
+ SHA256:
3
+ metadata.gz: 89f754aad75f12c277404a9411affd57fa77f44b191b6be620db935c95ee40d7
4
+ data.tar.gz: fba97e0c044f0357c40d38e40786ef95d86f96711f64722df02c794130541e63
5
5
  SHA512:
6
- metadata.gz: 25a2630312374f10a2d30986c9bf130102b7bba611a0f5efca17e53de67b0aad5cf4ed1a5382f786fcfa8e62ed33d044426209d5280917488380ed7198d89753
7
- data.tar.gz: e9cc3ba89ec2457186d6548621753a82e03fb675f5b4f7851b9b71c0047c80bce9301b900e57738bc2ce95786c652701c6cd43205241743762a9fb0d0c86e6e7
6
+ metadata.gz: b448742362cc9fb63fa98b9be809fbe25df58b937f0c72047a575e11d7e99a898c44fa240abd18cb9c67ad3ceebc576ae55758d13e6a4c8fd746aa8970b08d4c
7
+ data.tar.gz: 349cc028596ef2e133d651a4e33aee55e84bf9b87ee1de0361dc637f22191f2a4caf062d3d623d6d8be90f13def3bd734c93fe41b582f2626acfc6abd132b463
@@ -1,278 +1,298 @@
1
- require_relative 'helper'
2
-
3
- class CommandrbBot
4
-
5
- ENV['COMMANDRB_MODE'] == 'debug' ? @debug_mode = true : @debug_mode = false
6
-
7
- # Be able to adjust the config on the fly.
8
- attr_accessor :config
9
-
10
- # Needed to run the bot, or create custom events.
11
- attr_accessor :bot
12
-
13
- # Can manually manipulate commands using this.
14
- attr_accessor :commands
15
-
16
- # Lets you change global prefixes while the bot is running (Not recommended!)
17
- attr_accessor :prefixes
18
-
19
-
20
- def add_command(name, attributes = {})
21
- @commands[name.to_sym] = attributes
22
- end
23
-
24
- def remove_command(name)
25
- begin
26
- @commands.delete(name)
27
- rescue
28
- return false
29
- end
30
- true
31
- end
32
-
33
- def initialize(init_hash)
34
-
35
- # Setup the variables for first use.
36
- @commands = {}
37
- @prefixes = []
38
- @config = init_hash
39
-
40
- # Load sane defaults for options that aren't specified.
41
-
42
- # @config[:prefix_type] = 'rescue' if @config[:prefix_type].nil?
43
- @config[:typing_default] = false if @config[:typing_default].nil?
44
- @config[:selfbot] = false if @config[:selfbot].nil?
45
- @config[:delete_activators] = false if @config[:delete_activators].nil?
46
-
47
- if @config[:token].nil? or init_hash[:token] == ''
48
- raise 'No token supplied in init hash!'
49
- end
50
-
51
- init_parse_self = init_hash[:parse_self] rescue nil
52
- init_type = @config[:type]
53
-
54
- if init_type == :bot
55
- if init_hash[:client_id].nil?
56
- raise 'No client ID or invalid client ID supplied in init hash!'
57
- end
58
- end
59
-
60
- @config[:owners] = init_hash[:owners]
61
- @config[:owners] = [] if @config[:owners].nil?
62
-
63
- @prefixes = init_hash[:prefixes]
64
-
65
- @bot = Discordrb::Bot.new(
66
- token: @config[:token],
67
- client_id: @config[:client_id],
68
- parse_self: init_parse_self,
69
- type: @config[:type]
70
- )
71
-
72
- unless init_hash[:ready].nil?
73
- @bot.ready do |event|
74
- event.bot.game = @config[:game] unless config[:game].nil?
75
- init_hash[:ready].call(event)
76
- end
77
- end
78
-
79
-
80
- # Command processing
81
- @bot.message do |event|
82
- @finished = false
83
- @command = nil
84
- @event = nil
85
- @chosen = nil
86
- @args = nil
87
- @rawargs = nil
88
- @continue = false
89
- @prefixes.each { |prefix|
90
- break if @finished
91
- if event.message.content.start_with?(prefix)
92
-
93
- @commands.each { | key, command |
94
- break if @finished
95
- puts ":: Considering #{key.to_s}" if @debug_mode
96
- triggers = command[:triggers].nil? ? [key.to_s] : command[:triggers]
97
-
98
- triggers.each { |trigger|
99
- @activator = prefix + trigger.to_s
100
- puts @activator if @debug_mode
101
- @activator = @activator.downcase
102
- if event.message.content.downcase.start_with?(@activator)
103
- puts "Prefix matched! #{@activator}" if @debug_mode
104
-
105
- # Continue only if you've already chosen a choice.
106
- if @chosen.nil?
107
- puts "First match obtained!" if @debug_mode
108
- @continue = true
109
- @chosen = @activator
110
- else
111
- # If the new activator begins with the chosen one, then override it.
112
- # Example: sh is chosen, shell is the new one.
113
- # In this example, shell would override sh, preventing ugly bugs.
114
- if @activator.start_with?(@chosen)
115
- puts "#{@activator} just overrode #{@chosen}" if @debug_mode
116
- @chosen = @activator
117
- # Otherwhise, just give up.
118
- else
119
- puts "Match failed..." if @debug_mode
120
- next
121
- end
122
- # If you haven't chosen yet, get choosing!
123
- end
124
- end
125
- }
126
-
127
- puts "Result: #{@chosen}" if @debug_mode
128
-
129
- unless @continue
130
- next
131
- end
132
- puts "Final result: #{@chosen}" if @debug_mode
133
-
134
- break if @config[:selfbot] && event.user.id != @bot.profile.id
135
-
136
- # Command flag defaults
137
- command[:catch_errors] = @config[:catch_errors] if command[:catch_errors].nil?
138
- command[:owners_only] = false if command[:owners_only].nil?
139
- command[:max_args] = 2000 if command[:max_args].nil?
140
- command[:server_only] = false if command[:server_only].nil?
141
- command[:typing] = @config[:typing_default] if command[:typing_default].nil?
142
- command[:delete_activator] = @config[:delete_activators] if command[:delete_activator].nil?
143
- command[:owner_override] = false if command[:owner_override].nil?
144
-
145
- # If the command is set to owners only and the user is not the owner, show error and abort.
146
- puts "[DEBUG] Command being processed: '#{command}'" if @debug_mode
147
- puts "[DEBUG] Owners only? #{command[:owners_only]}" if @debug_mode
148
- if command[:owners_only]
149
- unless @config[:owners].include?(event.user.id)
150
- event.channel.send_message('', false,
151
- Helper.error_embed(
152
- error: "You don't have permission for that!\nOnly owners are allowed to access this command.",
153
- footer: "Command: `#{event.message.content}`",
154
- colour: 0xFA0E30,
155
- code_error: false
156
- )
157
- )
158
- puts 'Were returning!'
159
- @finished = true
160
- next
161
- end
162
- end
163
-
164
- # If the settings are to delete activating messages, then do that.
165
- # I'm *hoping* this doesn't cause issues with argument extraction.
166
- event.message.delete if command[:delete_activator]
167
-
168
- # If the command is only for use in servers, display error and abort.
169
- if command[:server_only] && event.channel.private?
170
- # For selfbots, a fancy embed will be used. WIP.
171
- if @config[:selfbot]
172
- event.channel.send_embed do |embed|
173
- embed.colour = 0x221461
174
- embed.title = '❌ An error has occured!'
175
- embed.description = 'This command can only be used in servers!'
176
- embed.footer = Discordrb::Webhooks::EmbedFooter.new(text: "Command: '#{event.message.content}'")
177
- end
178
- else
179
- # If its not a selfbot, an ordinary message will be shown, may be changed to embed later.
180
- event.respond('❌ This command will only work in servers!')
181
- end
182
- # Abort!
183
- @finished = true
184
- next
185
- end
186
-
187
- # If the user is a bot and the command is set to not pass bots OR the user is a bot and the global config is to not parse bots...
188
- # ...then abort :3
189
- if (event.user.bot_account? && command[:parse_bots] == false) || (event.user.bot_account? && @config[:parse_bots] == false)
190
- # Abort!
191
- @finished = true
192
- next
193
- end
194
-
195
- # If the config is setup to show typing messages, then do so.
196
- event.channel.start_typing if command[:typing]
197
-
198
- args = event.message.content.split(' ')
199
- # Parse args if args exist !
200
- begin
201
- spaces = 1
202
- # Prefixes with spaces are special and need to be parsed differently : )
203
- if prefix.include? " "
204
- spaces += prefix.count(' ')
205
- args = event.message.content.slice!(args[0].size + args[1].size + spaces, event.message.content.size)
206
- else
207
- args = event.message.content.slice!(args[0].size + spaces, event.message.content.size)
208
- end
209
- # Split the argmuents into an array for easy usage but keep the raw args !!
210
- rawargs = args
211
- args = args.split(/ /)
212
- rescue NoMethodError # Not the most elegant solution but it'll do. TODO: Make a more elegant solution.
213
- args = []
214
- end
215
-
216
-
217
- # Check the number of args for the command.
218
- unless command[:max_args].nil?
219
- if command[:max_args] > 0 && args.length > command[:max_args]
220
- event.channel.send_message('', false,
221
- Helper.error_embed(
222
- error: "Too many arguments! \nMax arguments: `#{command[:max_args]}`",
223
- footer: "Command: `#{event.message.content}`",
224
- colour: 0xFA0E30,
225
- code_error: false
226
- )
227
- )
228
- @finished = true
229
- break
230
- end
231
- end
232
-
233
- unless command[:required_permissions].nil?
234
- command[:required_permissions].each { |x|
235
- unless event.user.on(event.server).permission?(x,event.channel) || (command[:owner_override] && @config[:owners].include?(event.user.id) )
236
- event.channel.send_message('', false,
237
- Helper.error_embed(
238
- error: "You don't have permission for that!\nPermission required: `#{x.to_s}`",
239
- footer: "Command: `#{event.message.content}`",
240
- colour: 0xFA0E30,
241
- code_error: false
242
- )
243
- )
244
- @finished = true
245
- break
246
- end
247
- }
248
- end
249
-
250
- unless @finished
251
- # If the command is configured to catch all errors, thy shall be done.
252
- if !command[:catch_errors] || @config['catch_errors']
253
- # Run the command code!
254
- command[:code].call(event, args, rawargs)
255
- else
256
- # Run the command code, but catch all errors and output accordingly.
257
- begin
258
- command[:code].call(event, args, rawargs)
259
- rescue Exception => e
260
- event.respond("❌ An error has occured!! ```ruby\n#{e}```Please contact the bot owner with the above message for assistance.")
261
- end
262
- end
263
- end
264
-
265
- # All done here.
266
- puts "Finished!! Executed command: #{@chosen}" if @debug_mode
267
- @command = command
268
- @event = event
269
- @args = args
270
- @rawargs = rawargs
271
- @finished = true
272
- break
273
- }
274
- end
275
- }
276
- end
277
- end
278
- end
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class CommandrbBot
6
+ @debug_mode = ENV['COMMANDRB_MODE'] == 'debug'
7
+ @debug_mode = true
8
+ # Be able to adjust the config on the fly.
9
+ attr_accessor :config
10
+
11
+ # Needed to run the bot, or create custom events.
12
+ attr_accessor :bot
13
+
14
+ # Can manually manipulate commands using this.
15
+ attr_accessor :commands
16
+
17
+ # Lets you change global prefixes while the bot is running (Not recommended!)
18
+ attr_accessor :prefixes
19
+
20
+ def add_command(name, attributes = {})
21
+ @commands[name.to_sym] = attributes
22
+ end
23
+
24
+ def remove_command(name)
25
+ begin
26
+ @commands.delete(name)
27
+ rescue StandardError
28
+ return false
29
+ end
30
+ true
31
+ end
32
+
33
+ # By defining this seperately. we allow you to overwrite it and use your own owner list.
34
+ # Your checks will instead be run by commandrb and allow you to use :owner_only as normal.
35
+ def owner?(id)
36
+ @config[:owners].include?(id)
37
+ end
38
+
39
+ alias is_owner? owner?
40
+
41
+ def initialize(init_hash)
42
+ # Setup the variables for first use.
43
+ @commands = {}
44
+ @prefixes = []
45
+ @config = init_hash
46
+
47
+ # Load sane defaults for options that aren't specified.
48
+
49
+ # @config[:prefix_type] = 'rescue' if @config[:prefix_type].nil?
50
+ @config[:typing_default] = false if @config[:typing_default].nil?
51
+ @config[:selfbot] = false if @config[:selfbot].nil?
52
+ @config[:delete_activators] = false if @config[:delete_activators].nil?
53
+
54
+ raise 'No token supplied in init hash!' if @config[:token].nil? || (init_hash[:token] == '')
55
+
56
+ init_parse_self = begin
57
+ init_hash[:parse_self]
58
+ rescue StandardError
59
+ nil
60
+ end
61
+ init_type = @config[:type]
62
+
63
+ if init_type == :bot
64
+ raise 'No client ID or invalid client ID supplied in init hash!' if init_hash[:client_id].nil?
65
+ end
66
+
67
+ @config[:owners] = init_hash[:owners]
68
+ @config[:owners] = [] if @config[:owners].nil?
69
+
70
+ @prefixes = init_hash[:prefixes]
71
+
72
+ @bot = Discordrb::Bot.new(
73
+ token: @config[:token],
74
+ client_id: @config[:client_id],
75
+ parse_self: init_parse_self,
76
+ type: @config[:type]
77
+ )
78
+
79
+ unless init_hash[:ready].nil?
80
+ @bot.ready do |event|
81
+ event.bot.game = @config[:game] unless config[:game].nil?
82
+ init_hash[:ready].call(event)
83
+ end
84
+ end
85
+
86
+ # Command processing
87
+ @bot.message do |event|
88
+ finished = false
89
+ chosen = nil
90
+ args = nil
91
+ rawargs = nil
92
+ continue = false
93
+ failed = false
94
+ @prefixes.each do |prefix|
95
+ break if finished
96
+
97
+ next unless event.message.content.start_with?(prefix)
98
+
99
+ @commands.each do |key, command|
100
+ break if finished
101
+
102
+ puts ":: Considering #{key}" if @debug_mode == true
103
+ triggers = command[:triggers].nil? ? [key.to_s] : command[:triggers]
104
+
105
+ triggers.each do |trigger|
106
+ activator = prefix + trigger.to_s
107
+ puts activator if @debug_mode == true
108
+ activator = activator.downcase
109
+ next unless event.message.content.downcase.start_with?(activator)
110
+
111
+ puts "Prefix matched! #{activator}" if @debug_mode == true
112
+
113
+ # Continue only if you've already chosen a choice.
114
+ if chosen.nil?
115
+ puts 'First match obtained!' if @debug_mode == true
116
+ continue = true
117
+ chosen = activator
118
+ else
119
+ # If the new activator begins with the chosen one, then override it.
120
+ # Example: sh is chosen, shell is the new one.
121
+ # In this example, shell would override sh, preventing ugly bugs.
122
+ if activator.start_with?(chosen)
123
+ puts "#{activator} just overrode #{chosen}" if @debug_mode == true
124
+ chosen = activator
125
+ # Otherwhise, just give up.
126
+ else
127
+ puts 'Match failed...' if @debug_mode == true
128
+ next
129
+ end
130
+ # If you haven't chosen yet, get choosing!
131
+ end
132
+ end
133
+
134
+ puts "Result: #{chosen}" if @debug_mode == true
135
+
136
+ next unless continue
137
+
138
+ puts "Final result: #{chosen}" if @debug_mode == true
139
+
140
+ break if @config[:selfbot] && event.user.id != @bot.profile.id
141
+
142
+ # Command flag defaults
143
+ command[:catch_errors] = @config[:catch_errors] if command[:catch_errors].nil?
144
+ command[:owners_only] = false if command[:owners_only].nil?
145
+ command[:max_args] = 2000 if command[:max_args].nil?
146
+ command[:min_args] = 0 if command[:min_args].nil?
147
+ command[:server_only] = false if command[:server_only].nil?
148
+ command[:typing] = @config[:typing_default] if command[:typing_default].nil?
149
+ if command[:delete_activator].nil?
150
+ command[:delete_activator] = @config[:delete_activators]
151
+ end
152
+ command[:owner_override] = false if command[:owner_override].nil?
153
+
154
+ # If the settings are to delete activating messages, then do that.
155
+ # I'm *hoping* this doesn't cause issues with argument extraction.
156
+ event.message.delete if command[:delete_activator]
157
+
158
+ # If the command is only for use in servers, display error and abort.
159
+ unless failed
160
+ if command[:server_only] && event.channel.private?
161
+ # For selfbots, a fancy embed will be used. WIP.
162
+ if @config[:selfbot]
163
+ event.channel.send_embed do |embed|
164
+ embed.colour = 0x221461
165
+ embed.title = ' An error has occured!'
166
+ embed.description = 'This command can only be used in servers!'
167
+ embed.footer = Discordrb::Webhooks::EmbedFooter.new(text: "Command: '#{event.message.content}'")
168
+ end
169
+ else
170
+ # If its not a selfbot, an ordinary message will be shown, may be changed to embed later.
171
+ event.respond('❌ This command will only work in servers!')
172
+ end
173
+ # Abort!
174
+ finished = true
175
+ next
176
+ end
177
+ end
178
+
179
+ # If the user is a bot and the command is set to not pass bots OR the user is a bot and the global config is to not parse bots...
180
+ # ...then abort :3
181
+ if (event.user.bot_account? && command[:parse_bots] == false) || (event.user.bot_account? && @config[:parse_bots] == false)
182
+ # Abort!
183
+ finished = true
184
+ next
185
+ end
186
+
187
+ # If the config is setup to show typing messages, then do so.
188
+ event.channel.start_typing if command[:typing]
189
+
190
+ args = event.message.content.split(' ')
191
+ # Parse args if args exist !
192
+ begin
193
+ spaces = 1
194
+ # Prefixes with spaces are special and need to be parsed differently : )
195
+ if prefix.include? ' '
196
+ spaces += prefix.count(' ')
197
+ args = event.message.content.slice!(args[0].size + args[1].size + spaces, event.message.content.size)
198
+ else
199
+ args = event.message.content.slice!(args[0].size + spaces, event.message.content.size)
200
+ end
201
+ # Split the argmuents into an array for easy usage but keep the raw args !!
202
+ rawargs = args
203
+ args = args.split(/ /)
204
+ rescue NoMethodError # Not the most elegant solution but it'll do. TODO: Make a more elegant solution.
205
+ args = []
206
+ end
207
+
208
+ # Check the number of args for the command.
209
+ unless command[:max_args].nil? || failed
210
+ if command[:max_args] > 0 && args.length > command[:max_args]
211
+ send_error = Helper.error_embed(
212
+ error: "Too many arguments! \nMax arguments: `#{command[:max_args]}`",
213
+ footer: "Command: `#{event.message.content}`",
214
+ colour: 0xFA0E30,
215
+ code_error: false
216
+ )
217
+ failed = true
218
+ end
219
+ end
220
+
221
+ # Check the number of args for the command.
222
+ unless command[:min_args].nil? || failed
223
+ if command[:min_args] > 0 && args.length < command[:min_args]
224
+ send_error = Helper.error_embed(
225
+ error: "Too few arguments! \nMin arguments: `#{command[:min_args]}`",
226
+ footer: "Command: `#{event.message.content}`",
227
+ colour: 0xFA0E30,
228
+ code_error: false
229
+ )
230
+ failed = true
231
+ end
232
+ end
233
+
234
+ unless command[:required_permissions].nil? || failed
235
+ command[:required_permissions].each do |x|
236
+ if event.user.on(event.server).permission?(x, event.channel) || (command[:owner_override] && @config[:owners].include?(event.user.id))
237
+ next
238
+ end
239
+
240
+ send_error = Helper.error_embed(
241
+ error: "You don't have permission for that!\nPermission required: `#{x}`",
242
+ footer: "Command: `#{event.message.content}`",
243
+ colour: 0xFA0E30,
244
+ code_error: false
245
+ )
246
+ failed = true
247
+ end
248
+ end
249
+
250
+ # If the command is set to owners only and the user is not the owner, show error and abort.
251
+ puts "[DEBUG] Command being processed: '#{command}'" if @debug_mode == true
252
+ puts "[DEBUG] Owners only? #{command[:owners_only]}" if @debug_mode == true
253
+ if command[:owners_only]
254
+ unless owner?(event.user.id)
255
+
256
+ send_error = Helper.error_embed(
257
+ error: "You don't have permission for that!\nOnly owners are allowed to access this command.",
258
+ footer: "Command: `#{event.message.content}`",
259
+ colour: 0xFA0E30,
260
+ code_error: false
261
+ )
262
+ failed = true
263
+ # next
264
+ end
265
+ end
266
+
267
+ unless finished
268
+ # If the command is configured to catch all errors, thy shall be done.
269
+ # Run the command code!
270
+ if failed
271
+ if command[:failcode].nil?
272
+ if send_error.nil?
273
+ event.respond(':x: An unknown error has occured!')
274
+ else
275
+ event.channel.send_message('', false, send_error)
276
+ end
277
+ else
278
+ command[:failcode]&.call(event, args, rawargs)
279
+ end
280
+ else
281
+ command[:code].call(event, args, rawargs)
282
+ end
283
+ end
284
+
285
+ # All done here.
286
+ puts "Finished!! Executed command: #{chosen}" if @debug_mode == true
287
+ failed = false
288
+ command = command
289
+ event = event
290
+ args = args
291
+ rawargs = rawargs
292
+ finished = true
293
+ break
294
+ end
295
+ end
296
+ end
297
+ end
298
+ end
@@ -1,37 +1,34 @@
1
- class CommandrbBot
2
- module Helper
3
- def self.error_embed(error: nil, footer: nil, colour: nil, color: nil, code_error: true)
4
- if error.nil? or footer.nil?
5
- raise 'Invalid arguments for Helper.error_embed!'
6
- else
7
- if color.nil? and colour.nil?
8
- colour = 0x22ef1f
9
- end
10
- Discordrb::Webhooks::Embed.new(
11
- title: '❌ An error has occured!',
12
- description: code_error ? "```ruby\n#{error}```" : error,
13
- colour: colour || color,
14
- footer: Discordrb::Webhooks::EmbedFooter.new(text: footer)
15
- )
16
- end
17
- end
18
-
19
- def self.avatar_embed(color: nil, colour: nil, url: nil, username: nil, time: Time.now.getutc.asctime)
20
- if url.nil?
21
- raise 'Invalid arguments for Helper.avatar_embed!'
22
- else
23
- if color.nil? and colour.nil?
24
- colour = 0x22ef1f
25
- end
26
- username = username.nil? ? 'Unknown User' : username
27
- Discordrb::Webhooks::Embed.new(
28
- colour: colour || color,
29
- image: Discordrb::Webhooks::EmbedImage.new(url: url),
30
- author: Discordrb::Webhooks::EmbedAuthor.new(name: "Avatar for #{username}", url: url),
31
- footer: Discordrb::Webhooks::EmbedFooter.new(text: "Avatar correct as of #{time}")
32
- )
33
- end
34
- end
35
-
36
- end
37
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CommandrbBot
4
+ module Helper
5
+ def self.error_embed(error: nil, footer: nil, colour: nil, color: nil, code_error: true)
6
+ if error.nil? || footer.nil?
7
+ raise 'Invalid arguments for Helper.error_embed!'
8
+ else
9
+ colour = 0x22ef1f if color.nil? && colour.nil?
10
+ Discordrb::Webhooks::Embed.new(
11
+ title: '❌ An error has occured!',
12
+ description: code_error ? "```ruby\n#{error}```" : error,
13
+ colour: colour || color,
14
+ footer: Discordrb::Webhooks::EmbedFooter.new(text: footer)
15
+ )
16
+ end
17
+ end
18
+
19
+ def self.avatar_embed(color: nil, colour: nil, url: nil, username: nil, time: Time.now.getutc.asctime)
20
+ if url.nil?
21
+ raise 'Invalid arguments for Helper.avatar_embed!'
22
+ else
23
+ colour = 0x22ef1f if color.nil? && colour.nil?
24
+ username = username.nil? ? 'Unknown User' : username
25
+ Discordrb::Webhooks::Embed.new(
26
+ colour: colour || color,
27
+ image: Discordrb::Webhooks::EmbedImage.new(url: url),
28
+ author: Discordrb::Webhooks::EmbedAuthor.new(name: "Avatar for #{username}", url: url),
29
+ footer: Discordrb::Webhooks::EmbedFooter.new(text: "Avatar correct as of #{time}")
30
+ )
31
+ end
32
+ end
33
+ end
34
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commandrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.4.8
5
5
  platform: ruby
6
6
  authors:
7
- - Erisa Komuro (Seriel)
7
+ - Erisa A
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-23 00:00:00.000000000 Z
11
+ date: 2020-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: discordrb
@@ -31,14 +31,14 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: 3.1.0
33
33
  description: A customisable and easy to use Commands System for Discordrb.
34
- email: seriel@fl0.co
34
+ email: seriel@erisa.moe
35
35
  executables: []
36
36
  extensions: []
37
37
  extra_rdoc_files: []
38
38
  files:
39
39
  - lib/commandrb.rb
40
40
  - lib/helper.rb
41
- homepage: https://github.com/Seriell/commandrb
41
+ homepage: https://github.com/Yuuki-Discord/commandrb
42
42
  licenses:
43
43
  - MIT
44
44
  metadata: {}
@@ -50,15 +50,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '2.1'
53
+ version: '2.4'
54
54
  required_rubygems_version: !ruby/object:Gem::Requirement
55
55
  requirements:
56
56
  - - ">="
57
57
  - !ruby/object:Gem::Version
58
58
  version: '0'
59
59
  requirements: []
60
- rubyforge_project:
61
- rubygems_version: 2.6.13
60
+ rubygems_version: 3.1.2
62
61
  signing_key:
63
62
  specification_version: 4
64
63
  summary: Commandrb