Class | ::Bot::Auth::ManagerClass |
In: |
lib/rbot/core/remote.rb
|
Parent: | Object |
We extend the ManagerClass to handle remote logins
MAX_SESSION_ID | = | 2**128 - 1 |
Creates a session id when the given password matches the given botusername
# File lib/rbot/core/remote.rb, line 46 46: def remote_login(botusername, pwd) 47: @remote_users = Hash.new unless defined? @remote_users 48: n = BotUser.sanitize_username(botusername) 49: k = n.to_sym 50: raise "No such BotUser #{n}" unless include?(k) 51: bu = @allbotusers[k] 52: if bu.remote_login(pwd) 53: raise "ran out of session ids!" if @remote_users.length == MAX_SESSION_ID 54: session_id = rand(MAX_SESSION_ID) 55: while @remote_users.has_key?(session_id) 56: session_id = rand(MAX_SESSION_ID) 57: end 58: @remote_users[session_id] = bu 59: return session_id 60: end 61: return false 62: end
Returns the botuser associated with the given session id
# File lib/rbot/core/remote.rb, line 65 65: def remote_user(session_id) 66: return everyone unless session_id 67: return nil unless defined? @remote_users 68: if @remote_users.has_key?(session_id) 69: return @remote_users[session_id] 70: else 71: return nil 72: end 73: end