Sha256: 3de7ec7cad5fc1a16b861556719f9cd9ae2da5d0581fcde005da7636d01cc326

Contents?: true

Size: 743 Bytes

Versions: 4

Compression:

Stored size: 743 Bytes

Contents

# frozen_string_literal: true

require "discorb"

client = Discorb::Client.new

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

client.on :message do |message|
  next if message.author.bot?
  next unless message.content == "!quiz"

  operator = %i[+ - *].sample
  next unless operator

  num1 = rand(1..10)
  num2 = rand(1..10)

  val = num1.send(operator, num2)
  message.channel.post("Quiz: `#{num1} #{operator} #{num2}`")
  begin
    msg = client.event_lock(:message, 30) do |m|
      m.content == val.to_s && m.channel == message.channel
    end.wait
  rescue Discorb::TimeoutError
    message.channel.post("No one answered...")
  else
    msg.reply("Correct!")
  end
end

client.run(ENV.fetch("DISCORD_BOT_TOKEN", nil))

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
discorb-0.20.0 examples/simple/wait_for_message.rb
discorb-0.19.0 examples/simple/wait_for_message.rb
discorb-0.18.1 examples/simple/wait_for_message.rb
discorb-0.18.0 examples/simple/wait_for_message.rb