Add Fortune module
This commit is contained in:
parent
9d15556045
commit
09e925d695
3 changed files with 20 additions and 3 deletions
4
bot.rb
4
bot.rb
|
@ -17,9 +17,9 @@ module Lain
|
||||||
|
|
||||||
$stderr.puts 'Loading modules...'
|
$stderr.puts 'Loading modules...'
|
||||||
|
|
||||||
Config::Modules.each { |mod|
|
Config::Modules.each { |mod, cfg|
|
||||||
require_relative "modules/#{mod}"
|
require_relative "modules/#{mod}"
|
||||||
@modules[mod] = Modules.const_get(mod).new self
|
@modules[mod] = Modules.const_get(mod).new(self, cfg)
|
||||||
}
|
}
|
||||||
|
|
||||||
$stderr.puts 'Connecting...'
|
$stderr.puts 'Connecting...'
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
module Lain
|
module Lain
|
||||||
module Modules
|
module Modules
|
||||||
class Base
|
class Base
|
||||||
def initialize(lain)
|
def initialize(lain, config)
|
||||||
|
@config = config
|
||||||
end
|
end
|
||||||
|
|
||||||
def on_message(muc, message)
|
def on_message(muc, message)
|
||||||
|
|
16
modules/Fortune.rb
Normal file
16
modules/Fortune.rb
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
require 'xmpp4r/message'
|
||||||
|
|
||||||
|
require_relative '../module_base'
|
||||||
|
|
||||||
|
module Lain
|
||||||
|
module Modules
|
||||||
|
class Fortune < Base
|
||||||
|
def on_message(muc, message)
|
||||||
|
return unless message.type == :groupchat
|
||||||
|
return unless /!fortune\b/ =~ message.body
|
||||||
|
|
||||||
|
muc.send(Jabber::Message.new(message.to, IO.popen(@config['command']).gets(sep=nil).chomp))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Reference in a new issue