Sha256: 936b30f26c7543dc2531f4a2b6e3e44bf86ef5bd66ef01a70c4b7dc1d7a70d23

Contents?: true

Size: 1.09 KB

Versions: 26

Compression:

Stored size: 1.09 KB

Contents

require "discorb"

client = Discorb::Client.new

client.once :ready do
  puts "Logged in as #{client.user}"
end

client.on :message do |message|
  next if message.author.bot?
  next unless message.content.start_with?("eval ")

  unless message.author.bot_owner?.wait
    message.reply("You don't have permission to use this command.")
    next
  end

  code = message.content.delete_prefix("eval ").delete_prefix("```rb").delete_suffix("```")
  message.add_reaction(Discorb::UnicodeEmoji["clock3"])
  res = eval("Async { |task| #{code} }.wait", binding, __FILE__, __LINE__) # rubocop:disable Security/Eval
  message.remove_reaction(Discorb::UnicodeEmoji["clock3"])
  message.add_reaction(Discorb::UnicodeEmoji["white_check_mark"])
  unless res.nil?
    res = res.wait if res.is_a? Async::Task
    message.channel.post("```rb\n#{res.inspect[...1990]}\n```")
  end
rescue Exception => error
  message.reply embed: Discorb::Embed.new("Error!", "```rb\n#{error.full_message(highlight: false)[...1990]}\n```",
                                          color: Discorb::Color[:red])
end

client.run(ENV["discord_bot_token"])

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
discorb-0.7.6 examples/simple/eval.rb
discorb-0.7.3 examples/simple/eval.rb
discorb-0.7.2 examples/simple/eval.rb
discorb-0.7.1 examples/simple/eval.rb
discorb-0.7.0 examples/simple/eval.rb
discorb-0.6.1 examples/simple/eval.rb
discorb-0.6.0 examples/simple/eval.rb
discorb-0.5.6 examples/simple/eval.rb
discorb-0.5.5 examples/simple/eval.rb
discorb-0.5.4 examples/simple/eval.rb
discorb-0.5.3 examples/simple/eval.rb
discorb-0.5.2 examples/simple/eval.rb
discorb-0.5.1 examples/simple/eval.rb
discorb-0.5.0 examples/simple/eval.rb
discorb-0.4.2 examples/simple/eval.rb
discorb-0.4.1 examples/simple/eval.rb
discorb-0.4.0 examples/simple/eval.rb
discorb-0.3.1 examples/simple/eval.rb
discorb-0.3.0 examples/simple/eval.rb
discorb-0.2.5 examples/simple/eval.rb