diff --git a/handlers/tweet.py b/handlers/tweet.py new file mode 100644 index 0000000..0f1745f --- /dev/null +++ b/handlers/tweet.py @@ -0,0 +1,32 @@ +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("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) + + 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)