#!/usr/bin/env python3 import pytoml as toml import logger import time import sys from retootbot import RetootBot from retweetbot import RetweetBot from trigger import Trigger if __name__ == '__main__': # read config in TOML format (https://github.com/toml-lang/toml#toml) with open('config.toml') as configfile: config = toml.load(configfile) trigger = Trigger(config) logger = logger.Logger(config) mbot = RetootBot(config, trigger, logger) tbot = RetweetBot(trigger, config, logger) try: statuses = [] while True: statuses = mbot.retoot(statuses) statuses = tbot.flow(statuses) time.sleep(60) except KeyboardInterrupt: print("Good bye. Remember to restart the bot!") except: exc = sys.exc_info() # returns tuple [Exception type, Exception object, Traceback object] message = logger.generate_tb(exc) tbot.logger.log(message) tbot.save_last_mention() tbot.logger.shutdown(message)