mirror of
https://github.com/yasirarism/MissKatyPyro.git
synced 2026-01-02 02:44:50 +00:00
Fix
This commit is contained in:
parent
ee143aa7ac
commit
ee27bcd992
7 changed files with 69 additions and 134 deletions
|
|
@ -187,7 +187,7 @@ async def byPassPh(url: str, name: str):
|
|||
|
||||
class Kusonime:
|
||||
def __init__(self):
|
||||
raise NotImplementedError()
|
||||
pass
|
||||
|
||||
@staticmethod
|
||||
async def byPass(url):
|
||||
|
|
|
|||
|
|
@ -12,14 +12,17 @@ from misskaty.vars import COMMAND_HANDLER, LOG_CHANNEL, SUDO, SUPPORT_CHAT
|
|||
async def ban_reply(self: Client, ctx: Message):
|
||||
if not ctx.from_user:
|
||||
return
|
||||
ban = await db.get_ban_status(ctx.from_user.id)
|
||||
if (ban.get("is_banned") and ctx.chat.type.value == "private") or (
|
||||
ban.get("is_banned") and ctx.chat.type.value == "supergroup" and ctx.command
|
||||
):
|
||||
await ctx.reply_msg(
|
||||
f'I am sorry, You are banned to use Me. \nBan Reason: {ban["ban_reason"]}'
|
||||
)
|
||||
await ctx.stop_propagation()
|
||||
try:
|
||||
ban = await db.get_ban_status(ctx.from_user.id)
|
||||
if (ban.get("is_banned") and ctx.chat.type.value == "private") or (
|
||||
ban.get("is_banned") and ctx.chat.type.value == "supergroup" and ctx.command
|
||||
):
|
||||
await ctx.reply_msg(
|
||||
f'I am sorry, You are banned to use Me. \nBan Reason: {ban["ban_reason"]}'
|
||||
)
|
||||
await ctx.stop_propagation()
|
||||
except:
|
||||
await ctx.continue_propagation()
|
||||
|
||||
|
||||
@app.on_message(filters.group & filters.incoming, group=-2)
|
||||
|
|
@ -55,7 +58,10 @@ async def grp_bd(self: Client, ctx: Message, strings):
|
|||
await k.pin()
|
||||
except:
|
||||
pass
|
||||
await self.leave_chat(ctx.chat.id)
|
||||
try:
|
||||
await self.leave_chat(ctx.chat.id)
|
||||
except:
|
||||
pass
|
||||
await ctx.stop_propagation()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -49,10 +49,10 @@ async def imdb_choose(self: Client, ctx: Message):
|
|||
if len(ctx.command) == 1:
|
||||
return await ctx.reply_msg(
|
||||
f"ℹ️ Please add query after CMD!\nEx: <code>/{ctx.command[0]} Jurassic World</code>",
|
||||
del_in=5,
|
||||
del_in=7,
|
||||
)
|
||||
if ctx.sender_chat:
|
||||
return await ctx.reply_msg("This feature not supported for channel..", del_in=5)
|
||||
return await ctx.reply_msg("Cannot identify user, please use in private chat.", del_in=7)
|
||||
kuery = ctx.text.split(" ", 1)[1]
|
||||
is_imdb, lang = await is_imdbset(ctx.from_user.id)
|
||||
if is_imdb:
|
||||
|
|
@ -393,53 +393,29 @@ async def imdb_id_callback(self: Client, query: CallbackQuery):
|
|||
res_str += f"<b>Rilis:</b> <a href='https://www.imdb.com{rilis_url}'>{rilis}</a>\n"
|
||||
if genre := r_json.get("genre"):
|
||||
genre = "".join(f"{GENRES_EMOJI[i]} #{i.replace('-', '_').replace(' ', '_')}, " if i in GENRES_EMOJI else f"#{i.replace('-', '_').replace(' ', '_')}, " for i in r_json["genre"])
|
||||
genre = genre[:-2]
|
||||
res_str += f"<b>Genre:</b> {genre}\n"
|
||||
res_str += f"<b>Genre:</b> {genre[:-2]}\n"
|
||||
if negara := sop.select('li[data-testid="title-details-origin"]'):
|
||||
country = "".join(f"{demoji(country.text)} #{country.text.replace(' ', '_').replace('-', '_')}, " for country in negara[0].findAll(class_="ipc-metadata-list-item__list-content-item ipc-metadata-list-item__list-content-item--link"))
|
||||
country = country[:-2]
|
||||
res_str += f"<b>Negara:</b> {country}\n"
|
||||
res_str += f"<b>Negara:</b> {country[:-2]}\n"
|
||||
if bahasa := sop.select('li[data-testid="title-details-languages"]'):
|
||||
language = "".join(f"#{lang.text.replace(' ', '_').replace('-', '_')}, " for lang in bahasa[0].findAll(class_="ipc-metadata-list-item__list-content-item ipc-metadata-list-item__list-content-item--link"))
|
||||
language = language[:-2]
|
||||
res_str += f"<b>Bahasa:</b> {language}\n"
|
||||
res_str += f"<b>Bahasa:</b> {language[:-2]}\n"
|
||||
res_str += "\n<b>🙎 Info Cast:</b>\n"
|
||||
if directors := r_json.get("director"):
|
||||
director = ""
|
||||
for i in directors:
|
||||
name = i["name"]
|
||||
url = i["url"]
|
||||
director += f"<a href='{url}'>{name}</a>, "
|
||||
director = director[:-2]
|
||||
res_str += f"<b>Sutradara:</b> {director}\n"
|
||||
director = director = "".join(f"<a href='{i['url']}'>{i['name']}</a>, " for i in r_json["director"])
|
||||
res_str += f"<b>Sutradara:</b> {director[:-2]}\n"
|
||||
if creators := r_json.get("creator"):
|
||||
creator = ""
|
||||
for i in creators:
|
||||
if i["@type"] == "Person":
|
||||
name = i["name"]
|
||||
url = i["url"]
|
||||
creator += f"<a href='{url}'>{name}</a>, "
|
||||
creator = creator[:-2]
|
||||
res_str += f"<b>Penulis:</b> {creator}\n"
|
||||
creator = "".join(f"<a href='{i['url']}'>{i['name']}</a>, " for i in r_json["creator"] if i["@type"] == "Person")
|
||||
res_str += f"<b>Penulis:</b> {creator[:-2]}\n"
|
||||
if actor := r_json.get("actor"):
|
||||
actors = ""
|
||||
for i in actor:
|
||||
name = i["name"]
|
||||
url = i["url"]
|
||||
actors += f"<a href='{url}'>{name}</a>, "
|
||||
actors = actors[:-2]
|
||||
res_str += f"<b>Pemeran:</b> {actors}\n\n"
|
||||
actors = "".join(f"<a href='{i['url']}'>{i['name']}</a>, " for i in r_json["actor"])
|
||||
res_str += f"<b>Pemeran:</b> {actors[:-2]}\n\n"
|
||||
if deskripsi := r_json.get("description"):
|
||||
summary = GoogleTranslator("auto", "id").translate(deskripsi)
|
||||
res_str += f"<b>📜 Plot: </b> <code>{summary}</code>\n\n"
|
||||
if keywd := r_json.get("keywords"):
|
||||
keywords = keywd.split(",")
|
||||
key_ = ""
|
||||
for i in keywords:
|
||||
i = i.replace(" ", "_").replace("-", "_")
|
||||
key_ += f"#{i}, "
|
||||
key_ = key_[:-2]
|
||||
res_str += f"<b>🔥 Kata Kunci:</b> {key_} \n"
|
||||
key_ = "".join(f"#{i.replace(' ', '_').replace('-', '_')}, " for i in r_json["keywords"].split(","))
|
||||
res_str += f"<b>🔥 Kata Kunci:</b> {key_[:-2]} \n"
|
||||
if award := sop.select('li[data-testid="award_information"]'):
|
||||
awards = award[0].find(class_="ipc-metadata-list-item__list-content-item").text
|
||||
res_str += f"<b>🏆 Penghargaan:</b> <code>{GoogleTranslator('auto', 'id').translate(awards)}</code>\n"
|
||||
|
|
@ -517,52 +493,28 @@ async def imdb_en_callback(self: Client, query: CallbackQuery):
|
|||
res_str += f"<b>Rilis:</b> <a href='https://www.imdb.com{rilis_url}'>{rilis}</a>\n"
|
||||
if genre := r_json.get("genre"):
|
||||
genre = "".join(f"{GENRES_EMOJI[i]} #{i.replace('-', '_').replace(' ', '_')}, " if i in GENRES_EMOJI else f"#{i.replace('-', '_').replace(' ', '_')}, " for i in r_json["genre"])
|
||||
genre = genre[:-2]
|
||||
res_str += f"<b>Genre:</b> {genre}\n"
|
||||
res_str += f"<b>Genre:</b> {genre[:-2]}\n"
|
||||
if negara := sop.select('li[data-testid="title-details-origin"]'):
|
||||
country = "".join(f"{demoji(country.text)} #{country.text.replace(' ', '_').replace('-', '_')}, " for country in negara[0].findAll(class_="ipc-metadata-list-item__list-content-item ipc-metadata-list-item__list-content-item--link"))
|
||||
country = country[:-2]
|
||||
res_str += f"<b>Country:</b> {country}\n"
|
||||
res_str += f"<b>Country:</b> {country[:-2]}\n"
|
||||
if bahasa := sop.select('li[data-testid="title-details-languages"]'):
|
||||
language = "".join(f"#{lang.text.replace(' ', '_').replace('-', '_')}, " for lang in bahasa[0].findAll(class_="ipc-metadata-list-item__list-content-item ipc-metadata-list-item__list-content-item--link"))
|
||||
language = language[:-2]
|
||||
res_str += f"<b>Language:</b> {language}\n"
|
||||
res_str += f"<b>Language:</b> {language[:-2]}\n"
|
||||
res_str += "\n<b>🙎 Cast Info:</b>\n"
|
||||
if directors := r_json.get("director"):
|
||||
director = ""
|
||||
for i in directors:
|
||||
name = i["name"]
|
||||
url = i["url"]
|
||||
director += f"<a href='{url}'>{name}</a>, "
|
||||
director = director[:-2]
|
||||
res_str += f"<b>Director:</b> {director}\n"
|
||||
if creators := r_json.get("creator"):
|
||||
creator = ""
|
||||
for i in creators:
|
||||
if i["@type"] == "Person":
|
||||
name = i["name"]
|
||||
url = i["url"]
|
||||
creator += f"<a href='{url}'>{name}</a>, "
|
||||
creator = creator[:-2]
|
||||
res_str += f"<b>Writer:</b> {creator}\n"
|
||||
if actor := r_json.get("actor"):
|
||||
actors = ""
|
||||
for i in actor:
|
||||
name = i["name"]
|
||||
url = i["url"]
|
||||
actors += f"<a href='{url}'>{name}</a>, "
|
||||
actors = actors[:-2]
|
||||
res_str += f"<b>Stars:</b> {actors}\n\n"
|
||||
if r_json.get("director"):
|
||||
director = "".join(f"<a href='{i['url']}'>{i['name']}</a>, " for i in r_json["director"])
|
||||
res_str += f"<b>Director:</b> {director[:-2]}\n"
|
||||
if r_json.get("creator"):
|
||||
creator = "".join(f"<a href='{i['url']}'>{i['name']}</a>, " for i in r_json["creator"] if i["@type"] == "Person")
|
||||
res_str += f"<b>Writer:</b> {creator[-2]}\n"
|
||||
if r_json.get("actor"):
|
||||
actors = actors = "".join(f"<a href='{i['url']}'>{i['name']}</a>, " for i in r_json["actor"])
|
||||
res_str += f"<b>Stars:</b> {actors[:-2]}\n\n"
|
||||
if description := r_json.get("description"):
|
||||
res_str += f"<b>📜 Summary: </b> <code>{description}</code>\n\n"
|
||||
if keywd := r_json.get("keywords"):
|
||||
keywords = keywd.split(",")
|
||||
key_ = ""
|
||||
for i in keywords:
|
||||
i = i.replace(" ", "_").replace("-", "_")
|
||||
key_ += f"#{i}, "
|
||||
key_ = key_[:-2]
|
||||
res_str += f"<b>🔥 Keywords:</b> {key_} \n"
|
||||
if r_json.get("keywords"):
|
||||
key_ = "".join(f"#{i.replace(' ', '_').replace('-', '_')}, " for i in r_json["keywords"].split(","))
|
||||
res_str += f"<b>🔥 Keywords:</b> {key_[:-2]} \n"
|
||||
if award := sop.select('li[data-testid="award_information"]'):
|
||||
awards = award[0].find(class_="ipc-metadata-list-item__list-content-item").text
|
||||
res_str += f"<b>🏆 Awards:</b> <code>{awards}</code>\n"
|
||||
|
|
|
|||
|
|
@ -617,11 +617,7 @@ async def imdb_inl(_, query):
|
|||
ott = await search_jw(r_json["name"], "en_ID")
|
||||
res_str = ""
|
||||
typee = r_json.get("@type", "")
|
||||
tahun = (
|
||||
re.findall(r"\d{4}\W\d{4}|\d{4}-?", sop.title.text)[0]
|
||||
if re.findall(r"\d{4}\W\d{4}|\d{4}-?", sop.title.text)
|
||||
else "N/A"
|
||||
)
|
||||
tahun = re.findall(r"\d{4}\W\d{4}|\d{4}-?", sop.title.text)[0] if re.findall(r"\d{4}\W\d{4}|\d{4}-?", sop.title.text) else "N/A"
|
||||
res_str += f"<b>📹 Judul:</b> <a href='{url}'>{r_json['name']} [{tahun}]</a> (<code>{typee}</code>)\n"
|
||||
if r_json.get("alternateName"):
|
||||
res_str += (
|
||||
|
|
@ -659,8 +655,7 @@ async def imdb_inl(_, query):
|
|||
else f"#{i.replace('-', '_').replace(' ', '_')}, "
|
||||
for i in r_json["genre"]
|
||||
)
|
||||
genre = genre[:-2]
|
||||
res_str += f"<b>Genre:</b> {genre}\n"
|
||||
res_str += f"<b>Genre:</b> {genre[:-2]}\n"
|
||||
if negara := sop.select('li[data-testid="title-details-origin"]'):
|
||||
country = "".join(
|
||||
f"{demoji(country.text)} #{country.text.replace(' ', '_').replace('-', '_')}, "
|
||||
|
|
@ -668,8 +663,7 @@ async def imdb_inl(_, query):
|
|||
class_="ipc-metadata-list-item__list-content-item ipc-metadata-list-item__list-content-item--link"
|
||||
)
|
||||
)
|
||||
country = country[:-2]
|
||||
res_str += f"<b>Negara:</b> {country}\n"
|
||||
res_str += f"<b>Negara:</b> {country[:-2]}\n"
|
||||
if bahasa := sop.select('li[data-testid="title-details-languages"]'):
|
||||
language = "".join(
|
||||
f"#{lang.text.replace(' ', '_').replace('-', '_')}, "
|
||||
|
|
@ -677,47 +671,25 @@ async def imdb_inl(_, query):
|
|||
class_="ipc-metadata-list-item__list-content-item ipc-metadata-list-item__list-content-item--link"
|
||||
)
|
||||
)
|
||||
language = language[:-2]
|
||||
res_str += f"<b>Bahasa:</b> {language}\n"
|
||||
res_str += f"<b>Bahasa:</b> {language[:-2]}\n"
|
||||
res_str += "\n<b>🙎 Info Cast:</b>\n"
|
||||
if r_json.get("director"):
|
||||
director = ""
|
||||
for i in r_json["director"]:
|
||||
name = i["name"]
|
||||
url = i["url"]
|
||||
director += f"<a href='{url}'>{name}</a>, "
|
||||
director = director[:-2]
|
||||
res_str += f"<b>Sutradara:</b> {director}\n"
|
||||
director = "".join(f"<a href='{i['url']}'>{i['name']}</a>, " for i in r_json["director"])
|
||||
res_str += f"<b>Sutradara:</b> {director[:-2]}\n"
|
||||
if r_json.get("creator"):
|
||||
creator = ""
|
||||
for i in r_json["creator"]:
|
||||
if i["@type"] == "Person":
|
||||
name = i["name"]
|
||||
url = i["url"]
|
||||
creator += f"<a href='{url}'>{name}</a>, "
|
||||
creator = creator[:-2]
|
||||
res_str += f"<b>Penulis:</b> {creator}\n"
|
||||
creator = "".join(f"<a href='{i['url']}'>{i['name']}</a>, " for i in r_json["creator"] if i["@type"] == "Person")
|
||||
res_str += f"<b>Penulis:</b> {creator[:-2]}\n"
|
||||
if r_json.get("actor"):
|
||||
actors = ""
|
||||
for i in r_json["actor"]:
|
||||
name = i["name"]
|
||||
url = i["url"]
|
||||
actors += f"<a href='{url}'>{name}</a>, "
|
||||
actors = actors[:-2]
|
||||
res_str += f"<b>Pemeran:</b> {actors}\n\n"
|
||||
actors = "".join(f"<a href='{i['url']}'>{i['name']}</a>, " for i in r_json["actor"])
|
||||
res_str += f"<b>Pemeran:</b> {actors[:-2]}\n\n"
|
||||
if r_json.get("description"):
|
||||
summary = GoogleTranslator("auto", "id").translate(
|
||||
r_json.get("description")
|
||||
)
|
||||
res_str += f"<b>📜 Plot: </b> <code>{summary}</code>\n\n"
|
||||
if r_json.get("keywords"):
|
||||
keywords = r_json["keywords"].split(",")
|
||||
key_ = ""
|
||||
for i in keywords:
|
||||
i = i.replace(" ", "_").replace("-", "_")
|
||||
key_ += f"#{i}, "
|
||||
key_ = key_[:-2]
|
||||
res_str += f"<b>🔥 Kata Kunci:</b> {key_} \n"
|
||||
key_ = "".join(f"#{i.replace(' ', '_').replace('-', '_')}, " for i in r_json["keywords"].split(","))
|
||||
res_str += f"<b>🔥 Kata Kunci:</b> {key_[:-2]} \n"
|
||||
if award := sop.select('li[data-testid="award_information"]'):
|
||||
awards = (
|
||||
award[0]
|
||||
|
|
|
|||
|
|
@ -69,6 +69,8 @@ async def chlang(c: Client, m: Union[CallbackQuery, Message], strings):
|
|||
else:
|
||||
msg = m
|
||||
sender = msg.reply_text
|
||||
if not msg.from_user:
|
||||
return
|
||||
|
||||
res = strings("language_changer_private") if msg.chat.type == ChatType.PRIVATE else strings("language_changer_chat")
|
||||
msg = await sender(res, reply_markup=keyboard)
|
||||
|
|
@ -105,4 +107,4 @@ async def set_chat_lang(c: Client, m: CallbackQuery, strings):
|
|||
)
|
||||
else:
|
||||
keyboard = None
|
||||
await m.message.edit_text(strings("language_changed_successfully"), reply_markup=keyboard)
|
||||
await m.message.edit_msg(strings("language_changed_successfully"), reply_markup=keyboard)
|
||||
|
|
|
|||
|
|
@ -220,11 +220,11 @@ async def getDataKuso(msg, kueri, CurrentPage, user, strings):
|
|||
kusoResult += f"<b>{index*6+c}</b>. {i['title']}\n{i['link']}\n\n"
|
||||
if c < 6:
|
||||
extractbtn1.append(
|
||||
InlineButton(c, f"kusoextract#{CurrentPage}#{c}#{user}#{msg.id}")
|
||||
InlineButton(index*6+c, f"kusoextract#{CurrentPage}#{c}#{user}#{msg.id}")
|
||||
)
|
||||
else:
|
||||
extractbtn2.append(
|
||||
InlineButton(c, f"kusoextract#{CurrentPage}#{c}#{user}#{msg.id}")
|
||||
InlineButton(index*6+c, f"kusoextract#{CurrentPage}#{c}#{user}#{msg.id}")
|
||||
)
|
||||
kusoResult = "".join(i for i in kusoResult if i not in "[]")
|
||||
return kusoResult, PageLen, extractbtn1, extractbtn2
|
||||
|
|
@ -316,7 +316,7 @@ async def getDataSavefilm21(msg, kueri, CurrentPage, user, strings):
|
|||
for c, i in enumerate(SCRAP_DICT[msg.id][0][index], start=1):
|
||||
sfResult += f"<b>{index*6+c}. <a href='{i['link']}'>{i['judul']}</a></b>\n<b>Genre:</b> {i['genre']}\n\n"
|
||||
extractbtn.append(
|
||||
InlineButton(c, f"sf21extract#{CurrentPage}#{c}#{user}#{msg.id}")
|
||||
InlineButton(index*6+c, f"sf21extract#{CurrentPage}#{c}#{user}#{msg.id}")
|
||||
)
|
||||
sfResult = "".join(i for i in sfResult if i not in "[]")
|
||||
return sfResult, PageLen, extractbtn
|
||||
|
|
@ -366,7 +366,7 @@ async def getDataLendrive(msg, kueri, CurrentPage, user, strings):
|
|||
for c, i in enumerate(SCRAP_DICT[msg.id][0][index], start=1):
|
||||
lenddataResult += f"<b>{index*6+c}. <a href='{i['link']}'>{i['judul']}</a></b>\n<b>{strings('quality')}:</b> {i['quality']}\n<b>Status:</b> {i['status']}\n\n"
|
||||
extractbtn.append(
|
||||
InlineButton(c, f"lendriveextract#{CurrentPage}#{c}#{user}#{msg.id}")
|
||||
InlineButton(index*6+c, f"lendriveextract#{CurrentPage}#{c}#{user}#{msg.id}")
|
||||
)
|
||||
lenddataResult = "".join(i for i in lenddataResult if i not in "[]")
|
||||
return lenddataResult, PageLen, extractbtn
|
||||
|
|
@ -415,7 +415,7 @@ async def getDataMelong(msg, kueri, CurrentPage, user, strings):
|
|||
for c, i in enumerate(SCRAP_DICT[msg.id][0][index], start=1):
|
||||
melongResult += f"<b>{index*6+c}. <a href='{i['link']}'>{i['judul']}</a></b>\n<b>{strings('quality')}:</b> {i['quality']}\n\n"
|
||||
extractbtn.append(
|
||||
InlineButton(c, f"melongextract#{CurrentPage}#{c}#{user}#{msg.id}")
|
||||
InlineButton(index*6+c, f"melongextract#{CurrentPage}#{c}#{user}#{msg.id}")
|
||||
)
|
||||
melongResult = "".join(i for i in melongResult if i not in "[]")
|
||||
return melongResult, PageLen, extractbtn
|
||||
|
|
@ -466,7 +466,7 @@ async def getDataGomov(msg, kueri, CurrentPage, user, strings):
|
|||
gomovResult += f"<b>{index*6+c}. <a href='{i['link']}'>{i['judul']}</a></b>\n<b>Genre:</b> <code>{i['genre']}</code>\n\n"
|
||||
if not re.search(r"Series", i["genre"]):
|
||||
extractbtn.append(
|
||||
InlineButton(c, f"gomovextract#{CurrentPage}#{c}#{user}#{msg.id}")
|
||||
InlineButton(index*6+c, f"gomovextract#{CurrentPage}#{c}#{user}#{msg.id}")
|
||||
)
|
||||
gomovResult += strings("unsupport_dl_btn")
|
||||
gomovResult = "".join(i for i in gomovResult if i not in "[]")
|
||||
|
|
|
|||
|
|
@ -108,7 +108,10 @@ async def ytdownv2(self: Client, ctx: Message, strings):
|
|||
)
|
||||
await msg.wait_for_click(from_user_id=ctx.from_user.id, timeout=30)
|
||||
except ListenerTimeout:
|
||||
await msg.edit_caption(strings("exp_task", context="general"))
|
||||
try:
|
||||
await msg.edit_caption(strings("exp_task", context="general"))
|
||||
except MessageIdInvalid:
|
||||
pass
|
||||
except Exception as err:
|
||||
await ctx.reply_msg(f"Opps, ERROR: {str(err)}")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue