From c05aff718e1dea467154e58b5a12ecc5e60431ef Mon Sep 17 00:00:00 2001 From: dotnet Date: Fri, 13 Oct 2023 19:23:06 -0400 Subject: [PATCH] Make message formatting more flexible. --- gelbooru_poster.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/gelbooru_poster.py b/gelbooru_poster.py index 0e28123..9fa18e3 100644 --- a/gelbooru_poster.py +++ b/gelbooru_poster.py @@ -51,6 +51,20 @@ class BotInstance: self.misskey_token = config["misskey_token"] self.max_page_number = config["max_page_number"] + def format_message(self, image_src, image_url): + if isinstance(self.bot_message, list): + msg = random.choice(self.bot_message) + else: + msg = self.bot_message + if random.randint(0, 100) < 5: + msg = msg.replace("$dh$", self.bot_hashtags) + else: + msg = msg.replace("$dh$", "") + msg = msg.replace("$gel_src$", "[Gelbooru Link](%s)" % (image_url)) + msg = msg.replace("$src$", "[Source](%s)" % (image_src)) + msg = msg.strip() + return msg + # Get a random image from Gelbooru def get_random_image(self, max_page_number = 100): # Get a random page number @@ -102,12 +116,6 @@ class BotInstance: post_json = post_request.json() if 'id' in post_json: # Submit a /notes/create request to Misskey - if isinstance(self.bot_message, list): - msg = random.choice(self.bot_message) - else: - msg = self.bot_message - if random.randint(0, 100) < 5: - msg += " " + self.bot_hashtags create_note_request = requests.post(self.misskey_url + "notes/create", json = {"renoteId": post_json['id'], "text":"", "i": self.misskey_token}) # If error, print error and exit if create_note_request.status_code != 200: @@ -211,12 +219,7 @@ class BotInstance: time.sleep(min(30, (attempts ** 2) / 2)) # Submit a /notes/create request to Misskey - if isinstance(self.bot_message, list): - msg = random.choice(self.bot_message) - else: - msg = self.bot_message - if random.randint(0, 100) < 5: - msg += " " + self.bot_hashtags + msg = self.format_message(image_src, image_url) create_note_request = requests.post(self.misskey_url + "notes/create", json = {"fileIds": [file_id], "text": "%s\n[Source](%s)\n" % (msg, image_src), "i": self.misskey_token}) # If error, print error and exit if create_note_request.status_code != 200: