From e688b15c20d6288efc45ad64e4b483987dde93dc Mon Sep 17 00:00:00 2001 From: Yasir Aris M Date: Sun, 29 Oct 2023 22:53:40 +0700 Subject: [PATCH] Trying fix blacklist, fix inline imdb, use alternate name or title for justwatch Signed-off-by: Yasir Aris M --- misskaty/plugins/blacklist_chat.py | 15 ++++++++++----- misskaty/plugins/imdb_search.py | 4 ++-- misskaty/plugins/inline_search.py | 2 +- misskaty/plugins/misc_tools.py | 6 +++--- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/misskaty/plugins/blacklist_chat.py b/misskaty/plugins/blacklist_chat.py index cabc0bf3..2ae5b7c2 100644 --- a/misskaty/plugins/blacklist_chat.py +++ b/misskaty/plugins/blacklist_chat.py @@ -22,10 +22,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ import re -from time import time +from datetime import datetime, timedelta from pyrogram import filters from pyrogram.types import ChatPermissions +from pyrogram.errors import ChatAdminRequired from database.blacklist_db import ( delete_blacklist_filter, @@ -88,7 +89,7 @@ async def del_filter(_, message): @app.on_message(filters.text & ~filters.private, group=8) @capture_err -async def blacklist_filters_re(_, message): +async def blacklist_filters_re(self, message): text = message.text.lower().strip() if not text: return @@ -105,14 +106,18 @@ async def blacklist_filters_re(_, message): if user.id in await list_admins(chat_id): return try: + await message.delete_msg() await message.chat.restrict_member( user.id, ChatPermissions(all_perms=False), - until_date=int(time() + 3600), + until_date=datetime.now() + timedelta(hours=1), ) - except Exception: + except ChatAdminRequired: + return await message.reply("Please give me admin permissions to blacklist user", quote=False) + except Exception as err: + self.log.info(f"ERROR Blacklist Chat: ID = {chat_id}, ERR = {err}") return - return await app.send_message( + await app.send_message( chat_id, f"Muted {user.mention} [`{user.id}`] for 1 hour " + f"due to a blacklist match on {word}.", diff --git a/misskaty/plugins/imdb_search.py b/misskaty/plugins/imdb_search.py index 343ea4c4..21cc8f5a 100644 --- a/misskaty/plugins/imdb_search.py +++ b/misskaty/plugins/imdb_search.py @@ -392,7 +392,7 @@ async def imdb_id_callback(self: Client, query: CallbackQuery): r_json = json.loads( sop.find("script", attrs={"type": "application/ld+json"}).contents[0] ) - ott = await search_jw(r_json.get("name"), "ID") + ott = await search_jw(r_json.get("alternateName") or r_json.get("name"), "ID") typee = r_json.get("@type", "") res_str = "" tahun = ( @@ -554,7 +554,7 @@ async def imdb_en_callback(self: Client, query: CallbackQuery): r_json = json.loads( sop.find("script", attrs={"type": "application/ld+json"}).contents[0] ) - ott = await search_jw(r_json.get("name"), "US") + ott = await search_jw(r_json.get("alternateName") or r_json.get("name"), "US") typee = r_json.get("@type", "") res_str = "" tahun = ( diff --git a/misskaty/plugins/inline_search.py b/misskaty/plugins/inline_search.py index ef173920..c105fb92 100644 --- a/misskaty/plugins/inline_search.py +++ b/misskaty/plugins/inline_search.py @@ -640,7 +640,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") + ott = await search_jw(r_json.get("alternateName") or r_json["name"], "ID") res_str = "" typee = r_json.get("@type", "") tahun = ( diff --git a/misskaty/plugins/misc_tools.py b/misskaty/plugins/misc_tools.py index f810a902..963d843c 100644 --- a/misskaty/plugins/misc_tools.py +++ b/misskaty/plugins/misc_tools.py @@ -557,7 +557,7 @@ async def who_is(client, message): quote=True, disable_notification=True, ) - await status_message.delete() + await status_message.delete_msg() @app.on_callback_query(filters.regex("^close")) @@ -569,8 +569,8 @@ async def close_callback(_, query: CallbackQuery): with contextlib.redirect_stdout(Exception): await query.answer("Deleting this message in 5 seconds.") await asyncio.sleep(5) - await query.message.delete() - await query.message.reply_to_message.delete() + await query.message.delete_msg() + await query.message.reply_to_message.delete_msg() async def mdlapi(title):