54 lines
832 B
Ruby
54 lines
832 B
Ruby
|
module Vrobot4::Server
|
||
|
class User
|
||
|
end
|
||
|
|
||
|
class Message
|
||
|
attr_reader :msg
|
||
|
|
||
|
def initialize msg
|
||
|
@msg = msg
|
||
|
end
|
||
|
|
||
|
def to_s
|
||
|
@msg
|
||
|
end
|
||
|
end
|
||
|
|
||
|
class Channel
|
||
|
end
|
||
|
|
||
|
class Server
|
||
|
def initialize
|
||
|
@modules = []
|
||
|
end
|
||
|
|
||
|
def loadMod mod
|
||
|
@modules << mod
|
||
|
end
|
||
|
|
||
|
def onMessage msg
|
||
|
if msg.start_with? '.'
|
||
|
onCommand msg, nil, nil
|
||
|
end
|
||
|
log :MSG, msg.to_s
|
||
|
end
|
||
|
|
||
|
def onCommand msg, cmdname, argv
|
||
|
@modules.each {|mod| mod.onCommand msg, cmdname, argv}
|
||
|
end
|
||
|
end
|
||
|
|
||
|
@@server_types = {}
|
||
|
|
||
|
def self.add_server_type t, name
|
||
|
@@server_types[name] = t
|
||
|
Vrobot4.log :INFO, "added server type:", name
|
||
|
end
|
||
|
|
||
|
def self.get_server_type s
|
||
|
@@server_types[s]
|
||
|
end
|
||
|
end
|
||
|
|
||
|
## EOF
|