diff --git a/pseudbot/cli.py b/pseudbot/cli.py index 67d7b7e..07a9499 100644 --- a/pseudbot/cli.py +++ b/pseudbot/cli.py @@ -3,7 +3,7 @@ import json as j from sys import stderr import typing -from .bot import PseudBot +from .tweet_bot import PseudBot from .util import get_timestamp_s diff --git a/pseudbot/bot.py b/pseudbot/tweet_bot.py similarity index 88% rename from pseudbot/bot.py rename to pseudbot/tweet_bot.py index f1f2a0a..3d96a83 100644 --- a/pseudbot/bot.py +++ b/pseudbot/tweet_bot.py @@ -283,39 +283,42 @@ class PseudBot: """ Parse commands in tweet and do something """ - words = re.split(r'[\s.;\-():"]+', tweet.text) - media = [] - do_pasta = True - - stupid_emoji = "🖼" + b"\xef\xb8\x8f".decode() - if stupid_emoji in words or "🖼" in words: - for i in range(len(words)): - if words[i] in ("🖼", stupid_emoji): - try: - media_category = words[i + 1] - i += 1 - except IndexError: - do_pasta = False - break - - if media_category in MEDIA: - media.append(random.choice(MEDIA[media_category])) - - if len(media) == 0: - media = None - (parent_id, parent_screen_name) = self._get_reply_parent(tweet) - if do_pasta is True: - pasta = self._make_pasta_chain(parent_screen_name) - self._tweet_pasta(parent_id, pasta, media) - elif len(media) > 0: - self._tweet_media(parent_id, parent_screen_name, media) - else: - print( - '[WARN]: Unable to parse tweet: "{}"'.format(tweet.text), - file=stderr, - ) + for command_string in tweet.text.split("|"): + words = re.split(r'[\s.;():"]+', command_string) + media = [] + do_pasta = True + + stupid_emoji = "🖼" + b"\xef\xb8\x8f".decode() + if stupid_emoji in words or "🖼" in words: + for i in range(len(words)): + if words[i] in ("🖼", stupid_emoji): + try: + media_category = words[i + 1] + i += 1 + except IndexError: + do_pasta = False + break + + if media_category in MEDIA: + media.append(random.choice(MEDIA[media_category])) + + if len(media) == 0: + do_pasta = True + + if do_pasta is True: + pasta = self._make_pasta_chain(parent_screen_name) + self._tweet_pasta(parent_id, pasta, media) + elif len(media) > 0: + self._tweet_media(parent_id, parent_screen_name, media) + else: + print( + '[WARN]: Unable to parse tweet segment: "{}"'.format( + command_string + ), + file=stderr, + ) def _make_pasta_chain(self, parent_screen_name: str) -> [str]: """