diff --git a/config.json b/config.json index c866569..d9ad106 100644 --- a/config.json +++ b/config.json @@ -21,7 +21,6 @@ "index": "data/index.json", "submit": "data/submit.json", "blocked": "data/blocked.json", - "captions": "data/captions.json", "locale": "locale" }, "posting": { diff --git a/data/captions.json b/data/captions.json deleted file mode 100644 index 9e26dfe..0000000 --- a/data/captions.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/main.py b/main.py index d03479f..df77526 100644 --- a/main.py +++ b/main.py @@ -112,25 +112,40 @@ def send_content(): app.send_message(configGet("admin", "reports"), locale("post_empty", "message", locale=configGet("locale"))) # type: ignore return + index = jsonLoad(configGet("index", "locations")) + + if candidate_file in index["captions"]: + caption = index["captions"][candidate_file] + else: + caption = "" + + if configGet("enabled", "caption"): + if configGet("link", "caption") != None: + caption = f"{caption}\n\n[{configGet('text', 'caption')}]({configGet('link', 'caption')})" + else: + caption = f"{caption}\n\n{configGet('text', 'caption')}" + else: + caption = caption + if ext_type == "photo": # type: ignore if configGet("enabled", "caption"): if configGet("link", "caption") != None: - sent = app.send_photo(configGet("channel", "posting"), candidate, caption=f"[{configGet('text', 'caption')}]({configGet('link', 'caption')})", disable_notification=configGet("silent", "posting")) # type: ignore + sent = app.send_photo(configGet("channel", "posting"), candidate, caption=caption, disable_notification=configGet("silent", "posting")) # type: ignore else: - sent = app.send_photo(configGet("channel", "posting"), candidate, caption=configGet('text', 'caption'), disable_notification=configGet("silent", "posting")) # type: ignore + sent = app.send_photo(configGet("channel", "posting"), candidate, caption=caption, disable_notification=configGet("silent", "posting")) # type: ignore else: - sent = app.send_photo(configGet("channel", "posting"), candidate, disable_notification=configGet("silent", "posting")) # type: ignore + sent = app.send_photo(configGet("channel", "posting"), candidate, caption=caption, disable_notification=configGet("silent", "posting")) # type: ignore elif ext_type == "video": # type: ignore if configGet("enabled", "caption"): if configGet("link", "caption") != None: - sent = app.send_video(configGet("channel", "posting"), candidate, caption=f"[{configGet('text', 'caption')}]({configGet('link', 'caption')})", disable_notification=configGet("silent", "posting")) # type: ignore + sent = app.send_video(configGet("channel", "posting"), candidate, caption=caption, disable_notification=configGet("silent", "posting")) # type: ignore else: - sent = app.send_video(configGet("channel", "posting"), candidate, caption=configGet('text', 'caption'), disable_notification=configGet("silent", "posting")) # type: ignore + sent = app.send_video(configGet("channel", "posting"), candidate, caption=caption, disable_notification=configGet("silent", "posting")) # type: ignore else: - sent = app.send_video(configGet("channel", "posting"), candidate, disable_notification=configGet("silent", "posting")) # type: ignore + sent = app.send_video(configGet("channel", "posting"), candidate, caption=caption, disable_notification=configGet("silent", "posting")) # type: ignore list_sent["sent"].append(candidate_file) jsonSave(list_sent, configGet("index", "locations")) @@ -224,7 +239,9 @@ def get_submission(_, msg): if msg.caption != None: caption = str(msg.caption) buttons[0].append( - InlineKeyboardButton(text=locale("sub_yes_caption", "button", locale=configGet("locale")), callback_data=f"sub_yes_{msg.from_user.id}_{msg.id}_caption"), + InlineKeyboardButton(text=locale("sub_yes_caption", "button", locale=configGet("locale")), callback_data=f"sub_yes_{msg.from_user.id}_{msg.id}_caption") + ) + buttons[0].append( InlineKeyboardButton(text=locale("sub_no", "button", locale=configGet("locale")), callback_data=f"sub_no_{msg.from_user.id}_{msg.id}") ) else: @@ -262,8 +279,9 @@ def callback_query_yes(app, clb): # type: ignore try: media = app.download_media(submission, file_name=configGet("queue", "locations")+os.sep) if clb.data.endswith("_caption"): - captions = jsonLoad(configGet("captions", "locations")) - captions[Path(media).name] = submission.caption + index = jsonLoad(configGet("index", "locations")) + index["captions"][Path(media).name] = submission.caption + jsonSave(index, configGet("index", "locations")) except: clb.answer(text=locale("sub_media_unavail", "message", locale=user_locale), show_alert=True) return