2025-08-12 06:09:47 -04:00
|
|
|
require 'discordrb'
|
|
|
|
require_relative './session'
|
2025-08-14 20:02:00 -04:00
|
|
|
require_relative './lesson'
|
2025-08-12 06:09:47 -04:00
|
|
|
|
|
|
|
token = File.read("./token")
|
|
|
|
|
|
|
|
bot = Discordrb::Bot.new(token:)
|
|
|
|
|
|
|
|
current_session = nil
|
2025-08-14 20:02:00 -04:00
|
|
|
current_lesson = Lesson.new
|
2025-08-12 06:09:47 -04:00
|
|
|
|
|
|
|
bot.message do |event|
|
|
|
|
if event.message.content == "!init"
|
|
|
|
next event.respond("There's already a session running") unless current_session.nil?
|
|
|
|
|
|
|
|
next current_session = Session.new(event, event.message.author)
|
2025-08-14 20:02:00 -04:00
|
|
|
elsif event.message.content == "!lesson"
|
|
|
|
next event.respond("There's already a lesson running") if current_lesson.running?
|
|
|
|
event.respond("Starting a lesson now!")
|
|
|
|
next current_lesson.start!(event.channel)
|
|
|
|
elsif event.message.content == "!stoplesson"
|
|
|
|
next event.respond("There's no lesson running") unless current_lesson.running?
|
|
|
|
event.respond("Ending the current lesson!")
|
|
|
|
next current_lesson.stop!
|
2025-08-12 06:09:47 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
current_session&.respond_to event
|
|
|
|
end
|
|
|
|
|
|
|
|
bot.run
|