From 5ef3c02f6e2dc9cbc70d3a3105c5ec9a6148295d Mon Sep 17 00:00:00 2001 From: Alter-xyz <88554920+alterxyz@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:27:17 -0400 Subject: [PATCH 1/2] feat: FxTwitter handler - reply with modified tweet link - edit tweet link only message - by bot repeat modified link - then delete original user message --- handlers/tweet.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 handlers/tweet.py diff --git a/handlers/tweet.py b/handlers/tweet.py new file mode 100644 index 0000000..4b4515b --- /dev/null +++ b/handlers/tweet.py @@ -0,0 +1,30 @@ +from urlextract import URLExtract +from telebot import TeleBot +from telebot.types import Message + +from . import * + + +def tweet_handler(message: Message, bot: TeleBot): + """tweet: /t """ + who = "tweet" + + extractor = URLExtract() + links = extractor.find_urls(message.text) + + only_links = len("".join(links)) == len(message.text.strip()) + if links: + reply_id = bot_reply_first(message, who, bot) + processed_links = [ + link.replace("twitter.com", "fxtwitter.com").replace("x.com", "fixupx.com") + for link in links + ] + bot_reply_markdown(reply_id, who, "\n".join(processed_links), bot) + + if only_links: + bot.delete_message(message.chat.id, message.message_id) + + +def register(bot: TeleBot) -> None: + bot.register_message_handler(tweet_handler, commands=["t"], pass_bot=True) + bot.register_message_handler(tweet_handler, regexp="^t:", pass_bot=True) From 27956b5ebe6529d3447a7340096ccfbd801f7868 Mon Sep 17 00:00:00 2001 From: Alter-xyz <88554920+alterxyz@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:39:41 -0400 Subject: [PATCH 2/2] Update tweet.py --- handlers/tweet.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/handlers/tweet.py b/handlers/tweet.py index 4b4515b..0f1745f 100644 --- a/handlers/tweet.py +++ b/handlers/tweet.py @@ -16,7 +16,9 @@ def tweet_handler(message: Message, bot: TeleBot): if links: reply_id = bot_reply_first(message, who, bot) processed_links = [ - link.replace("twitter.com", "fxtwitter.com").replace("x.com", "fixupx.com") + link.replace("https://twitter.com", "https://fxtwitter.com").replace( + "https://x.com", "https://fixupx.com" + ) for link in links ] bot_reply_markdown(reply_id, who, "\n".join(processed_links), bot)