コード例 #1
0
def handle_tweet_posting(text, reply_id, test=False):
    """Sends a tweet to twitter, making sure it is not repeated and logs
    it to our log file. If no non repeated or non banned images found, return
    False. If operation was succesful, return True.

    text = text to be tweeted,
    reply_id = the id of the tweet we'll be replying to,
    test = if bot was executed with test flag or not.
    """
    log = config.log_file
    tolerance = config.tolerance
    banned_list = config.banned_file
    media, amount_media_available = get_random_image_from_folder(config.source_folder)

    t = status.Tweet(media, text, reply_id)

    tolerance = 0
    while t.is_already_tweeted(log, tolerance) or t.is_banned(banned_list):
        new_media = get_random_image_from_folder(config.source_folder)
        t.change_media(new_media)
        tolerance += 1
        if tolerance >= amount_media_available:
            return False

    if not test:
        tweet_id = t.post_to_twitter(api)
        log_line = logger.log_line(post_number, tweet_id, media, reply_id)

    else:
        # if it was a test, don't post it and mark the log line as such
        log_line = logger.log_line(post_number, 'TEST_ID', "TEST_PATH", reply_id)

    logger.add_line_to_log(log_line, log)
    return True
コード例 #2
0
def post_tweet(text, reply_id, test=False):
    """Actually sends a tweet to twitter"""
    tweet = status.Tweet()
    media = tweet.media(config.source_folder)
    tweet_text = tweet.text(text)
    log = config.log_file
    tolerance = config.tolerance
    banned_list = config.banned_file
    already_tweeted = status.is_already_tweeted(log, media, tolerance)
    banned = status.is_banned(banned_list, media)
    if already_tweeted or banned:
        return post_tweet(text, reply_id)  # just try again
    if not test:
        status.tweet(media, tweet_text, reply_id, api)
        logger.addPost(media, reply_id, log)
    if test:
        logger.addPost(media, "TEST", log)
コード例 #3
0
ファイル: twitterbot.py プロジェクト: omokimi/twitterImgBot
def create_tweet(text, reply_id, test=False):
    """Creates an instance of a tweet"""
    log = config.log_file
    tolerance = config.tolerance
    banned_list = config.banned_file
    media = get_random_image_from_folder(config.source_folder)

    t = status.Tweet(media, text, reply_id)

    while t.is_already_tweeted(log, tolerance) or t.is_banned(banned_list):
        new_media = get_random_image_from_folder(config.source_folder)
        t.change_media(new_media)

    if not test:
        tweet_id = t.post_to_twitter(api)
        log_line = logger.logLine(post_number, tweet_id, media, reply_id)
    if test:
        log_line = logger.logLine(post_number, 'TEST_ID', "TEST_PATH",
                                  reply_id)

    logger.addLineToLog(log_line, log)