diff --git a/misskaty/helper/tools.py b/misskaty/helper/tools.py
index c9bc1ba2..d532e444 100644
--- a/misskaty/helper/tools.py
+++ b/misskaty/helper/tools.py
@@ -96,6 +96,8 @@ def get_provider(url):
name = "Google Play Movies"
elif names[0] == "hbogoasia":
name = "HBOGo Asia"
+ elif names[0] == "maxstream":
+ name = "MaxStream"
return name.title()
netloc = urlparse(url).netloc
diff --git a/misskaty/plugins/imdb_search.py b/misskaty/plugins/imdb_search.py
index 045af75d..e94413e5 100644
--- a/misskaty/plugins/imdb_search.py
+++ b/misskaty/plugins/imdb_search.py
@@ -49,8 +49,8 @@ async def imdb_choose(_, m):
ranval = get_random_string(4)
LIST_CARI[ranval] = kuery
buttons.row(
- InlineButton("🇺🇸 English", f"imdbcari_en#{ranval}#{m.from_user.id}"),
- InlineButton("🇮🇩 Indonesia", f"imdcari_id#{ranval}#{m.from_user.id}"),
+ InlineButton("🇺🇸 English", f"imdbcari#eng#{ranval}#{m.from_user.id}"),
+ InlineButton("🇮🇩 Indonesia", f"imdcari#ind#{ranval}#{m.from_user.id}"),
)
buttons.row(InlineButton("🚩 Set Default Language", f"imdbset#{m.from_user.id}"))
buttons.row(InlineButton("❌ Close", f"close#{m.from_user.id}"))
@@ -186,82 +186,78 @@ async def imdb_search_en(kueri, message):
await k.edit_caption(f"Failed when requesting movies title.\n\nERROR: {err}")
-@app.on_callback_query(filters.regex("^imdcari_id"))
-async def imdbcari_id(client, query):
+@app.on_callback_query(filters.regex("^imdcari"))
+async def imdbcari(client, query):
BTN = []
- i, msg, uid = query.data.split("#")
- if query.from_user.id != int(uid):
- return await query.answer("⚠️ Akses Ditolak!", True)
- try:
- kueri = LIST_CARI.get(msg)
- del LIST_CARI[msg]
- except KeyError:
- return await query.message.edit_caption("⚠️ Callback Query Sudah Expired!")
- await query.message.edit_caption("🔎 Sedang mencari di Database IMDB..")
- msg = ""
- buttons = InlineKeyboard(row_width=4)
- try:
- r = await http.get(f"https://imdb.yasirapi.eu.org/search?query={kueri}")
- res = r.json().get("results")
- if not res:
- return await query.message.edit_caption(f"⛔️ Tidak ditemukan hasil untuk kueri: {kueri}")
- msg += f"🎬 Ditemukan ({len(res)}) hasil dari: {kueri} ~ {query.from_user.mention}\n\n"
- for num, movie in enumerate(res, start=1):
- title = movie.get("title")
- year = f"({movie.get('year', 'N/A')})"
- typee = movie.get("type", "N/A").capitalize()
- movieID = re.findall(r"tt(\d+)", movie.get("id"))[0]
- msg += f"{num}. {title} {year} - {typee}\n"
- BTN.append(InlineKeyboardButton(text=num, callback_data=f"imdbres_id#{uid}#{movieID}"))
- BTN.extend(
- (
- InlineKeyboardButton(text="🚩 Language", callback_data=f"imdbset#{uid}"),
- InlineKeyboardButton(text="❌ Close", callback_data=f"close#{uid}"),
+ i, lang, msg, uid = query.data.split("#")
+ if lang == "ind":
+ if query.from_user.id != int(uid):
+ return await query.answer("⚠️ Akses Ditolak!", True)
+ try:
+ kueri = LIST_CARI.get(msg)
+ del LIST_CARI[msg]
+ except KeyError:
+ return await query.message.edit_caption("⚠️ Callback Query Sudah Expired!")
+ await query.message.edit_caption("🔎 Sedang mencari di Database IMDB..")
+ msg = ""
+ buttons = InlineKeyboard(row_width=4)
+ try:
+ r = await http.get(f"https://imdb.yasirapi.eu.org/search?query={kueri}")
+ res = r.json().get("results")
+ if not res:
+ return await query.message.edit_caption(f"⛔️ Tidak ditemukan hasil untuk kueri: {kueri}")
+ msg += f"🎬 Ditemukan ({len(res)}) hasil dari: {kueri} ~ {query.from_user.mention}\n\n"
+ for num, movie in enumerate(res, start=1):
+ title = movie.get("title")
+ year = f"({movie.get('year', 'N/A')})"
+ typee = movie.get("type", "N/A").capitalize()
+ movieID = re.findall(r"tt(\d+)", movie.get("id"))[0]
+ msg += f"{num}. {title} {year} - {typee}\n"
+ BTN.append(InlineKeyboardButton(text=num, callback_data=f"imdbres_id#{uid}#{movieID}"))
+ BTN.extend(
+ (
+ InlineKeyboardButton(text="🚩 Language", callback_data=f"imdbset#{uid}"),
+ InlineKeyboardButton(text="❌ Close", callback_data=f"close#{uid}"),
+ )
)
- )
- buttons.add(*BTN)
- await query.message.edit_caption(msg, reply_markup=buttons)
- except Exception as err:
- await query.message.edit_caption(f"Ooppss, gagal mendapatkan daftar judul di IMDb.\n\nERROR: {err}")
-
-
-@app.on_callback_query(filters.regex("^imdbcari_en"))
-async def imdbcari_en(client, query):
- BTN = []
- i, msg, uid = query.data.split("#")
- if query.from_user.id != int(uid):
- return await query.answer("⚠️ Access Denied!", True)
- try:
- kueri = LIST_CARI.get(msg)
- del LIST_CARI[msg]
- except KeyError:
- return await query.message.edit_caption("⚠️ Callback Query Expired!")
- await query.message.edit_caption("🔎 Looking in the IMDB Database..")
- msg = ""
- buttons = InlineKeyboard(row_width=4)
- try:
- r = await http.get(f"https://imdb.yasirapi.eu.org/search?query={kueri}")
- res = r.json().get("results")
- if not res:
- return await query.message.edit_caption(f"⛔️ Result not found for keywords: {kueri}")
- msg += f"🎬 Found ({len(res)}) result for keywords: {kueri} ~ {query.from_user.mention}\n\n"
- for num, movie in enumerate(res, start=1):
- title = movie.get("title")
- year = f"({movie.get('year', 'N/A')})"
- typee = movie.get("type", "N/A").capitalize()
- movieID = re.findall(r"tt(\d+)", movie.get("id"))[0]
- msg += f"{num}. {title} {year} - {typee}\n"
- BTN.append(InlineKeyboardButton(text=num, callback_data=f"imdbres_en#{uid}#{movieID}"))
- BTN.extend(
- (
- InlineKeyboardButton(text="🚩 Language", callback_data=f"imdbset#{uid}"),
- InlineKeyboardButton(text="❌ Close", callback_data=f"close#{uid}"),
+ buttons.add(*BTN)
+ await query.message.edit_caption(msg, reply_markup=buttons)
+ except Exception as err:
+ await query.message.edit_caption(f"Ooppss, gagal mendapatkan daftar judul di IMDb.\n\nERROR: {err}")
+ else:
+ if query.from_user.id != int(uid):
+ return await query.answer("⚠️ Access Denied!", True)
+ try:
+ kueri = LIST_CARI.get(msg)
+ del LIST_CARI[msg]
+ except KeyError:
+ return await query.message.edit_caption("⚠️ Callback Query Expired!")
+ await query.message.edit_caption("🔎 Looking in the IMDB Database..")
+ msg = ""
+ buttons = InlineKeyboard(row_width=4)
+ try:
+ r = await http.get(f"https://imdb.yasirapi.eu.org/search?query={kueri}")
+ res = r.json().get("results")
+ if not res:
+ return await query.message.edit_caption(f"⛔️ Result not found for keywords: {kueri}")
+ msg += f"🎬 Found ({len(res)}) result for keywords: {kueri} ~ {query.from_user.mention}\n\n"
+ for num, movie in enumerate(res, start=1):
+ title = movie.get("title")
+ year = f"({movie.get('year', 'N/A')})"
+ typee = movie.get("type", "N/A").capitalize()
+ movieID = re.findall(r"tt(\d+)", movie.get("id"))[0]
+ msg += f"{num}. {title} {year} - {typee}\n"
+ BTN.append(InlineKeyboardButton(text=num, callback_data=f"imdbres_en#{uid}#{movieID}"))
+ BTN.extend(
+ (
+ InlineKeyboardButton(text="🚩 Language", callback_data=f"imdbset#{uid}"),
+ InlineKeyboardButton(text="❌ Close", callback_data=f"close#{uid}"),
+ )
)
- )
- buttons.add(*BTN)
- await query.message.edit_caption(msg, reply_markup=buttons)
- except Exception as err:
- await query.message.edit_caption(f"Failed when requesting movies title @ IMDb\n\nERROR: {err}")
+ buttons.add(*BTN)
+ await query.message.edit_caption(msg, reply_markup=buttons)
+ except Exception as err:
+ await query.message.edit_caption(f"Failed when requesting movies title @ IMDb\n\nERROR: {err}")
@app.on_callback_query(filters.regex("^imdbres_id"))
@@ -279,7 +275,7 @@ async def imdb_id_callback(_, query):
sop = BeautifulSoup(resp, "lxml")
r_json = json.loads(sop.find("script", attrs={"type": "application/ld+json"}).contents[0])
ott = await search_jw(r_json.get("name"), "ID")
- typee = f"{r_json.get('@type', '')}"
+ typee = r_json.get('@type', '')
res_str = ""
if judul := r_json.get("name"):
try:
@@ -408,7 +404,7 @@ async def imdb_en_callback(bot, query):
sop = BeautifulSoup(resp, "lxml")
r_json = json.loads(sop.find("script", attrs={"type": "application/ld+json"}).contents[0])
ott = await search_jw(r_json.get("name"), "US")
- typee = f"{r_json.get('@type', '')}"
+ typee = r_json.get('@type', '')
res_str = ""
if judul := r_json.get("name"):
try:
diff --git a/misskaty/plugins/inline_search.py b/misskaty/plugins/inline_search.py
index bc4d1d21..e57d4836 100644
--- a/misskaty/plugins/inline_search.py
+++ b/misskaty/plugins/inline_search.py
@@ -439,7 +439,7 @@ async def imdb_inl(_, query):
r_json = json.loads(sop.find("script", attrs={"type": "application/ld+json"}).contents[0])
ott = await search_jw(r_json["name"], "en_ID")
res_str = ""
- typee = f"{r_json['@type']}" if r_json.get("@type") else ""
+ typee = r_json.get('@type', '')
if r_json.get("name"):
try:
tahun = sop.select('ul[data-testid="hero-title-block__metadata"]')[0].find("span", class_="sc-8c396aa2-2 jwaBvf").text