diff --git a/misskaty/plugins/imdb_search.py b/misskaty/plugins/imdb_search.py
index b1cc1b4c..8450147a 100644
--- a/misskaty/plugins/imdb_search.py
+++ b/misskaty/plugins/imdb_search.py
@@ -5,7 +5,6 @@ import re
from bs4 import BeautifulSoup
from urllib.parse import quote_plus
-import soupsieve
from utils import demoji
from deep_translator import GoogleTranslator
from pykeyboard import InlineButton, InlineKeyboard
diff --git a/misskaty/plugins/subscene_dl.py b/misskaty/plugins/subscene_dl.py
new file mode 100644
index 00000000..3fedaf81
--- /dev/null
+++ b/misskaty/plugins/subscene_dl.py
@@ -0,0 +1,61 @@
+from misskaty.core.message_utils import *
+from misskaty.vars import COMMAND_HANDLER
+from pyrogram import filters
+import cloudscraper, logging
+from bot import app
+from bs4 import BeautifulSoup
+from pykeyboard import InlineButton, InlineKeyboard
+from misskaty.helper import http
+from misskaty.core.decorator.ratelimiter import ratelimiter
+
+LOGGER = logging.getLogger(__name__)
+
+@app.on_message(filters.command(["subscene"], COMMAND_HANDLER))
+@ratelimiter
+async def imdb_search_id(client, message):
+ BTN = []
+ if len(message.command) == 1:
+ return await kirimPesan(message, f"âšī¸ Please add query after CMD!\nEx: /{message.command[0]} Jurassic World")
+ if message.sender_chat:
+ return await kirimPesan(message, "This feature not supported for channel..")
+ kueri = message.text.split(None, 1)[1]
+ k = await kirimPesan(
+ message,
+ f"đ Searching {kueri} Subscene database...",
+ quote=True,
+ )
+ msg = ""
+ buttons = InlineKeyboard(row_width=4)
+ scraper = cloudscraper.create_scraper()
+ try:
+ param = {"query": kueri}
+ r = scraper.post("https://subscene.com/subtitles/searchbytitle", data=param).text
+ soup = BeautifulSoup(r,"lxml")
+ lists = soup.find("div", {"class": "search-result"})
+ a = lists.find_all("div", {"class":"title"})
+ LOGGER.info(a)
+ # if not res:
+ # return await k.edit_caption(f"âī¸ No Result Found For: {kueri}")
+ msg += f"đŦ Found ({len(a)}) result for : {kueri}\n\n"
+ for num, sub in enumerate(a, start=1):
+ title = sub.find('a').text
+ url = f"https://subscene.com{sub.find('a').get('href')}"
+ msg += f"{num}. {title}\n"
+ BTN.append(
+ InlineButton(
+ text=num,
+ callback_data=f"subscene#{message.from_user.id}#{title}",
+ )
+ )
+ BTN.extend(
+ (
+ InlineButton(
+ text="â Close",
+ callback_data=f"close#{message.from_user.id}",
+ ),
+ )
+ )
+ buttons.add(*BTN)
+ await editPesan(k, msg, reply_markup=buttons)
+ except Exception as err:
+ await editPesan(k, f"Ooppss, failed get subtitle list from subscene.\n\nERROR: {err}")