def fave_mentions(api, dry_run=None):
    '''
    Fave (aka like) recent mentions from user authenicated in 'api'.
    :api twitter_bot_utils.api.API
    :dry_run bool don't actually favorite, just report
    '''
    f = api.favorites(include_entities=False, count=150)
    favs = [m.id_str for m in f]

    try:
        mentions = api.mentions_timeline(trim_user=True, include_entities=False, count=75)
    except Exception as e:
        raise e

    for mention in mentions:
        # only try to fav if not in recent favs
        if mention.id_str not in favs:
            try:
                api.logger.info('liking %s: %s', mention.id_str, mention.text)

                if not dry_run:
                    api.create_favorite(mention.id_str, include_entities=False)

            except RateLimitError:
                api.logger.warning("reached Twitter's rate limit, sleeping for %d minutes", RATE_LIMIT_RESET_MINUTES)
                sleep(RATE_LIMIT_RESET_MINUTES * 60)
                api.create_favorite(mention.id_str, include_entities=False)

            except TweepError as e:
                api.logger.error('error liking %s', mention.id_str)
                api.logger.error("code %s: %s", e.api_code, e)