From 7cbe8b8ab157ebae35f66828a4729fb6624da17f Mon Sep 17 00:00:00 2001 From: Yasir Aris M Date: Sun, 23 Jun 2024 18:42:54 +0700 Subject: [PATCH] Handle exception if key not found Signed-off-by: Yasir Aris M --- misskaty/plugins/misc_tools.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/misskaty/plugins/misc_tools.py b/misskaty/plugins/misc_tools.py index 09eb443f..aef6b74e 100644 --- a/misskaty/plugins/misc_tools.py +++ b/misskaty/plugins/misc_tools.py @@ -175,14 +175,17 @@ async def calc_cb(self, query): async def kbbi_search(_, ctx: Client): if len(ctx.command) == 1: return await ctx.reply_msg("Please add keyword to search definition in kbbi") - r = (await fetch.get(f"https://yasirapi.eu.org/kbbi?kata={ctx.input}")).json() - if nomsg := r.get("detail"): + r = await fetch.get(f"https://yasirapi.eu.org/kbbi?kata={ctx.input}") + if r.status_code != 200: + return await ctx.reply("Maaf, makna kata tersebut tidak ditemukan.") + parse = r.json() + if nomsg := parse.get("detail"): return await ctx.reply_msg(nomsg) kbbi_btn = InlineKeyboardMarkup( - [[InlineKeyboardButton(text="Open in Web", url=r.get("link"))]] + [[InlineKeyboardButton(text="Open in Web", url=parse.get("link"))]] ) res = "Definisi:\n" - for _, a in enumerate(r.get("result"), start=1): + for _, a in enumerate(parse.get("result"), start=1): submakna = "".join(f"{a}, " for a in a["makna"][0]["submakna"])[:-2] contoh = "".join(f"{a}, " for a in a["makna"][0]["contoh"])[:-2] kt_dasar = "".join(f"{a}, " for a in a["kata_dasar"])[:-2]