Sha256: c90e76c81997d3cfd046365ce9dc51598fc991f91539a10bfbdf51d6ad379c32

Contents?: true

Size: 1.08 KB

Versions: 29

Compression:

Stored size: 1.08 KB

Contents

module Admin
  class Eval
    include Cinch::Plugin

    enable_acl(:oper)

    set(
        plugin_name: "Bot_Eval",
        help:        "Bot administrator-only private commands.\nUsage: `?er <code>`;",
    )

    # Regex
    match /e (.+)/, method: :boteval
    match /eval (.+)/, method: :boteval
    match /ereturn (.+)/, method: :botevalreturn
    match /er (.+)/, method: :botevalreturn
    match /evalmsg (.+)/, method: :botevalmsg
    match /em (.+)/, method: :botevalmsg

    def boteval(m, s)
      return unless Config.debug
      eval(s)
    rescue => e
      m.user.send "eval error: %s\n- %s (%s)" % [s, e.message, e.class.name]
    end

    def botevalreturn(m, s)
      return unless Config.debug
      return m.reply eval(s)
    rescue => e
      m.user.send "eval error: %s\n- %s (%s)" % [s, e.message, e.class.name]
    end

    def botevalmsg(m, s)
      return unless Config.debug
      return m.user.msg eval(s)
    rescue => e
      m.user.send "eval error: %s\n- %s (%s)" % [s, e.message, e.class.name]
    end

  end
end


# AutoLoad
Bot.config.plugins.plugins.push Admin::Eval

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
zetabot-2.1.2 lib/Zeta/admin/eval.rb
zetabot-2.1.1 lib/Zeta/admin/eval.rb
zetabot-2.1.0 lib/Zeta/admin/eval.rb
zetabot-2.0.9 lib/Zeta/admin/eval.rb
zetabot-2.0.8 lib/Zeta/admin/eval.rb
zetabot-2.0.7 lib/Zeta/admin/eval.rb
zetabot-2.0.6 lib/Zeta/admin/eval.rb
zetabot-2.0.5 lib/Zeta/admin/eval.rb
zetabot-2.0.4 lib/Zeta/admin/eval.rb
zetabot-2.0.3 lib/Zeta/admin/eval.rb
zetabot-2.0.2 lib/Zeta/admin/eval.rb
zetabot-2.0.1 lib/Zeta/admin/eval.rb
zetabot-2.0.0 lib/Zeta/admin/eval.rb
zetabot-1.1.0 lib/Zeta/admin/eval.rb
zetabot-1.0.7 lib/Zeta/admin/eval.rb
zetabot-1.0.6 lib/Zeta/admin/eval.rb
zetabot-1.0.5 lib/Zeta/admin/eval.rb
zetabot-1.0.4 lib/Zeta/admin/eval.rb
zetabot-1.0.3 lib/Zeta/admin/eval.rb
zetabot-1.0.2 lib/Zeta/admin/eval.rb