From d657f25be494c0b17f3d9503f65f40a62e9795b2 Mon Sep 17 00:00:00 2001 From: Stawberri Date: Thu, 15 Jan 2015 02:34:45 -0800 Subject: [PATCH] Create @user variable Since #prepare already calls twitter.user, it'd be best to just save it! --- lib/twitter_ebooks/bot.rb | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/lib/twitter_ebooks/bot.rb b/lib/twitter_ebooks/bot.rb index 69cd12e..88177b6 100644 --- a/lib/twitter_ebooks/bot.rb +++ b/lib/twitter_ebooks/bot.rb @@ -144,6 +144,8 @@ module Ebooks attr_accessor :access_token # @return [String] OAuth access secret from `ebooks auth` attr_accessor :access_token_secret + # @return [Twitter::User] Twitter user object of bot + attr_accessor :user # @return [String] Twitter username of bot attr_accessor :username # @return [Array] list of usernames to block on contact @@ -304,6 +306,16 @@ module Ebooks end end + # Updates @user and calls on_user_update. Make sure it's the right person before you call it. + def update_user_object(new_me = twitter.user) + new_me = twitter.user unless new_me.is_a? Twitter::User + + @user = new_me + @username = user.name + + fire(:user_update) + end + # Configures client and fires startup event def prepare # Sanity check @@ -323,12 +335,12 @@ module Ebooks exit 1 end - real_name = twitter.user.screen_name - - if real_name != @username - log "connected to @#{real_name}-- please update config to match Twitter account name" - @username = real_name - end + # Save old name + old_name = username + # Load user object and actual username + update_user_object + # Warn about mismatches unless it was clearly intensional + log "warning: bot expected to be @#{old_name} but connected to @#{username}" unless username == old_name || old_name.empty? fire(:startup) end