46 lines
1.0 KiB
Ruby
46 lines
1.0 KiB
Ruby
require 'cinch'
|
|
require_relative 'Util.rb'
|
|
module Hooks
|
|
module AuthHook
|
|
include Cinch::Plugin
|
|
hook :pre, { method: :is_authed }
|
|
def is_authed(m)
|
|
user = m.user;
|
|
if m.authed?
|
|
Thread.current[:authpass] = true
|
|
return true
|
|
else
|
|
Thread.current[:authpass] = false
|
|
return false;
|
|
end
|
|
end
|
|
end
|
|
module ACLHook
|
|
include Cinch::Plugin
|
|
@@levelRequired = 0
|
|
def aclcheck(m)
|
|
user = m.user.name
|
|
users = Util::Util.instance.getCollection("acl","users")
|
|
p users
|
|
name = Util::Util.instance.hton("#{m.bot.config.server}:#{m.bot.config.port}")
|
|
p name
|
|
rs = users.find({'user' => user, 'server' => name})
|
|
res = rs.to_a[0]
|
|
p res
|
|
Thread.current[:result] = res
|
|
res = {
|
|
:level => 0
|
|
} if res.nil?
|
|
|
|
if res[:level] and res[:level].to_i >= @@levelRequired.to_i
|
|
Thread.current[:aclpass] = true
|
|
return true
|
|
else
|
|
Thread.current[:aclpass] = false
|
|
return false;
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|