diff --git a/misskaty/plugins/imdb_search.py b/misskaty/plugins/imdb_search.py
index 19d61487..8083fc08 100644
--- a/misskaty/plugins/imdb_search.py
+++ b/misskaty/plugins/imdb_search.py
@@ -3,6 +3,7 @@ import logging
import re
from bs4 import BeautifulSoup
+from urllib.parse import quote_plus
from utils import demoji
from deep_translator import GoogleTranslator
from pykeyboard import InlineButton, InlineKeyboard
@@ -105,16 +106,15 @@ async def imdb_search_id(kueri, message):
msg = ""
buttons = InlineKeyboard(row_width=4)
try:
- # https://yasirapi.eu.org/imdb-search?q=doraemon # Second API
- r = await http.get(f"https://imdb.yasirapi.eu.org/search?query={kueri}")
- res = r.json().get("results")
+ r = await http.get(f"https://v3.sg.media-imdb.com/suggestion/titles/x/{quote_plus(kueri)}.json")
+ res = r.json().get("d")
if not res:
return await k.edit_caption(f"⛔️ Tidak ditemukan hasil untuk kueri: {kueri}")
msg += f"🎬 Ditemukan ({len(res)}) hasil untuk kueri: {kueri}\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()
+ title = movie.get("l")
+ year = f"({movie.get('y', 'N/A')})"
+ typee = movie.get("q", "N/A").replace("feature", "movie").title()
movieID = re.findall(r"tt(\d+)", movie.get("id"))[0]
msg += f"{num}. {title} {year} - {typee}\n"
BTN.append(
@@ -151,15 +151,15 @@ async def imdb_search_en(kueri, message):
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")
+ r = await http.get(f"https://v3.sg.media-imdb.com/suggestion/titles/x/{quote_plus(kueri)}.json")
+ res = r.json().get("d")
if not res:
return await k.edit_caption(f"⛔️ Result not found for keywords: {kueri}")
msg += f"🎬 Found ({len(res)}) result for keywords: {kueri}\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()
+ title = movie.get("l")
+ year = f"({movie.get('y', 'N/A')})"
+ typee = movie.get("q", "N/A").replace("feature", "movie").title()
movieID = re.findall(r"tt(\d+)", movie.get("id"))[0]
msg += f"{num}. {title} {year} - {typee}\n"
BTN.append(
@@ -202,15 +202,15 @@ async def imdbcari(client, query):
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")
+ r = await http.get(f"https://v3.sg.media-imdb.com/suggestion/titles/x/{quote_plus(kueri)}.json")
+ res = r.json().get("d")
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()
+ title = movie.get("l")
+ year = f"({movie.get('y', 'N/A')})"
+ typee = movie.get("q", "N/A").replace("feature", "movie").title()
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}"))
@@ -236,15 +236,15 @@ async def imdbcari(client, query):
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")
+ r = await http.get(f"https://v3.sg.media-imdb.com/suggestion/titles/x/{quote_plus(kueri)}.json")
+ res = r.json().get("d")
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()
+ title = movie.get("l")
+ year = f"({movie.get('y', 'N/A')})"
+ typee = movie.get("q", "N/A").replace("feature", "movie").title()
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}"))