def login
post_me = {'lgname'=>@config.user_name,'lgpassword'=>@config.password}
result = make_request('login', post_me)
login_element = result.get_elements('/api/login').first
result = login_element.attribute('result').to_s
token = login_element.attribute('token').to_s
if result.eql?('NeedToken') then
post_me = {'lgname'=>@config.user_name,'lgpassword'=>@config.password,'lgtoken'=>token}
result = make_request('login', post_me)
login_element = result.get_elements('/api/login').first
result = login_element.attribute('result').to_s
end
if result.eql?('Success') then
@config.logged_in = true
@config.user_id = login_element.attribute('lguserid').to_s
@config.lgtoken = login_element.attribute('lgtoken').to_s
@config.cookie_prefix = login_element.attribute('cookieprefix').to_s
@config.session_id = login_element.attribute('sessionid').to_s
$stderr.puts 'Bot logged in.'
return true
else
error_message = 'Login failure, result: '
if result.eql?('NotExists') then
error_message += 'Account not exists'
elsif result.eql?('WrongPass') then
error_message += 'Wrong password'
else
error_message += result
end
raise MediaWikiApiError, error_message
end
end