From 79d02d7e8a27da393a23fe687ea59bde95e1f4a1 Mon Sep 17 00:00:00 2001 From: yasirarism <55983182+yasirarism@users.noreply.github.com> Date: Sat, 19 Aug 2023 22:47:28 +0700 Subject: [PATCH] Update nya ini dulu, yang lain nyusul --- misskaty/plugins/dev.py | 2 +- misskaty/plugins/grup_tools.py | 4 ++- misskaty/plugins/imdb_search.py | 56 ++++++++++++++++++++------------ misskaty/plugins/ytdl_plugins.py | 3 +- 4 files changed, 42 insertions(+), 23 deletions(-) diff --git a/misskaty/plugins/dev.py b/misskaty/plugins/dev.py index 068059fd..2e4bb126 100644 --- a/misskaty/plugins/dev.py +++ b/misskaty/plugins/dev.py @@ -417,7 +417,7 @@ async def cmd_eval(self: Client, ctx: Message, strings) -> Optional[str]: "send": send, "stdout": out_buf, "traceback": traceback, - "http": http, + "http": fetch, "replied": ctx.reply_to_message, "requests": requests, "help": _help, diff --git a/misskaty/plugins/grup_tools.py b/misskaty/plugins/grup_tools.py index ccc7b6ca..f34fae6a 100644 --- a/misskaty/plugins/grup_tools.py +++ b/misskaty/plugins/grup_tools.py @@ -6,7 +6,7 @@ from logging import getLogger from PIL import Image, ImageChops, ImageDraw, ImageFont from pyrogram import enums, filters -from pyrogram.errors import ChatAdminRequired, MessageTooLong, RPCError +from pyrogram.errors import ChatAdminRequired, MessageTooLong, RPCError, ChatWriteForbidden from pyrogram.types import ChatMemberUpdated, InlineKeyboardButton, InlineKeyboardMarkup from database.users_chats_db import db @@ -201,6 +201,8 @@ async def greet_group(bot, message, strings): LOGGER.error(f"ERROR in Combot API Detection. {err}") if userspammer != "": await bot.send_message(message.chat.id, userspammer) + except ChatWriteForbidden: + await message.chat.leave() except Exception as e: LOGGER.info(e) try: diff --git a/misskaty/plugins/imdb_search.py b/misskaty/plugins/imdb_search.py index ee36f348..015a986a 100644 --- a/misskaty/plugins/imdb_search.py +++ b/misskaty/plugins/imdb_search.py @@ -92,9 +92,12 @@ async def imdblangset(_, query: CallbackQuery): InlineButton("🗑 Remove UserSetting", f"setimdb#rm#{query.from_user.id}") ) buttons.row(InlineButton("❌ Close", f"close#{query.from_user.id}")) - await query.message.edit_caption( - "Please select available language below..", reply_markup=buttons - ) + try: + await query.message.edit_caption( + "Please select available language below..", reply_markup=buttons + ) + except (MessageIdInvalid, MessageNotModified): + pass @app.on_cb("setimdb") @@ -106,22 +109,24 @@ async def imdbsetlang(_, query: CallbackQuery): _, langset = await is_imdbset(query.from_user.id) if langset == lang: return await query.answer(f"⚠️ Your Setting Already in ({langset})!", True) - if lang == "eng": - await add_imdbset(query.from_user.id, lang) - await query.message.edit_caption( - "Language interface for IMDB has been changed to English." - ) - elif lang == "ind": - await add_imdbset(query.from_user.id, lang) - await query.message.edit_caption( - "Bahasa tampilan IMDB sudah diubah ke Indonesia." - ) - else: - await remove_imdbset(query.from_user.id) - await query.message.edit_caption( - "UserSetting for IMDB has been deleted from database." - ) - + try: + if lang == "eng": + await add_imdbset(query.from_user.id, lang) + await query.message.edit_caption( + "Language interface for IMDB has been changed to English." + ) + elif lang == "ind": + await add_imdbset(query.from_user.id, lang) + await query.message.edit_caption( + "Bahasa tampilan IMDB sudah diubah ke Indonesia." + ) + else: + await remove_imdbset(query.from_user.id) + await query.message.edit_caption( + "UserSetting for IMDB has been deleted from database." + ) + except (MessageIdInvalid, MessageNotModified): + pass async def imdb_search_id(kueri, message): BTN = [] @@ -173,6 +178,8 @@ async def imdb_search_id(kueri, message): ) buttons.add(*BTN) await k.edit_caption(msg, reply_markup=buttons) + except (MessageIdInvalid, MessageNotModified): + pass except Exception as err: await k.edit_caption( f"Ooppss, gagal mendapatkan daftar judul di IMDb. Mungkin terkena rate limit atau down.\n\nERROR: {err}" @@ -229,6 +236,8 @@ async def imdb_search_en(kueri, message): ) buttons.add(*BTN) await k.edit_caption(msg, reply_markup=buttons) + except (MessageIdInvalid, MessageNotModified): + pass except Exception as err: await k.edit_caption( f"Failed when requesting movies title. Maybe got rate limit or down.\n\nERROR: {err}" @@ -248,7 +257,10 @@ async def imdbcari(_, query: CallbackQuery): 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..") + try: + await query.message.edit_caption("🔎 Sedang mencari di Database IMDB..") + except (MessageIdInvalid, MessageNotModified): + pass msg = "" buttons = InlineKeyboard(row_width=4) try: @@ -287,6 +299,8 @@ async def imdbcari(_, query: CallbackQuery): ) buttons.add(*BTN) await query.message.edit_caption(msg, reply_markup=buttons) + except (MessageIdInvalid, MessageNotModified): + pass except Exception as err: await query.message.edit_caption( f"Ooppss, gagal mendapatkan daftar judul di IMDb. Mungkin terkena rate limit atau down.\n\nERROR: {err}" @@ -338,6 +352,8 @@ async def imdbcari(_, query: CallbackQuery): ) buttons.add(*BTN) await query.message.edit_caption(msg, reply_markup=buttons) + except (MessageIdInvalid, MessageNotModified): + pass except Exception as err: await query.message.edit_caption( f"Failed when requesting movies title. Maybe got rate limit or down.\n\nERROR: {err}" diff --git a/misskaty/plugins/ytdl_plugins.py b/misskaty/plugins/ytdl_plugins.py index 204f7133..17dc3239 100644 --- a/misskaty/plugins/ytdl_plugins.py +++ b/misskaty/plugins/ytdl_plugins.py @@ -203,7 +203,8 @@ async def ytdl_gendl_callback(self: Client, cq: CallbackQuery, strings): try: return await cq.answer(strings("vip-btn"), True) except QueryIdInvalid: - return + return await cq.delete() + await cq.edit_message_caption("Downloading..") async with iYTDL( log_group_id=LOG_CHANNEL, cache_path="cache",