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",