diff --git a/misskaty/plugins/imdb_search.py b/misskaty/plugins/imdb_search.py index d62ef97b..3cc490e1 100644 --- a/misskaty/plugins/imdb_search.py +++ b/misskaty/plugins/imdb_search.py @@ -40,6 +40,16 @@ from utils import demoji LOGGER = logging.getLogger("MissKaty") LIST_CARI = Cache(filename="imdb_cache.db", path="cache", in_memory=False) +async def libretranslate(text, source="auto", target="id"): + payload = { + "q": text, + "source": source, + "target": target, + "format": "text", + "alternatives": 3 + } + response = await fetch.post(url, json=payload) + return response.json()["translatedText"] # IMDB Choose Language @app.on_cmd("imdb") @@ -420,7 +430,7 @@ async def imdb_id_callback(self: Client, query: CallbackQuery): .find(class_="ipc-metadata-list-item__content-container") .text ) - res_str += f"Durasi: {GoogleTranslator('auto', 'id').translate(durasi)}\n" + res_str += f"Durasi: {await libretranslate(durasi, "auto", "id")}\n" if kategori := r_json.get("contentRating"): res_str += f"Kategori: {kategori} \n" if rating := r_json.get("aggregateRating"): @@ -480,7 +490,7 @@ async def imdb_id_callback(self: Client, query: CallbackQuery): ) res_str += f"Pemeran: {actor[:-2]}\n\n" if deskripsi := r_json.get("description"): - summary = GoogleTranslator("auto", "id").translate(deskripsi) + summary = await libretranslate(deskripsi, "auto", "id") res_str += f"📜 Plot:\n
{summary}
\n\n" if keywd := r_json.get("keywords"): key_ = "".join( @@ -496,7 +506,7 @@ async def imdb_id_callback(self: Client, query: CallbackQuery): .find(class_="ipc-metadata-list-item__list-content-item") .text ) - res_str += f"🏆 Penghargaan:\n
{GoogleTranslator('auto', 'id').translate(awards)}
\n" + res_str += f"🏆 Penghargaan:\n
{await libretranslate(awards, "auto", "id")}
\n" else: res_str += "\n" if ott != "":