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…
Reference in a new issue