main
 1# frozen_string_literal: true
 2
 3require 'json'
 4require 'logger'
 5require 'net/hippie'
 6require 'open3'
 7require 'socket'
 8require 'tempfile'
 9require 'xmpp4r'
10require 'xmpp4r/muc/helper/mucbrowser'
11require 'xmpp4r/muc/helper/simplemucclient'
12require 'xmpp4r/roster/helper/roster'
13require 'yaml'
14
15require 'del/configuration'
16require 'del/default_router'
17require 'del/message'
18require 'del/repository'
19require 'del/robot'
20require 'del/send_message'
21require 'del/shell_command'
22require 'del/socket_connection'
23require 'del/socket_message'
24require 'del/socket_server'
25require 'del/source'
26require 'del/tron'
27require 'del/user'
28require 'del/version'
29require 'del/xmpp_connection'
30
31# Del the funky robosapien.
32module Del
33  def self.start(settings)
34    @configuration = Configuration.new(settings)
35    @configuration.router.register(/.*/) do |message|
36      logger.debug(message.to_s)
37    end
38    @configuration.load(settings[:startup_file])
39    bot.get_funky!(start_server: settings[:start_server])
40  end
41
42  def self.configure
43    yield configuration
44  end
45
46  def self.configuration
47    @configuration ||= Configuration.new({})
48  end
49
50  def self.logger
51    @logger ||= configuration.logger
52  end
53
54  def self.bot
55    @bot ||= Robot.new(configuration: configuration)
56  end
57end