Пример #1
0
def copy_subs():
    already_done = []
    while True:
        already_done=pickle.load(open("copied","r+"))
        for sub in subs:
            for s in r.get_subreddit(sub).get_new(limit=10):
                if s.id not in already_done:
                    already_done.append(s.id)
                    log("Submitting new story from {1}: {0}".format(s.short_link,sub))
                    t = "From /r/"+sub+":"+s.title
                    t = t[0:300]
                    if len(s.selftext) is not 0:
                        handle_ratelimit(r.submit,h,t,text=s.selftext)
                    elif len(s.url) is not 0: 
                        handle_ratelimit(r.submit,h,t,url=s.url)
                    pickle.dump(already_done,open("copied","r+"))
Пример #2
0
 def watch(self):
     subreddit = self.praw_reddit.get_subreddit(self.name)
     util.bot_stdout_print("Getting comments for subreddit: %s" % (self.name))
     for submission in subreddit.get_comments():
         if submission.id not in self.already_done:
             try:
                 msg = submission.body
                 successes,failures = self.msg_parser.parse(msg)
                 self.already_done.append(submission.id)
                 reply = self.get_reply(submission, successes, failures)
                 if not reply is None:
                     util.bot_stdout_print("Reply to %s: %s\n" % (submission.id, reply))
                     util.handle_ratelimit(submission.reply, reply)
             except:
                 util.bot_stdout_print("Unknown exception: %s" % sys.exc_info()[0])
                 print traceback.format_exc()
                 self.already_done.append(submission.id)
     self.cleanup_already_done()
 def watch(self):
     now = int(time.time())
     if self.last_run is None or now - self.last_run > self.DELAY:
         util.bot_stdout_print("Getting mentions for user: %s" % (self.username))
         mentions = self.praw_reddit.get_mentions()
         self.last_run = int(time.time())
         try:
             for mention in mentions:
                 if mention.new == True and mention.id not in self.already_done:
                     msg = mention.body
                     successes,failures = self.msg_parser.parse(msg)
                     reply = self.get_reply(successes, failures)
                     self.already_done.append(mention.id)
                     mention.mark_as_read()
                     if not reply is None:
                         util.bot_stdout_print("Reply to %s: %s\n" % (mention.id, reply))
                         util.handle_ratelimit(mention.reply, reply)
         except:
             util.bot_stdout_print("Unknown exception: %s" % sys.exc_info()[0])
             print traceback.format_exc()
             self.already_done.append(mention.id)
         self.cleanup_already_done()
Пример #4
0
def add_single_comment(submission,victims):
    str = intro+info(victims)+footer.format(commit[0:MAX_SINGLE],commit)
    return handle_ratelimit(submission.add_comment,str)