def do_user_tweet(event, kbvars): """Sends a tweet using the user's account (if any).""" user = event.user if not user: logger.info('No user for this event, no user tweet possible: %s' % str(event)) return profile = util.get_user_profile(user) if not profile or not profile.settings.enabled: logger.info('User has disabled Twitter: %s' % user) return kind = event.kind tweet = None if kind == 'drink_poured': if not profile.settings.post_drink_poured: logger.info('User has disabled drink pour tweets: %s' % event.user) return tweet = util.DEFAULT_USER_DRINK_POURED_TEMPLATE % kbvars elif kind == 'session_joined': if not profile.settings.post_session_joined: logger.info('User has disabled session-join tweets: %s' % event.user) return tweet = util.DEFAULT_USER_SESSION_JOINED_TEMPLATE % kbvars user_api = util.get_api(profile.access_token.oauth_token, profile.access_token.oauth_token_secret) if tweet: tweet = add_hashtag(tweet) logger.info('Sending user tweet: %s' % tweet) try: ret = user_api.update_status(tweet) except tweepy.TweepError, e: logger.error('Error posting tweet: %s' % str(e))
def do_system_tweet(event, kbvars): """Sends a tweet using the system's account (if any).""" system_profile = util.get_site_profile(event.site) if not system_profile: logger.info('No system twitter profile, skipping system tweet') return user = event.user if user: user_profile = util.get_user_profile(user) if user_profile: name = '@%s' % (user_profile.settings.twitter_name,) elif not system_profile.settings.post_unlinked: logger.info('Tweets for unlinked users are disabled') return else: name = user.username elif not system_profile.settings.post_unauthenticated: logger.info('Tweets for anonymous pours are disabled.') return else: name = 'Someone' kbvars['name'] = name system_api = util.get_api(system_profile.oauth_token, system_profile.oauth_token_secret) tweet = None if event.kind == 'session_joined': tweet = util.DEFAULT_SYSTEM_SESSION_JOINED_TEMPLATE % kbvars elif event.kind == 'drink_poured': tweet = util.DEFAULT_SYSTEM_DRINK_POURED_TEMPLATE % kbvars if tweet: tweet = add_hashtag(tweet) logger.info('Sending system tweet: %s' % tweet) try: ret = system_api.update_status(tweet) except tweepy.TweepError, e: logger.error('Error posting tweet: %s' % str(e))
def do_system_tweet(event, kbvars): """Sends a tweet using the system's account (if any).""" system_profile = util.get_site_profile(event.site) if not system_profile: logger.info('No system twitter profile, skipping system tweet') return user = event.user if user: user_profile = util.get_user_profile(user) if user_profile: name = '@%s' % (user_profile.settings.twitter_name, ) elif not system_profile.settings.post_unlinked: logger.info('Tweets for unlinked users are disabled') return else: name = user.username elif not system_profile.settings.post_unauthenticated: logger.info('Tweets for anonymous pours are disabled.') return else: name = 'Someone' kbvars['name'] = name system_api = util.get_api(system_profile.oauth_token, system_profile.oauth_token_secret) tweet = None if event.kind == 'session_joined': tweet = util.DEFAULT_SYSTEM_SESSION_JOINED_TEMPLATE % kbvars elif event.kind == 'drink_poured': tweet = util.DEFAULT_SYSTEM_DRINK_POURED_TEMPLATE % kbvars if tweet: tweet = add_hashtag(tweet) logger.info('Sending system tweet: %s' % tweet) try: ret = system_api.update_status(tweet) except tweepy.TweepError, e: logger.error('Error posting tweet: %s' % str(e))