Sha256: aa537ce8626d15b0cd9d0376b14320895f2b090ebf067063645df4b160286c38

Contents?: true

Size: 707 Bytes

Versions: 4

Compression:

Stored size: 707 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
  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["DISCORD_BOT_TOKEN"])

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
discorb-0.16.0 examples/simple/wait_for_message.rb
discorb-0.15.1 examples/simple/wait_for_message.rb
discorb-0.15.0 examples/simple/wait_for_message.rb
discorb-0.14.0 examples/simple/wait_for_message.rb