def __init__(self): warning_filter.ignore() self.logger = LogProvider.setup_logging(log_level="DEBUG") self.read_config() self.multi_thread = MultiThreader() self.database = DatabaseProvider() try: self.load_responders() self.praw_handler = MultiprocessHandler() self.submission_poller = praw.Reddit( user_agent="Submission-Poller for several logins by /u/DarkMio", handler=self.praw_handler ) self.comment_poller = praw.Reddit( user_agent="Comment-Poller for several logins by /u/DarkMio", handler=self.praw_handler ) except Exception as e: # I am sorry linux, but ConnectionRefused Error can't be imported.. self.logger.error( "PRAW Multiprocess server does not seem to be running. " "Please make sure that the server is running and responding. " "Bot is shutting down now." ) self.logger.error(e) self.logger.error(traceback.print_exc()) exit(-1) self.delete_after = self.config.get("REDDIT", "delete_after") self.submission_stream() self.comment_stream() self.lock = self.multi_thread.get_lock() self.multi_thread.go([self.comment_thread], [self.submission_thread], [self.update_thread]) self.multi_thread.join_threads()
def __init__(self): warning_filter.ignore() self.logger = LogProvider.setup_logging(log_level="DEBUG") self.read_config() self.multi_thread = MultiThreader() self.database = DatabaseProvider() try: self.load_responders() self.praw_handler = MultiprocessHandler() self.submission_poller = praw.Reddit(user_agent='Submission-Poller for several logins by /u/DarkMio', handler=self.praw_handler) self.comment_poller = praw.Reddit(user_agent='Comment-Poller for several logins by /u/DarkMio', handler=self.praw_handler) except Exception as e: # I am sorry linux, but ConnectionRefused Error can't be imported.. self.logger.error("PRAW Multiprocess server does not seem to be running. " "Please make sure that the server is running and responding. " "Bot is shutting down now.") self.logger.error(e) self.logger.error(traceback.print_exc()) exit(-1) self.delete_after = self.config.get('REDDIT', 'delete_after') self.submission_stream() self.comment_stream() self.lock = self.multi_thread.get_lock() self.multi_thread.go([self.comment_thread], [self.submission_thread], [self.update_thread]) self.multi_thread.join_threads()
return False self.oauth.refresh() self.session._add_comment(thing.name, self.RESPONSE) self.database.insert_into_storage(thread_id, self.BOT_NAME) return True return False def on_new_message(self, message): pass def init(database): """Init Call from module importer to return only the object itself, rather than the module.""" return LeafeatorBot(database) if __name__ == "__main__": from praw import Reddit from core.DatabaseProvider import DatabaseProvider from core import LogProvider logger = LogProvider.setup_logging(log_level="DEBUG") db = DatabaseProvider() r = Reddit(user_agent="Manual Testing") subm = r.get_info(thing_id="t3_3ik036") cmt = r.get_info(thing_id="t1_cuilwo5") lb = LeafeatorBot(db) lb.execute_comment(cmt) # lb.execute_submission(subm)