Organize
This commit is contained in:
parent
4304fbfe41
commit
be2b905ddb
32
ika.rb
32
ika.rb
@ -1,30 +1,8 @@
|
|||||||
require 'discordrb'
|
require 'discordrb'
|
||||||
require_relative './session'
|
require_relative './src/ika'
|
||||||
require_relative './lesson'
|
|
||||||
|
|
||||||
token = File.read("./token")
|
token = File.read("./token")
|
||||||
|
|
||||||
bot = Discordrb::Bot.new(token:)
|
ika = Ika.new Discordrb::Bot.new(token:)
|
||||||
|
|
||||||
current_session = nil
|
ika.start!
|
||||||
current_lesson = Lesson.new
|
|
||||||
|
|
||||||
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)
|
|
||||||
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!
|
|
||||||
end
|
|
||||||
|
|
||||||
current_session&.respond_to event
|
|
||||||
end
|
|
||||||
|
|
||||||
bot.run
|
|
||||||
|
48
src/ika.rb
Normal file
48
src/ika.rb
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
require_relative './session'
|
||||||
|
require_relative './lesson'
|
||||||
|
|
||||||
|
class Ika
|
||||||
|
attr_reader :bot
|
||||||
|
attr_reader :lessons, :sessions
|
||||||
|
attr_accessor :current_lesson, :current_session
|
||||||
|
|
||||||
|
def initialize(bot)
|
||||||
|
@bot = bot
|
||||||
|
@lessons = {}
|
||||||
|
@sessions = {}
|
||||||
|
@current_session = nil
|
||||||
|
@current_lesson = Lesson.new
|
||||||
|
end
|
||||||
|
|
||||||
|
def start!
|
||||||
|
bot.remove_handler @message_handler if @message_handler
|
||||||
|
|
||||||
|
@message_handler = bot.message do |message|
|
||||||
|
handle_message message
|
||||||
|
end
|
||||||
|
|
||||||
|
bot.run # you can run this in the background, idk
|
||||||
|
end
|
||||||
|
|
||||||
|
def end!
|
||||||
|
bot.remove_handler @message_handler if @message_handler
|
||||||
|
end
|
||||||
|
|
||||||
|
def handle_message message
|
||||||
|
if message.message.content == "!init"
|
||||||
|
return message.respond("There's already a session running") unless current_session.nil?
|
||||||
|
|
||||||
|
return current_session = Session.new(message, event.message.author)
|
||||||
|
elsif message.message.content == "!lesson"
|
||||||
|
return message.respond("There's already a lesson running") if current_lesson.running?
|
||||||
|
|
||||||
|
message.respond("Starting a lesson now!")
|
||||||
|
return current_lesson.start!(message.channel)
|
||||||
|
elsif message.message.content == "!stoplesson"
|
||||||
|
return message.respond("There's no lesson running") unless current_lesson.running?
|
||||||
|
|
||||||
|
message.respond("Ending the current lesson!")
|
||||||
|
return current_lesson.stop!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user