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