ika_bot/lib/ika.rb
2025-08-28 21:02:26 -04:00

27 lines
506 B
Ruby

require_relative './session'
require_relative './message'
require_relative './ika/plugin'
class Ika
attr_reader :plugins
PLUGIN_TYPES = [
Plugin::HelpPlugin,
Plugin::LessonPlugin,
Plugin::DrillPlugin
]
def self.for(type:, **kwargs)
type.new **kwargs
end
def initialize
@current_session = nil
@plugins = PLUGIN_TYPES.map { |plugin_type| plugin_type.new self }
end
def handle_message(message)
plugins.find { |plugin| plugin.handle_message message }
end
end