+ Config.register Config::StringValue.new('figlet.font',
+ :default => 'smslant',
+ :desc => _('figlet font to use'),
+ :validate => Proc.new { |v| v !~ /\s|`/ },
+ :on_change => Proc.new { |bot, v| bot.plugins['figlet'].test_figlet })
+
+ Config.register Config::StringValue.new('toilet.path',
+ :default => 'toilet',
+ :desc => _('Path to the toilet program'),
+ :on_change => Proc.new { |bot, v| bot.plugins['figlet'].test_toilet })
+
+ Config.register Config::StringValue.new('toilet.font',
+ :default => 'smslant',
+ :desc => _('toilet font to use'),
+ :validate => Proc.new { |v| v !~ /\s|`/ },
+ :on_change => Proc.new { |bot, v| bot.plugins['figlet'].test_toilet })
+
+ Config.register Config::ArrayValue.new('toilet.filters',
+ :default => [],
+ :desc => _('toilet filters to use (e.g. gay, metal)'),
+ :validate => Proc.new { |v| v !~ /\s|`/ },
+ :on_change => Proc.new { |bot, v| bot.plugins['figlet'].test_toilet })
+
+ def figlet_path
+ @bot.config['figlet.path']
+ end
+
+ def toilet_path
+ @bot.config['toilet.path']
+ end
+
+ def figlet_font
+ @bot.config['figlet.font']
+ end
+
+ def toilet_font
+ @bot.config['toilet.font']
+ end
+
+ def toilet_filters
+ @bot.config['toilet.filters']
+ end
+
+ attr_reader :has, :params
+
+ def test_figlet
+ #check that figlet is present
+ @has[:figlet] = !!(Utils.safe_exec("#{figlet_path} -v") ; $?)