protected chats & tags
This commit is contained in:
		
							parent
							
								
									a9d5967996
								
							
						
					
					
						commit
						6d10fae743
					
				
					 1 changed files with 14 additions and 0 deletions
				
			
		
							
								
								
									
										14
									
								
								delojza.py
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								delojza.py
									
										
									
									
									
								
							| 
						 | 
					@ -11,6 +11,7 @@ from configparser import ConfigParser
 | 
				
			||||||
from datetime import datetime, timedelta
 | 
					from datetime import datetime, timedelta
 | 
				
			||||||
from glob import glob
 | 
					from glob import glob
 | 
				
			||||||
from operator import itemgetter
 | 
					from operator import itemgetter
 | 
				
			||||||
 | 
					from random import choice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import acoustid
 | 
					import acoustid
 | 
				
			||||||
import filetype
 | 
					import filetype
 | 
				
			||||||
| 
						 | 
					@ -41,6 +42,7 @@ def datestr(date):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class DelojzaBot:
 | 
					class DelojzaBot:
 | 
				
			||||||
    def __init__(self, tg_api_key, out_dir, tmp_dir=None,
 | 
					    def __init__(self, tg_api_key, out_dir, tmp_dir=None,
 | 
				
			||||||
 | 
					                 protected_chats=None, protected_tags=None,
 | 
				
			||||||
                 acoustid_key=None, tumblr_name=None, tumblr_keys=None, markov=None):
 | 
					                 acoustid_key=None, tumblr_name=None, tumblr_keys=None, markov=None):
 | 
				
			||||||
        self.logger = logging.getLogger("delojza")
 | 
					        self.logger = logging.getLogger("delojza")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -74,6 +76,9 @@ class DelojzaBot:
 | 
				
			||||||
            self.tumblr_name = tumblr_name
 | 
					            self.tumblr_name = tumblr_name
 | 
				
			||||||
            self.tumblr_client = pytumblr.TumblrRestClient(*tumblr_keys)
 | 
					            self.tumblr_client = pytumblr.TumblrRestClient(*tumblr_keys)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        self.protected_chats = protected_chats or []
 | 
				
			||||||
 | 
					        self.protected_tags = protected_tags or []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.last_downloaded = None
 | 
					        self.last_downloaded = None
 | 
				
			||||||
        self.last_hashtags = None
 | 
					        self.last_hashtags = None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -256,6 +261,13 @@ class DelojzaBot:
 | 
				
			||||||
                self.logger.info("Ignoring %s due to no hashtag present..." % urls)
 | 
					                self.logger.info("Ignoring %s due to no hashtag present..." % urls)
 | 
				
			||||||
                return
 | 
					                return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if any(hashtag in self.protected_tags for hashtag in hashtags):
 | 
				
			||||||
 | 
					                if message.chat.title not in self.protected_chats:
 | 
				
			||||||
 | 
					                    self.logger.info("Ignoring {} in chat {} due to protected hashtags: {}..."
 | 
				
			||||||
 | 
					                                     .format(urls, message.chat.title, hashtags))
 | 
				
			||||||
 | 
					                    message.reply_text(choice(["No.", "Nein", "Nope", ":(", "Error: Cannot.", "Fail."]))
 | 
				
			||||||
 | 
					                    return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            self.last_hashtags = None
 | 
					            self.last_hashtags = None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            self.logger.info("Downloading %s under '%s'" % (urls, "/".join(hashtags)))
 | 
					            self.logger.info("Downloading %s under '%s'" % (urls, "/".join(hashtags)))
 | 
				
			||||||
| 
						 | 
					@ -503,6 +515,8 @@ if __name__ == '__main__':
 | 
				
			||||||
    delojza = DelojzaBot(config.get('delojza', 'tg_api_key'),
 | 
					    delojza = DelojzaBot(config.get('delojza', 'tg_api_key'),
 | 
				
			||||||
                         config.get('delojza', 'OUT_DIR', fallback=os.path.join(_DIR_, "out")),
 | 
					                         config.get('delojza', 'OUT_DIR', fallback=os.path.join(_DIR_, "out")),
 | 
				
			||||||
                         tmp_dir=config.get('delojza', 'tmp_dir', fallback=tempfile.gettempdir()),
 | 
					                         tmp_dir=config.get('delojza', 'tmp_dir', fallback=tempfile.gettempdir()),
 | 
				
			||||||
 | 
					                         protected_chats=config.get('delojza', 'protected_chats').split(";"),
 | 
				
			||||||
 | 
					                         protected_tags=config.get('delojza', 'protected_tags').split(";"),
 | 
				
			||||||
                         acoustid_key=config.get('delojza', 'acoustid_api_key'),
 | 
					                         acoustid_key=config.get('delojza', 'acoustid_api_key'),
 | 
				
			||||||
                         tumblr_name=config.get('tumblr', 'blog_name'),
 | 
					                         tumblr_name=config.get('tumblr', 'blog_name'),
 | 
				
			||||||
                         tumblr_keys=(config.get('tumblr', 'consumer_key'),
 | 
					                         tumblr_keys=(config.get('tumblr', 'consumer_key'),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue