diff --git a/database/sangmata_db.py b/database/sangmata_db.py
index a13c1562..68b29ddb 100644
--- a/database/sangmata_db.py
+++ b/database/sangmata_db.py
@@ -2,25 +2,31 @@ from database import dbname
matadb = dbname.sangmata
+
# Get Data User
async def cek_userdata(user_id: int) -> bool:
user = await matadb.find_one({"user_id": user_id})
return bool(user)
+
async def get_userdata(user_id: int) -> bool:
user = await matadb.find_one({"user_id": user_id})
return user["username"], user["first_name"], user["last_name"]
+
async def add_userdata(user_id: int, username, first_name, last_name):
await matadb.update_one({"user_id": user_id}, {"$set": {"username": username, "first_name": first_name, "last_name": last_name}}, upsert=True)
+
# Enable Mata MissKaty in Selected Chat
async def is_sangmata_on(chat_id: int) -> bool:
chat = await matadb.find_one({"chat_id_toggle": chat_id})
return bool(chat)
+
async def sangmata_on(chat_id: int) -> bool:
await matadb.insert_one({"chat_id_toggle": chat_id})
+
async def sangmata_off(chat_id: int):
- await matadb.delete_one({"chat_id_toggle": chat_id})
\ No newline at end of file
+ await matadb.delete_one({"chat_id_toggle": chat_id})
diff --git a/misskaty/core/decorator/pyro_cooldown.py b/misskaty/core/decorator/pyro_cooldown.py
index 60ed0817..1bdbad02 100644
--- a/misskaty/core/decorator/pyro_cooldown.py
+++ b/misskaty/core/decorator/pyro_cooldown.py
@@ -1,12 +1,15 @@
from pyrogram import filters
from misskaty.core.message_utils import *
-import asyncio, time
+import asyncio
data = {}
-async def task(msg, warn = False, sec = None):
- try:await msg.delete()
- except:pass
+
+async def task(msg, warn=False, sec=None):
+ try:
+ await msg.delete()
+ except:
+ pass
if warn:
user = msg.from_user
ids = await kirimPesan(msg, f"Sorry {user.mention} [{user.id}], you must wait for {sec}s before using command again..")
@@ -15,22 +18,24 @@ async def task(msg, warn = False, sec = None):
await asyncio.sleep(2)
await hapusPesan(ids)
+
def wait(sec):
async def ___(flt, cli, msg):
user_id = msg.from_user.id
if user_id in data:
- if msg.date.timestamp() >= data[user_id]['timestamp'] + flt.data:
- data[user_id] = {'timestamp' : msg.date.timestamp(), 'warned' : False}
+ if msg.date.timestamp() >= data[user_id]["timestamp"] + flt.data:
+ data[user_id] = {"timestamp": msg.date.timestamp(), "warned": False}
return True
else:
- if not data[user_id]['warned']:
- data[user_id]['warned'] = True
- asyncio.ensure_future(task(msg, True, flt.data)) # for super accuracy use (future - time.time())
- return False # cause we dont need delete again
+ if not data[user_id]["warned"]:
+ data[user_id]["warned"] = True
+ asyncio.ensure_future(task(msg, True, flt.data)) # for super accuracy use (future - time.time())
+ return False # cause we dont need delete again
asyncio.ensure_future(task(msg))
return False
else:
- data.update({user_id : {'timestamp' : msg.date.timestamp(), 'warned' : False}})
+ data.update({user_id: {"timestamp": msg.date.timestamp(), "warned": False}})
return True
- return filters.create(___, data=sec)
\ No newline at end of file
+
+ return filters.create(___, data=sec)
diff --git a/misskaty/core/message_utils.py b/misskaty/core/message_utils.py
index 9182cee2..03f4e66f 100644
--- a/misskaty/core/message_utils.py
+++ b/misskaty/core/message_utils.py
@@ -23,6 +23,7 @@ async def kirimPesan(msg, text, **kwargs):
LOGGER.error(str(e))
return
+
# Edit MSG Pyro
async def editPesan(msg, text, **kwargs):
try:
diff --git a/misskaty/helper/__init__.py b/misskaty/helper/__init__.py
index 5d82ce2f..329ceab9 100644
--- a/misskaty/helper/__init__.py
+++ b/misskaty/helper/__init__.py
@@ -11,4 +11,4 @@ from .stickerset import *
from .time_gap import *
from .ssgen_helper import *
from .tools import *
-from .ytdl_helper import *
\ No newline at end of file
+from .ytdl_helper import *
diff --git a/misskaty/helper/kuso_utils.py b/misskaty/helper/kuso_utils.py
index 42f1d6fd..39a41cb0 100644
--- a/misskaty/helper/kuso_utils.py
+++ b/misskaty/helper/kuso_utils.py
@@ -1,6 +1,4 @@
import re
-import subprocess
-import sys
import chevron
import telegraph
@@ -12,9 +10,9 @@ from bs4 import BeautifulSoup as bs4
LOGGER = logging.getLogger(__name__)
telegraph = telegraph.Telegraph()
-if telegraph.get_access_token() == None:
+if telegraph.get_access_token() is None:
token_ph = telegraph.create_account(short_name=BOT_USERNAME)
- LOGGER.info(f"kuso_utils: Create TGH Account ..")
+ LOGGER.info("kuso_utils: Create TGH Account ..")
headers = {"Accept": "*/*", "User-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19582"}
@@ -33,16 +31,15 @@ async def kusonimeBypass(url: str, slug=None):
thumb = soup.find("div", {"class": "post-thumb"}).find("img").get("src")
data = []
# title = soup.select("#venkonten > div.vezone > div.venser > div.venutama > div.lexot > p:nth-child(3) > strong")[0].text.strip()
- title = soup.find("h1", {"class": "jdlz"}).text # fix title njing haha
- num = 1
+ title = soup.find("h1", {"class": "jdlz"}).text # fix title njing haha
genre = []
for _genre in soup.select("#venkonten > div.vezone > div.venser > div.venutama > div.lexot > div.info > p:nth-child(2)"):
gen = _genre.text.split(":").pop().strip().split(", ")
genre = gen
status_anime = soup.select("#venkonten > div.vezone > div.venser > div.venutama > div.lexot > div.info > p:nth-child(6)")[0].text.split(":").pop().strip()
- for smokedl in soup.find("div", {"class": "dlbod"}).find_all("div", {"class": "smokeddl"}):
+ for num, smokedl in enumerate(soup.find("div", {"class": "dlbod"}).find_all("div", {"class": "smokeddl"}), start=1):
titl = soup.select(f"#venkonten > div.vezone > div.venser > div.venutama > div.lexot > div.dlbod > div:nth-child({num}) > div.smokettl")[0].text
- titl = re.sub(f"Download", "", titl).strip()
+ titl = re.sub("Download", "", titl).strip()
mendata = {"name": titl, "links": []}
for smokeurl in smokedl.find_all("div", {"class": "smokeurl"}):
quality = smokeurl.find("strong").text
@@ -53,10 +50,17 @@ async def kusonimeBypass(url: str, slug=None):
links.append({"client": client, "url": url})
mendata["links"].append(dict(quality=quality, link_download=links))
data.append(mendata)
- num += 1
- hasil.update({"error": False, "title": title, "thumb": thumb, "genre": genre, "genre_string": ", ".join(genre), "status_anim": status_anime, "data": data})
+ hasil |= {
+ "error": False,
+ "title": title,
+ "thumb": thumb,
+ "genre": genre,
+ "genre_string": ", ".join(genre),
+ "status_anim": status_anime,
+ "data": data,
+ }
except:
- hasil.update({"error": True, "error_message": "kuso bypass error"})
+ hasil |= {"error": True, "error_message": "kuso bypass error"}
finally:
await request.close()
return hasil
@@ -65,7 +69,8 @@ async def kusonimeBypass(url: str, slug=None):
async def byPassPh(url: str, msg_id: int):
kusonime = await kusonimeBypass(url)
results = {"error": True, "error_message": "Post to or create TGH error"}
- template = """
+ if not kusonime["error"]:
+ template = """
Title : {{title}}
Genre : {{genre_string}}
{out}")
except Exception as e:
return await message.reply_text(str(e))
- await message.reply_text(
- "Updated with default branch, restarting now."
- )
+ await message.reply_text("Updated with default branch, restarting now.")
os.execvp(sys.executable, [sys.executable, "-m", "misskaty"])
+
async def aexec(code, c, m):
exec("async def __aexec(c, m): " + "\n p = print" + "\n replied = m.reply_to_message" + "".join(f"\n {l_}" for l_ in code.split("\n")))
return await locals()["__aexec"](c, m)
diff --git a/misskaty/plugins/filters.py b/misskaty/plugins/filters.py
index 7faf2cd6..b176c675 100644
--- a/misskaty/plugins/filters.py
+++ b/misskaty/plugins/filters.py
@@ -25,8 +25,7 @@ import re
from pyrogram import filters
-from database.filters_db import (delete_filter, get_filter, get_filters_names,
- save_filter)
+from database.filters_db import delete_filter, get_filter, get_filters_names, save_filter
from misskaty import app
from misskaty.core.decorator.errors import capture_err
from misskaty.core.decorator.permissions import adminsOnly
diff --git a/misskaty/plugins/genss.py b/misskaty/plugins/genss.py
index 703316d6..6e27c9d8 100644
--- a/misskaty/plugins/genss.py
+++ b/misskaty/plugins/genss.py
@@ -11,18 +11,16 @@ import time
import traceback
from asyncio import gather, sleep
from logging import getLogger
-from shutil import rmtree
from pyrogram import enums, filters
from pyrogram.errors import FloodWait
-from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
+from pyrogram.types import InlineKeyboardMarkup
from misskaty import BOT_USERNAME, app
from misskaty.core.decorator.errors import capture_err
from misskaty.core.decorator.pyro_cooldown import wait
from misskaty.core.message_utils import *
-from misskaty.helper import (gen_ik_buttons, get_duration, is_url,
- progress_for_pyrogram, screenshot_flink, take_ss)
+from misskaty.helper import gen_ik_buttons, get_duration, is_url, progress_for_pyrogram, screenshot_flink, take_ss
from misskaty.vars import COMMAND_HANDLER
LOGGER = getLogger(__name__)
@@ -37,7 +35,8 @@ __HELP__ = """"
@app.on_message(filters.command(["genss"], COMMAND_HANDLER) & wait(30))
@capture_err
async def genss(client, m):
- if not m.from_user: return
+ if not m.from_user:
+ return
replied = m.reply_to_message
if len(m.command) == 2 and is_url(m.command[1]):
snt = await kirimPesan(m, "Give me some time to process your request!! ๐ด", quote=True)
@@ -46,11 +45,7 @@ async def genss(client, m):
if isinstance(duration, str):
return await editPesan(snt, "๐ Sorry! I cannot open the file.")
btns = gen_ik_buttons()
- await editPesan(
- snt,
- f"Now choose how many result for screenshot? ๐ฅณ.\n\nTotal duration: `{datetime.timedelta(seconds=duration)}` (`{duration}s`)",
- reply_markup=InlineKeyboardMarkup(btns)
- )
+ await editPesan(snt, f"Now choose how many result for screenshot? ๐ฅณ.\n\nTotal duration: `{datetime.timedelta(seconds=duration)}` (`{duration}s`)", reply_markup=InlineKeyboardMarkup(btns))
elif replied and replied.media:
vid = [replied.video, replied.document]
media = next((v for v in vid if v is not None), None)
@@ -87,7 +82,8 @@ async def genss(client, m):
]
)
await kirimPesan(
- m, f"โ๏ธ Uploaded [1] screenshoot.\n\n{m.from_user.first_name} ({m.from_user.id})\n#๏ธโฃ #ssgen #id{m.from_user.id}\n\nSS Generate by @{BOT_USERNAME}",
+ m,
+ f"โ๏ธ Uploaded [1] screenshoot.\n\n{m.from_user.first_name} ({m.from_user.id})\n#๏ธโฃ #ssgen #id{m.from_user.id}\n\nSS Generate by @{BOT_USERNAME}",
reply_to_message_id=m.id,
)
await process.delete()
@@ -107,6 +103,7 @@ async def genss(client, m):
else:
await kirimPesan(m, "Reply to a Telegram media to get screenshots from media..")
-@app.on_callback_query(filters.regex(r'^scht'))
+
+@app.on_callback_query(filters.regex(r"^scht"))
async def _(c, m):
- asyncio.create_task(screenshot_flink(c, m))
\ No newline at end of file
+ asyncio.create_task(screenshot_flink(c, m))
diff --git a/misskaty/plugins/grup_tools.py b/misskaty/plugins/grup_tools.py
index ba1266f2..41033c26 100644
--- a/misskaty/plugins/grup_tools.py
+++ b/misskaty/plugins/grup_tools.py
@@ -6,12 +6,7 @@ from logging import getLogger
from PIL import Image, ImageChops, ImageDraw, ImageFont
from pyrogram import enums, filters
-from pyrogram.errors import (
- ChatAdminRequired,
- ChatSendMediaForbidden,
- MessageTooLong,
- RPCError
-)
+from pyrogram.errors import ChatAdminRequired, MessageTooLong, RPCError
from pyrogram.types import ChatMemberUpdated, InlineKeyboardButton, InlineKeyboardMarkup
from database.users_chats_db import db
@@ -89,7 +84,7 @@ async def member_has_joined(c: app, member: ChatMemberUpdated):
else:
if (temp.MELCOW).get(f"welcome-{member.chat.id}") is not None:
try:
- await (temp.MELCOW[f"welcome-{member.chat.id}"]).delete()
+ await temp.MELCOW[f"welcome-{member.chat.id}"].delete()
except:
pass
mention = f"{user.first_name}"
@@ -186,7 +181,7 @@ async def save_group(bot, message):
pic = "img/profilepic.png"
if (temp.MELCOW).get(f"welcome-{message.chat.id}") is not None:
try:
- await (temp.MELCOW[f"welcome-{message.chat.id}"]).delete()
+ await temp.MELCOW[f"welcome-{message.chat.id}"].delete()
except:
pass
try:
diff --git a/misskaty/plugins/imdb_search.py b/misskaty/plugins/imdb_search.py
index afa05611..8f09cc68 100644
--- a/misskaty/plugins/imdb_search.py
+++ b/misskaty/plugins/imdb_search.py
@@ -28,15 +28,13 @@ LOGGER = logging.getLogger(__name__)
LIST_CARI = {}
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.1.17 (KHTML, like Gecko) Version/7.1 Safari/537.85.10"}
+
# IMDB Choose Language
@app.on_message(filters.command(["imdb"], COMMAND_HANDLER))
@capture_err
async def imdb_choose(_, m):
if len(m.command) == 1:
- return await kirimPesan(
- m,
- f"โน๏ธ Please add query after CMD!\nEx: /{m.command[0]} Jurassic World"
- )
+ return await kirimPesan(m, f"โน๏ธ Please add query after CMD!\nEx: /{m.command[0]} Jurassic World")
if m.sender_chat:
return await kirimPesan(m, "This feature not supported for channel..")
kuery = m.text.split(None, 1)[1]
@@ -268,14 +266,11 @@ async def imdb_id_callback(_, query):
try:
await query.message.edit_caption("โณ Permintaan kamu sedang diproses.. ")
url = f"https://www.imdb.com/title/tt{movie}/"
- resp = await http.get(
- url,
- headers=headers
- )
+ resp = await http.get(url, headers=headers)
sop = BeautifulSoup(resp, "lxml")
r_json = json.loads(sop.find("script", attrs={"type": "application/ld+json"}).contents[0])
ott = await search_jw(r_json.get("name"), "ID")
- typee = r_json.get('@type', '')
+ typee = r_json.get("@type", "")
res_str = ""
if judul := r_json.get("name"):
try:
@@ -303,17 +298,11 @@ async def imdb_id_callback(_, query):
genre = genre[:-2]
res_str += f"Genre: {genre}\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 = "".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"Negara: {country}\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 = "".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"Bahasa: {language}\n"
res_str += "\n๐ Info Cast:\n"
@@ -397,14 +386,11 @@ async def imdb_en_callback(bot, query):
await query.message.edit_caption("โณ Getting IMDb source..")
try:
url = f"https://www.imdb.com/title/tt{movie}/"
- resp = await http.get(
- url,
- headers=headers
- )
+ resp = await http.get(url, headers=headers)
sop = BeautifulSoup(resp, "lxml")
r_json = json.loads(sop.find("script", attrs={"type": "application/ld+json"}).contents[0])
ott = await search_jw(r_json.get("name"), "US")
- typee = r_json.get('@type', '')
+ typee = r_json.get("@type", "")
res_str = ""
if judul := r_json.get("name"):
try:
@@ -432,17 +418,11 @@ async def imdb_en_callback(bot, query):
genre = genre[:-2]
res_str += f"Genre: {genre}\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 = "".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"Country: {country}\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 = "".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"Language: {language}\n"
res_str += "\n๐ Cast Info:\n"
diff --git a/misskaty/plugins/inline_search.py b/misskaty/plugins/inline_search.py
index aa798d61..51c9894f 100644
--- a/misskaty/plugins/inline_search.py
+++ b/misskaty/plugins/inline_search.py
@@ -4,12 +4,10 @@ import traceback
from logging import getLogger
from sys import platform
from sys import version as pyver
-from unicodedata import name
from bs4 import BeautifulSoup
from deep_translator import GoogleTranslator
from motor import version as mongover
-from misskaty.core.keyboard import keyboard
from pykeyboard import InlineKeyboard, InlineButton
from pyrogram import __version__ as pyrover
from pyrogram import enums, filters
@@ -42,6 +40,7 @@ keywords_list = ["imdb", "pypi", "git", "google", "secretmsg", "info", "botapi"]
PRVT_MSGS = {}
LOGGER = getLogger()
+
@app.on_inline_query()
async def inline_menu(_, inline_query: InlineQuery):
if inline_query.query.strip().lower().strip() == "":
@@ -98,7 +97,11 @@ async def inline_menu(_, inline_query: InlineQuery):
)
kueri = inline_query.query.split(None, 1)[1].strip()
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/61.0.3163.100 Safari/537.36"}
- jsonapi = await http.get(f"https://github.com/yasirarism/telegram-bot-api-spec/raw/main/api.json", headers=headers, follow_redirects=True)
+ jsonapi = await http.get(
+ "https://github.com/yasirarism/telegram-bot-api-spec/raw/main/api.json",
+ headers=headers,
+ follow_redirects=True,
+ )
parsemethod = jsonapi.json().get("methods")
parsetypes = jsonapi.json().get("types")
datajson = []
@@ -542,7 +545,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")
res_str = ""
- typee = r_json.get('@type', '')
+ typee = r_json.get("@type", "")
if r_json.get("name"):
try:
tahun = sop.select('ul[data-testid="hero-title-block__metadata"]')[0].find("span", class_="sc-8c396aa2-2 jwaBvf").text
@@ -569,17 +572,11 @@ async def imdb_inl(_, query):
genre = genre[:-2]
res_str += f"Genre: {genre}\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 = "".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"Negara: {country}\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 = "".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"Bahasa: {language}\n"
res_str += "\n๐ Info Cast:\n"
diff --git a/misskaty/plugins/mediainfo.py b/misskaty/plugins/mediainfo.py
index a273b011..1bdfe684 100644
--- a/misskaty/plugins/mediainfo.py
+++ b/misskaty/plugins/mediainfo.py
@@ -5,7 +5,6 @@
* @projectName MissKatyPyro
* Copyright @YasirPedia All rights reserved
"""
-import asyncio
import io
import subprocess
import time
@@ -17,20 +16,21 @@ from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
from misskaty import app
from misskaty.core.message_utils import *
from misskaty.core.decorator.pyro_cooldown import wait
-from misskaty.helper import post_to_telegraph, runcmd, progress_for_pyrogram, http
+from misskaty.helper import http, progress_for_pyrogram, runcmd
from misskaty.vars import COMMAND_HANDLER
from utils import get_file_id
@app.on_message(filters.command(["mediainfo"], COMMAND_HANDLER) & wait(30))
async def mediainfo(client, message):
- if not message.from_user: return
+ if not message.from_user:
+ return
if message.reply_to_message and message.reply_to_message.media:
process = await kirimPesan(message, "`Sedang memproses, lama waktu tergantung ukuran file kamu...`", quote=True)
file_info = get_file_id(message.reply_to_message)
if file_info is None:
return await editPesan(process, "Balas ke format media yang valid")
-
+
c_time = time.time()
file_path = await message.reply_to_message.download(
progress=progress_for_pyrogram,
@@ -56,7 +56,7 @@ async def mediainfo(client, message):
"expire_at": 0,
"expire_in": 0,
}
- response = await http.post('https://paste.yasir.eu.org/api/new', json=json_data)
+ response = await http.post("https://paste.yasir.eu.org/api/new", json=json_data)
link = f"https://paste.yasir.eu.org/{response.json()['id']}"
except:
link = None
@@ -88,7 +88,7 @@ async def mediainfo(client, message):
"expire_at": 0,
"expire_in": 0,
}
- response = await http.post('https://paste.yasir.eu.org/api/new', json=json_data)
+ response = await http.post("https://paste.yasir.eu.org/api/new", json=json_data)
link = f"https://paste.yasir.eu.org/{response.json()['id']}"
except:
link = None
diff --git a/misskaty/plugins/paste.py b/misskaty/plugins/paste.py
index c6955626..d6b326ab 100644
--- a/misskaty/plugins/paste.py
+++ b/misskaty/plugins/paste.py
@@ -27,6 +27,7 @@ __HELP__ = """
/temp_paste [Text/Reply To Message] - Post text to tempaste.com using html style.
"""
+
# Size Checker for Limit
def humanbytes(size: int):
"""Convert Bytes To Bytes So That Human Can Read It"""
@@ -64,12 +65,13 @@ def humanbytes(size: int):
# Pattern if extension supported, PR if want to add more
pattern = compiles(r"^text/|json$|yaml$|xml$|toml$|x-sh$|x-shellscript$|x-subrip$")
+
@app.on_message(filters.command(["tgraph"], COMMAND_HANDLER))
async def telegraph_paste(_, message):
reply = message.reply_to_message
if not reply and len(message.command) < 2:
return await kirimPesan(message, f"**Reply To A Message With /{message.command[0]} or with command**")
-
+
if message.from_user:
if message.from_user.username:
uname = f"@{message.from_user.username} [{message.from_user.id}]"
@@ -134,6 +136,7 @@ async def telegraph_paste(_, message):
pasted = f"**Successfully pasted your data to Telegraph.\n\nPaste by {uname}**"
await editPesan(msg, pasted, reply_markup=InlineKeyboardMarkup(button))
+
# Default Paste to Wastebin using Deta
@app.on_message(filters.command(["paste"], COMMAND_HANDLER))
async def wastepaste(_, message):
@@ -182,7 +185,7 @@ async def wastepaste(_, message):
"expire_at": 0,
"expire_in": 0,
}
- response = await http.post('https://paste.yasir.eu.org/api/new', json=json_data)
+ response = await http.post("https://paste.yasir.eu.org/api/new", json=json_data)
url = f"https://paste.yasir.eu.org/{response.json()['id']}"
except Exception as e:
return await editPesan(msg, f"ERROR: {e}")
@@ -197,6 +200,7 @@ async def wastepaste(_, message):
pasted = f"**Successfully pasted your data to YasirBin.\n\nPaste by {uname}**"
await editPesan(msg, pasted, reply_markup=InlineKeyboardMarkup(button))
+
# Nekobin Paste
@app.on_message(filters.command(["neko"], COMMAND_HANDLER))
async def nekopaste(_, message):
@@ -253,6 +257,7 @@ async def nekopaste(_, message):
pasted = f"**Successfully pasted your data to Nekobin.\n\nPaste by {uname}**"
await editPesan(msg, pasted, reply_markup=InlineKeyboardMarkup(button))
+
# Paste as spacebin
@app.on_message(filters.command(["sbin"], COMMAND_HANDLER))
async def spacebinn(_, message):
@@ -295,9 +300,9 @@ async def spacebinn(_, message):
try:
siteurl = "https://spaceb.in/api/v1/documents/"
- response = await http.post(siteurl, data={"content": data, "extension": 'txt'})
+ response = await http.post(siteurl, data={"content": data, "extension": "txt"})
response = response.json()
- url = "https://spaceb.in/"+response['payload']['id']
+ url = "https://spaceb.in/" + response["payload"]["id"]
except Exception as e:
return await editPesan(msg, f"ERROR: {e}")
@@ -311,6 +316,7 @@ async def spacebinn(_, message):
pasted = f"**Successfully pasted your data to Spacebin.\n\nPaste by {uname}**"
await editPesan(msg, pasted, reply_markup=InlineKeyboardMarkup(button))
+
# Rentry paste
@app.on_message(filters.command(["rentry"], COMMAND_HANDLER))
async def rentrypaste(_, message):
diff --git a/misskaty/plugins/pypi_search.py b/misskaty/plugins/pypi_search.py
index ee973fa8..6a692776 100644
--- a/misskaty/plugins/pypi_search.py
+++ b/misskaty/plugins/pypi_search.py
@@ -16,9 +16,10 @@ from misskaty.vars import COMMAND_HANDLER
PYPI_DICT = {}
+
async def getDataPypi(msg, kueri, CurrentPage, user):
if not PYPI_DICT.get(msg.id):
- pypijson = (await http.get(f'https://yasirapi.eu.org/pypi?q={kueri}')).json()
+ pypijson = (await http.get(f"https://yasirapi.eu.org/pypi?q={kueri}")).json()
if not pypijson.get("result"):
await editPesan(msg, "Sorry could not find any matching results!")
return None, 0, None
@@ -30,40 +31,38 @@ async def getDataPypi(msg, kueri, CurrentPage, user):
pypiResult = f"#Pypi Results For: {kueri}\n\n"
for c, i in enumerate(PYPI_DICT[msg.id][0][index], start=1):
pypiResult += f"{c}. {i['name']} {i['version']}\nCreated: {i['created']}\nDesc: {i['description']}\n\n"
- extractbtn.append(
- InlineButton(c, f"pypidata#{CurrentPage}#{c}#{user}#{msg.id}")
- )
- IGNORE_CHAR = "[]"
- pypiResult = ''.join(i for i in pypiResult if not i in IGNORE_CHAR)
+ extractbtn.append(InlineButton(c, f"pypidata#{CurrentPage}#{c}#{user}#{msg.id}"))
+ pypiResult = "".join(i for i in pypiResult if i not in "[]")
return pypiResult, PageLen, extractbtn
except (IndexError, KeyError):
await editPesan(msg, "Sorry could not find any matching results!")
return None, 0, None
-
-@app.on_message(filters.command(['pypi'], COMMAND_HANDLER))
+
+
+@app.on_message(filters.command(["pypi"], COMMAND_HANDLER))
async def pypi_s(client, message):
- kueri = ' '.join(message.command[1:])
+ kueri = " ".join(message.command[1:])
if not kueri:
return await kirimPesan(message, "Please add query after command. Ex: /pypi pyrogram")
pesan = await kirimPesan(message, "โณ Please wait, getting data from pypi..", quote=True)
CurrentPage = 1
pypires, PageLen, btn = await getDataPypi(pesan, kueri, CurrentPage, message.from_user.id)
- if not pypires: return
+ if not pypires:
+ return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_pypi#{number}' + f'#{pesan.id}#{message.from_user.id}')
+ keyboard.paginate(PageLen, CurrentPage, "page_pypi#{number}" + f"#{pesan.id}#{message.from_user.id}")
keyboard.row(InlineButton("๐ Get Info ", "Hmmm"))
keyboard.row(*btn)
- keyboard.row(
- InlineButton("โ Close", f"close#{message.from_user.id}")
- )
+ keyboard.row(InlineButton("โ Close", f"close#{message.from_user.id}"))
await editPesan(pesan, pypires, reply_markup=keyboard)
-@app.on_callback_query(filters.create(lambda _, __, query: 'page_pypi#' in query.data))
+
+@app.on_callback_query(filters.create(lambda _, __, query: "page_pypi#" in query.data))
async def pypipage_callback(client, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
- message_id = int(callback_query.data.split('#')[2])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[2])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
kueri = PYPI_DICT[message_id][1]
except KeyError:
@@ -75,31 +74,27 @@ async def pypipage_callback(client, callback_query):
return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_pypi#{number}' + f'#{message_id}#{callback_query.from_user.id}')
+ keyboard.paginate(PageLen, CurrentPage, "page_pypi#{number}" + f"#{message_id}#{callback_query.from_user.id}")
keyboard.row(InlineButton("๐ Extract Data ", "Hmmm"))
keyboard.row(*btn)
- keyboard.row(
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.row(InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
await editPesan(callback_query.message, pypires, reply_markup=keyboard)
-@app.on_callback_query(filters.create(lambda _, __, query: 'pypidata#' in query.data))
+
+@app.on_callback_query(filters.create(lambda _, __, query: "pypidata#" in query.data))
async def pypi_getdata(_, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
idlink = int(callback_query.data.split("#")[2])
- message_id = int(callback_query.data.split('#')[4])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[4])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
- pkgname = PYPI_DICT[message_id][0][CurrentPage-1][idlink-1].get("name")
+ pkgname = PYPI_DICT[message_id][0][CurrentPage - 1][idlink - 1].get("name")
except KeyError:
return await callback_query.answer("Invalid callback data, please send CMD again..")
keyboard = InlineKeyboard()
- keyboard.row(
- InlineButton("โฉ๏ธ Back", f"page_pypi#{CurrentPage}#{message_id}#{callback_query.from_user.id}"),
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.row(InlineButton("โฉ๏ธ Back", f"page_pypi#{CurrentPage}#{message_id}#{callback_query.from_user.id}"), InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
try:
html = await http.get(f"https://pypi.org/pypi/{pkgname}/json", headers=headers)
res = html.json()
@@ -114,7 +109,7 @@ async def pypi_getdata(_, callback_query):
msg += f"Requires Python: {res['info'].get('requires_python', 'Unknown')}\n"
msg += f"HomePage: {res['info'].get('home_page', 'Unknown')}\n"
msg += f"Bug Track: {res['info'].get('vulnerabilities', 'Unknown')}\n"
- if res['info'].get('project_urls'):
+ if res["info"].get("project_urls"):
msg += f"Docs Url: {res['info']['project_urls'].get('Documentation', 'Unknown')}\n"
msg += f"Description: {res['info'].get('summary', 'Unknown')}\n"
msg += f"Pip Command: pip3 install {res['info'].get('name', 'Unknown')}\n"
diff --git a/misskaty/plugins/sangmata.py b/misskaty/plugins/sangmata.py
index ffe53f0c..06863ec5 100644
--- a/misskaty/plugins/sangmata.py
+++ b/misskaty/plugins/sangmata.py
@@ -12,13 +12,15 @@ This feature inspired from SangMata Bot. I'm created simple detection to check u
/sangmata_set [on/off] - Enable/disable sangmata in groups.
"""
+
# Check user that change first_name, last_name and usernaname
@app.on_message(
filters.group & ~filters.bot & ~filters.via_bot,
group=3,
)
async def cek_mataa(_, m):
- if not await is_sangmata_on(m.chat.id): return
+ if not await is_sangmata_on(m.chat.id):
+ return
if not await cek_userdata(m.from_user.id):
return await add_userdata(m.from_user.id, m.from_user.username, m.from_user.first_name, m.from_user.last_name)
username, first_name, last_name = await get_userdata(m.from_user.id)
@@ -37,9 +39,8 @@ async def cek_mataa(_, m):
if msg != "":
await kirimPesan(m, msg, quote=True)
-@app.on_message(
- filters.group & filters.command("sangmata_set", COMMAND_HANDLER) & ~filters.bot & ~filters.via_bot
-)
+
+@app.on_message(filters.group & filters.command("sangmata_set", COMMAND_HANDLER) & ~filters.bot & ~filters.via_bot)
@adminsOnly("can_change_info")
async def set_mataa(_, m):
if len(m.command) == 1:
@@ -59,4 +60,4 @@ async def set_mataa(_, m):
await sangmata_off(m.chat.id)
await kirimPesan(m, "Sangmata enabled in your groups.")
else:
- await kirimPesan(m, "Unknown parameter, use only on/off parameter.")
\ No newline at end of file
+ await kirimPesan(m, "Unknown parameter, use only on/off parameter.")
diff --git a/misskaty/plugins/session_generator.py b/misskaty/plugins/session_generator.py
index 7afe6295..ec494bef 100644
--- a/misskaty/plugins/session_generator.py
+++ b/misskaty/plugins/session_generator.py
@@ -1,17 +1,11 @@
-from ast import Delete
import traceback
from logging import getLogger
from pyrogram import Client, filters
-from pyrogram.errors import (ApiIdInvalid, PasswordHashInvalid,
- PhoneCodeExpired, PhoneCodeInvalid,
- PhoneNumberInvalid, SessionPasswordNeeded)
+from pyrogram.errors import ApiIdInvalid, PasswordHashInvalid, PhoneCodeExpired, PhoneCodeInvalid, PhoneNumberInvalid, SessionPasswordNeeded
from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
from telethon import TelegramClient
-from telethon.errors import (ApiIdInvalidError, PasswordHashInvalidError,
- PhoneCodeExpiredError, PhoneCodeInvalidError,
- PhoneNumberInvalidError,
- SessionPasswordNeededError)
+from telethon.errors import ApiIdInvalidError, PasswordHashInvalidError, PhoneCodeExpiredError, PhoneCodeInvalidError, PhoneNumberInvalidError, SessionPasswordNeededError
from telethon.sessions import StringSession
from misskaty import app
@@ -37,11 +31,8 @@ buttons_ques = [
],
]
-gen_button = [
- [
- InlineKeyboardButton(text="๐ Generate Session ๐", callback_data="genstring")
- ]
-]
+gen_button = [[InlineKeyboardButton(text="๐ Generate Session ๐", callback_data="genstring")]]
+
async def is_batal(msg):
if msg.text == "/cancel":
@@ -55,6 +46,7 @@ async def is_batal(msg):
else:
return False
+
@app.on_callback_query(filters.regex(pattern=r"^(genstring|pyrogram|pyrogram_bot|telethon_bot|telethon)$"))
async def callbackgenstring(bot, callback_query):
query = callback_query.matches[0].group(1)
@@ -77,25 +69,21 @@ async def callbackgenstring(bot, callback_query):
await generate_session(bot, callback_query.message, telethon=True)
except Exception as e:
LOGGER.error(traceback.format_exc())
- ERROR_MESSAGE = "Something went wrong. \n\n**ERROR** : {} " \
- "\n\n**Please forward this message to my Owner**, if this message " \
- "doesn't contain any sensitive data " \
- "because this error is **not logged by bot.** !"
+ ERROR_MESSAGE = "Something went wrong. \n\n**ERROR** : {} " "\n\n**Please forward this message to my Owner**, if this message " "doesn't contain any sensitive data " "because this error is **not logged by bot.** !"
await callback_query.message.reply(ERROR_MESSAGE.format(str(e)))
+
@app.on_message(filters.private & ~filters.forwarded & filters.command("genstring", COMMAND_HANDLER))
async def genstringg(_, msg):
await msg.reply(ask_ques, reply_markup=InlineKeyboardMarkup(buttons_ques))
+
async def generate_session(bot, msg, telethon=False, is_bot: bool = False):
- if telethon:
- ty = "Telethon"
- else:
- ty = "Pyrogram"
+ ty = "Telethon" if telethon else "Pyrogram"
if is_bot:
ty += " Bot"
await msg.reply(f"ยป Trying to start **{ty}** session generator...")
- user_id = msg.chat.id
+ msg.chat.id
api_id_msg = await msg.chat.ask("Please send your **API_ID** to proceed.\n\nClick on /skip for using bot's api.", filters=filters.text)
if await is_batal(api_id_msg):
return
@@ -114,10 +102,7 @@ async def generate_session(bot, msg, telethon=False, is_bot: bool = False):
return
api_hash = api_hash_msg.text
await api_hash_msg.delete()
- if not is_bot:
- t = "ยป Please send your **PHONE_NUMBER** with country code for which you want generate session. \nแดxแดแดแดฉสแด : `+6286356837789`'"
- else:
- t = "Please send your **BOT_TOKEN** to continue.\nExample : `5432198765:abcdanonymousterabaaplol`'"
+ t = "Please send your **BOT_TOKEN** to continue.\nExample : `5432198765:abcdanonymousterabaaplol`'" if is_bot else "ยป Please send your **PHONE_NUMBER** with country code for which you want generate session. \nแดxแดแดแดฉสแด : `+6286356837789`'"
phone_number_msg = await msg.chat.ask(t, filters=filters.text)
if await is_batal(phone_number_msg):
return
@@ -127,9 +112,7 @@ async def generate_session(bot, msg, telethon=False, is_bot: bool = False):
await msg.reply("ยป Trying to send OTP at the given number...")
else:
await msg.reply("ยป Trying to login using Bot Token...")
- if telethon and is_bot:
- client = TelegramClient(StringSession(), api_id, api_hash)
- elif telethon:
+ if telethon and is_bot or telethon:
client = TelegramClient(StringSession(), api_id, api_hash)
elif is_bot:
client = Client(name="bot", api_id=api_id, api_hash=api_hash, bot_token=phone_number, in_memory=True)
@@ -190,11 +173,10 @@ async def generate_session(bot, msg, telethon=False, is_bot: bool = False):
except (PasswordHashInvalid, PasswordHashInvalidError):
await two_step_msg.reply("ยป The password you've sent is wrong.\n\nPlease start generating session again.", quote=True, reply_markup=InlineKeyboardMarkup(gen_button))
return
+ elif telethon:
+ await client.start(bot_token=phone_number)
else:
- if telethon:
- await client.start(bot_token=phone_number)
- else:
- await client.sign_in_bot(phone_number)
+ await client.sign_in_bot(phone_number)
if telethon:
string_session = client.session.save()
else:
@@ -208,4 +190,7 @@ async def generate_session(bot, msg, telethon=False, is_bot: bool = False):
except KeyError:
pass
await client.disconnect()
- await bot.send_message(msg.chat.id, "ยป Successfully generated your {} String Session.\n\nPlease check saved messages to get it ! \n\n**A String Generator bot by ** @IAmCuteCodes".format("Telethon" if telethon else "Pyrogram"))
\ No newline at end of file
+ await bot.send_message(
+ msg.chat.id,
+ f'ยป Successfully generated your {"Telethon" if telethon else "Pyrogram"} String Session.\n\nPlease check saved messages to get it ! \n\n**A String Generator bot by ** @IAmCuteCodes',
+ )
diff --git a/misskaty/plugins/stickers.py b/misskaty/plugins/stickers.py
index b417a26e..7042ef13 100644
--- a/misskaty/plugins/stickers.py
+++ b/misskaty/plugins/stickers.py
@@ -9,11 +9,8 @@ from pyrogram import emoji, filters, enums
from pyrogram.errors import BadRequest, PeerIdInvalid, StickersetInvalid
from pyrogram.file_id import FileId
from pyrogram.raw.functions.messages import GetStickerSet, SendMedia
-from pyrogram.raw.functions.stickers import (AddStickerToSet, CreateStickerSet,
- RemoveStickerFromSet)
-from pyrogram.raw.types import (DocumentAttributeFilename, InputDocument,
- InputMediaUploadedDocument,
- InputStickerSetItem, InputStickerSetShortName)
+from pyrogram.raw.functions.stickers import AddStickerToSet, CreateStickerSet, RemoveStickerFromSet
+from pyrogram.raw.types import DocumentAttributeFilename, InputDocument, InputMediaUploadedDocument, InputStickerSetItem, InputStickerSetShortName
from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
from misskaty import BOT_USERNAME, app
diff --git a/misskaty/plugins/sub_extractor.py b/misskaty/plugins/sub_extractor.py
index 6087f75e..50b1849c 100644
--- a/misskaty/plugins/sub_extractor.py
+++ b/misskaty/plugins/sub_extractor.py
@@ -6,7 +6,6 @@
"""
import json
import os
-import traceback
from logging import getLogger
from re import I
from re import split as ngesplit
@@ -157,7 +156,7 @@ async def stream_extract(bot, update):
start_time = perf_counter()
namafile = get_subname(lang, link, format)
LOGGER.info(f"ExtractSub: {namafile} by {update.from_user.first_name} [{update.from_user.id}]")
- extract = (await shell_exec(f"mediaextract -i {link} -map {map} '{namafile}'"))[0]
+ (await shell_exec(f"mediaextract -i {link} -map {map} '{namafile}'"))[0]
end_time = perf_counter()
timelog = "{:.2f}".format(end_time - start_time) + " second"
c_time = time()
diff --git a/misskaty/plugins/tes_session.py b/misskaty/plugins/tes_session.py
index fbba7920..aa6f7bb7 100644
--- a/misskaty/plugins/tes_session.py
+++ b/misskaty/plugins/tes_session.py
@@ -7,7 +7,8 @@ from misskaty.vars import COMMAND_HANDLER
@app.on_message(filters.command(["session"], COMMAND_HANDLER))
async def session(_, message):
- if not message.from_user: return
+ if not message.from_user:
+ return
nama = await message.chat.ask("Ketik nama kamu:")
umur = await message.chat.ask("Ketik umur kamu")
alamat = await message.chat.ask("Ketik alamat kamu:")
diff --git a/misskaty/plugins/urban_dict.py b/misskaty/plugins/urban_dict.py
index d66229b5..49199134 100644
--- a/misskaty/plugins/urban_dict.py
+++ b/misskaty/plugins/urban_dict.py
@@ -8,85 +8,54 @@ from misskaty.vars import COMMAND_HANDLER
async def getData(chat_id, message_id, GetWord, CurrentPage):
- UDJson = (await http.get(
- f'https://api.urbandictionary.com/v0/define?term={GetWord}')).json()
+ UDJson = (await http.get(f"https://api.urbandictionary.com/v0/define?term={GetWord}")).json()
- if not 'list' in UDJson:
- CNMessage = await app.send_message(
- chat_id=chat_id,
- reply_to_message_id=message_id,
- text=(
- f"Word: {GetWord}\n"
- "Results: Sorry could not find any matching results!"
- )
- )
+ if "list" not in UDJson:
+ CNMessage = await app.send_message(chat_id=chat_id, reply_to_message_id=message_id, text=(f"Word: {GetWord}\n" "Results: Sorry could not find any matching results!"))
await asyncio.sleep(5)
await CNMessage.delete()
return
try:
index = int(CurrentPage - 1)
- PageLen = len(UDJson['list'])
-
- UDReasult = (
- f"**Definition of {GetWord}**\n"
- f"{UDJson['list'][index]['definition']}\n\n"
- "**๐ Examples**\n"
- f"__{UDJson['list'][index]['example']}__"
- )
-
- INGNORE_CHAR = "[]"
- UDFReasult = ''.join(i for i in UDReasult if not i in INGNORE_CHAR)
-
- return (
- UDFReasult,
- PageLen
- )
+ PageLen = len(UDJson["list"])
- except (
- IndexError
- or KeyError
- ):
- CNMessage = await app.send_message(
- chat_id=chat_id,
- reply_to_message_id=message_id,
- text=(
- f"Word: {GetWord}\n"
- "Results: Sorry could not find any matching results!"
- )
- )
+ UDReasult = f"**Definition of {GetWord}**\n" f"{UDJson['list'][index]['definition']}\n\n" "**๐ Examples**\n" f"__{UDJson['list'][index]['example']}__"
+
+ UDFReasult = "".join(i for i in UDReasult if i not in "[]")
+
+ return (UDFReasult, PageLen)
+
+ except IndexError or KeyError:
+ CNMessage = await app.send_message(chat_id=chat_id, reply_to_message_id=message_id, text=(f"Word: {GetWord}\n" "Results: Sorry could not find any matching results!"))
await asyncio.sleep(5)
await CNMessage.delete()
-@app.on_message(filters.command(['ud'], COMMAND_HANDLER))
+
+@app.on_message(filters.command(["ud"], COMMAND_HANDLER))
async def urbanDictionary(client, message):
- if not message.from_user: return
- message_id = message.id
- chat_id = message.chat.id
- GetWord = ' '.join(message.command[1:])
+ if not message.from_user:
+ return
+ message_id = message.id
+ chat_id = message.chat.id
+ GetWord = " ".join(message.command[1:])
if not GetWord:
- message = await message.chat.ask(
- 'Now give any word for query!',
- identifier=(message.from_user.id, message.from_user.id, None)
- )
+ message = await message.chat.ask("Now give any word for query!", identifier=(message.from_user.id, message.from_user.id, None))
GetWord = message.text
-
+
CurrentPage = 1
UDReasult, PageLen = await getData(chat_id, message_id, GetWord, CurrentPage)
-
- keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'pagination_urban#{number}' + f'#{GetWord}')
- await message.reply(
- text=f"{UDReasult}",
- reply_markup=keyboard
- )
-@app.on_callback_query(filters.create(lambda _, __, query: 'pagination_urban#' in query.data))
+ keyboard = InlineKeyboard()
+ keyboard.paginate(PageLen, CurrentPage, "pagination_urban#{number}" + f"#{GetWord}")
+ await message.reply(text=f"{UDReasult}", reply_markup=keyboard)
+
+
+@app.on_callback_query(filters.create(lambda _, __, query: "pagination_urban#" in query.data))
async def ud_callback(client, callback_query):
-
message_id = callback_query.message.id
- chat_id = callback_query.message.chat.id
- CurrentPage = int(callback_query.data.split('#')[1])
- GetWord = callback_query.data.split('#')[2]
+ chat_id = callback_query.message.chat.id
+ CurrentPage = int(callback_query.data.split("#")[1])
+ GetWord = callback_query.data.split("#")[2]
try:
UDReasult, PageLen = await getData(chat_id, message_id, GetWord, CurrentPage)
@@ -94,10 +63,5 @@ async def ud_callback(client, callback_query):
return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'pagination_urban#{number}' + f'#{GetWord}')
- await app.edit_message_text(
- chat_id=chat_id,
- message_id=message_id,
- text=UDReasult,
- reply_markup=keyboard
- )
\ No newline at end of file
+ keyboard.paginate(PageLen, CurrentPage, "pagination_urban#{number}" + f"#{GetWord}")
+ await app.edit_message_text(chat_id=chat_id, message_id=message_id, text=UDReasult, reply_markup=keyboard)
diff --git a/misskaty/plugins/web_scraper.py b/misskaty/plugins/web_scraper.py
index dcd833d6..57169baa 100644
--- a/misskaty/plugins/web_scraper.py
+++ b/misskaty/plugins/web_scraper.py
@@ -10,7 +10,6 @@ import logging
from bs4 import BeautifulSoup
from pykeyboard import InlineKeyboard, InlineButton
from pyrogram import filters
-from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
from misskaty.helper.http import http
from misskaty.helper.kuso_utils import Kusonime
from misskaty import app
@@ -36,22 +35,24 @@ LOGGER = logging.getLogger(__name__)
SCRAP_DICT = {}
data_kuso = {}
+
def split_arr(arr, size: 5):
- arrs = []
- while len(arr) > size:
+ arrs = []
+ while len(arr) > size:
pice = arr[:size]
arrs.append(pice)
arr = arr[size:]
- arrs.append(arr)
- return arrs
+ arrs.append(arr)
+ return arrs
+
# Terbit21 GetData
async def getDataTerbit21(msg, kueri, CurrentPage):
if not SCRAP_DICT.get(msg.id):
if not kueri:
- terbitjson = (await http.get('https://yasirapi.eu.org/terbit21')).json()
+ terbitjson = (await http.get("https://yasirapi.eu.org/terbit21")).json()
else:
- terbitjson = (await http.get(f'https://yasirapi.eu.org/terbit21?q={kueri}')).json()
+ terbitjson = (await http.get(f"https://yasirapi.eu.org/terbit21?q={kueri}")).json()
if not terbitjson.get("result"):
await editPesan(msg, "Sorry, could not find any results!")
return None, None
@@ -59,7 +60,7 @@ async def getDataTerbit21(msg, kueri, CurrentPage):
try:
index = int(CurrentPage - 1)
PageLen = len(SCRAP_DICT[msg.id][0])
-
+
if kueri:
TerbitRes = f"#Terbit21 Results For: {kueri}\n\n"
else:
@@ -68,19 +69,20 @@ async def getDataTerbit21(msg, kueri, CurrentPage):
TerbitRes += f"{c}. {i['judul']}\nCategory: {i['kategori']}\n"
TerbitRes += "\n" if re.search(r"Complete|Ongoing", i["kategori"]) else f"๐ Download\n\n"
IGNORE_CHAR = "[]"
- TerbitRes = ''.join(i for i in TerbitRes if not i in IGNORE_CHAR)
+ TerbitRes = "".join(i for i in TerbitRes if not i in IGNORE_CHAR)
return TerbitRes, PageLen
except (IndexError, KeyError):
await editPesan(msg, "Sorry, could not find any results!")
return None, None
+
# LK21 GetData
async def getDatalk21(msg, kueri, CurrentPage):
if not SCRAP_DICT.get(msg.id):
if not kueri:
- lk21json = (await http.get('https://yasirapi.eu.org/lk21')).json()
+ lk21json = (await http.get("https://yasirapi.eu.org/lk21")).json()
else:
- lk21json = (await http.get(f'https://yasirapi.eu.org/lk21?q={kueri}')).json()
+ lk21json = (await http.get(f"https://yasirapi.eu.org/lk21?q={kueri}")).json()
if not lk21json.get("result"):
await editPesan(msg, "Sorry could not find any matching results!")
return None, None
@@ -88,7 +90,7 @@ async def getDatalk21(msg, kueri, CurrentPage):
try:
index = int(CurrentPage - 1)
PageLen = len(SCRAP_DICT[msg.id][0])
-
+
if kueri:
lkResult = f"#Layarkaca21 Results For: {kueri}\n\n"
else:
@@ -97,16 +99,17 @@ async def getDatalk21(msg, kueri, CurrentPage):
lkResult += f"{c}. {i['judul']}\nCategory: {i['kategori']}\n"
lkResult += "\n" if re.search(r"Complete|Ongoing", i["kategori"]) else f"๐ Download\n\n"
IGNORE_CHAR = "[]"
- lkResult = ''.join(i for i in lkResult if not i in IGNORE_CHAR)
+ lkResult = "".join(i for i in lkResult if not i in IGNORE_CHAR)
return lkResult, PageLen
except (IndexError, KeyError):
await editPesan(msg, "Sorry could not find any matching results!")
return None, None
+
# Pahe GetData
async def getDataPahe(msg, kueri, CurrentPage):
if not SCRAP_DICT.get(msg.id):
- pahejson = (await http.get(f'https://yasirapi.eu.org/pahe?q={kueri}')).json()
+ pahejson = (await http.get(f"https://yasirapi.eu.org/pahe?q={kueri}")).json()
if not pahejson.get("result"):
await editPesan(msg, "Sorry could not find any matching results!")
return None, None
@@ -114,22 +117,22 @@ async def getDataPahe(msg, kueri, CurrentPage):
try:
index = int(CurrentPage - 1)
PageLen = len(SCRAP_DICT[msg.id][0])
-
+
paheResult = f"#Pahe Results For: {kueri}\n\n" if kueri else f"#Pahe Latest:\n๐ Use /pahe [title] to start search with title.\n\n"
for c, i in enumerate(SCRAP_DICT[msg.id][0][index], start=1):
paheResult += f"{c}. {i['judul']}\n\n"
- IGNORE_CHAR = "[]"
- paheResult = ''.join(i for i in paheResult if not i in IGNORE_CHAR)
+ paheResult = "".join(i for i in paheResult if i not in "[]")
return paheResult, PageLen
except (IndexError, KeyError):
await editPesan(msg, "Sorry could not find any matching results!")
return None, None
+
# Kusonime GetData
async def getDataKuso(msg, kueri, CurrentPage, user):
if not SCRAP_DICT.get(msg.id):
kusodata = []
- data = await http.get(f'https://kusonime.com/?s={kueri}', headers=headers)
+ data = await http.get(f"https://kusonime.com/?s={kueri}", headers=headers)
res = BeautifulSoup(data.text, "lxml").find_all("h2", {"class": "episodeye"})
for i in res:
ress = i.find_all("a")[0]
@@ -150,32 +153,28 @@ async def getDataKuso(msg, kueri, CurrentPage, user):
for c, i in enumerate(SCRAP_DICT[msg.id][0][index], start=1):
kusoResult += f"{c}. {i['title']}\n{i['link']}\n\n"
if c < 6:
- extractbtn1.append(
- InlineButton(c, f"kusoextract#{CurrentPage}#{c}#{user}#{msg.id}")
- )
+ extractbtn1.append(InlineButton(c, f"kusoextract#{CurrentPage}#{c}#{user}#{msg.id}"))
else:
- extractbtn2.append(
- InlineButton(c, f"kusoextract#{CurrentPage}#{c}#{user}#{msg.id}")
- )
- IGNORE_CHAR = "[]"
- kusoResult = ''.join(i for i in kusoResult if not i in IGNORE_CHAR)
+ extractbtn2.append(InlineButton(c, f"kusoextract#{CurrentPage}#{c}#{user}#{msg.id}"))
+ kusoResult = "".join(i for i in kusoResult if i not in "[]")
return kusoResult, PageLen, extractbtn1, extractbtn2
except (IndexError, KeyError):
await editPesan(msg, "Sorry could not find any matching results!")
return None, 0, None, None
+
# Movieku GetData
async def getDataMovieku(msg, kueri, CurrentPage):
if not SCRAP_DICT.get(msg.id):
moviekudata = []
- data = await http.get(f'https://107.152.37.223/?s={kueri}', headers=headers)
+ data = await http.get(f"https://107.152.37.223/?s={kueri}", headers=headers)
r = BeautifulSoup(data.text, "lxml")
res = r.find_all(class_="bx")
for i in res:
judul = i.find_all("a")[0]["title"]
link = i.find_all("a")[0]["href"]
typ = i.find(class_="overlay").text
- typee = typ.strip() if typ.strip() != "" else "~"
+ typee = typ.strip() if typ.strip() != "" else "~"
moviekudata.append({"judul": judul, "link": link, "type": typee})
if not moviekudata:
await editPesan(msg, "Sorry could not find any results!")
@@ -184,31 +183,30 @@ async def getDataMovieku(msg, kueri, CurrentPage):
try:
index = int(CurrentPage - 1)
PageLen = len(SCRAP_DICT[msg.id][0])
-
+
moviekuResult = f"#Movieku Latest:\n๐ Use /movieku [title] to start search with title.\n\n" if kueri == "" else f"#Movieku Results For: {kueri}\n\n"
for c, i in enumerate(SCRAP_DICT[msg.id][0][index], start=1):
moviekuResult += f"{c}. {i['judul']}\nQuality/Status: {i['type']}\nExtract: /movieku_scrap {i['link']}\n\n"
- IGNORE_CHAR = "[]"
- moviekuResult = ''.join(i for i in moviekuResult if not i in IGNORE_CHAR)
+ moviekuResult = "".join(i for i in moviekuResult if i not in "[]")
return moviekuResult, PageLen
except (IndexError, KeyError):
await editPesan(msg, "Sorry could not find any matching results!")
return None, None
+
# Savefilm21 GetData
async def getDataSavefilm21(msg, kueri, CurrentPage, user):
if not SCRAP_DICT.get(msg.id):
sfdata = []
- data = await http.get(f'https://185.99.135.215/?s={kueri}', headers=headers)
+ data = await http.get(f"https://185.99.135.215/?s={kueri}", headers=headers)
text = BeautifulSoup(data.text, "lxml")
entry = text.find_all(class_="entry-header")
if "Tidak Ditemukan" in entry[0].text:
if not kueri:
await editPesan(msg, "Sorry, could not find any result")
- return None, 0, None
else:
await editPesan(msg, f"Sorry, could not find any result for: {kueri}")
- return None, 0, None
+ return None, 0, None
for i in entry:
genre = i.find(class_="gmr-movie-on").text
genre = f"{genre}" if genre != "" else "N/A"
@@ -223,20 +221,18 @@ async def getDataSavefilm21(msg, kueri, CurrentPage, user):
sfResult = f"#SaveFilm21 Latest:\n๐ Use /savefilm21 [title] to start search with title.\n\n" if kueri == "" else f"#Savefilm21 Results For: {kueri}\n\n"
for c, i in enumerate(SCRAP_DICT[msg.id][0][index], start=1):
sfResult += f"{c}. {i['judul']}\nGenre: {i['genre']}\n\n"
- extractbtn.append(
- InlineButton(c, f"sf21extract#{CurrentPage}#{c}#{user}#{msg.id}")
- )
- IGNORE_CHAR = "[]"
- sfResult = ''.join(i for i in sfResult if not i in IGNORE_CHAR)
+ extractbtn.append(InlineButton(c, f"sf21extract#{CurrentPage}#{c}#{user}#{msg.id}"))
+ sfResult = "".join(i for i in sfResult if i not in "[]")
return sfResult, PageLen, extractbtn
except (IndexError, KeyError):
await editPesan(msg, "Sorry could not find any matching results!")
return None, 0, None
+
# Lendrive GetData
async def getDataLendrive(msg, kueri, CurrentPage, user):
if not SCRAP_DICT.get(msg.id):
- data = await http.get(f'https://lendrive.web.id/?s={kueri}', headers=headers)
+ data = await http.get(f"https://lendrive.web.id/?s={kueri}", headers=headers)
soup = BeautifulSoup(data.text, "lxml")
lenddata = []
for o in soup.find_all(class_="bsx"):
@@ -253,24 +249,22 @@ async def getDataLendrive(msg, kueri, CurrentPage, user):
index = int(CurrentPage - 1)
PageLen = len(SCRAP_DICT[msg.id][0])
extractbtn = []
-
+
lenddataResult = f"#LenDrive Latest:\n๐ Use /lendrive [title] to start search with title.\n\n" if kueri == "" else f"#LenDrive Results For: {kueri}\n\n"
for c, i in enumerate(SCRAP_DICT[msg.id][0][index], start=1):
lenddataResult += f"{c}. {i['judul']}\nQuality: {i['quality']}\nStatus: {i['status']}\n\n"
- extractbtn.append(
- InlineButton(c, f"lendriveextract#{CurrentPage}#{c}#{user}#{msg.id}")
- )
- IGNORE_CHAR = "[]"
- lenddataResult = ''.join(i for i in lenddataResult if not i in IGNORE_CHAR)
+ extractbtn.append(InlineButton(c, f"lendriveextract#{CurrentPage}#{c}#{user}#{msg.id}"))
+ lenddataResult = "".join(i for i in lenddataResult if i not in "[]")
return lenddataResult, PageLen, extractbtn
except (IndexError, KeyError):
await editPesan(msg, "Sorry could not find any matching results!")
return None, 0, None
+
# MelongMovie GetData
async def getDataMelong(msg, kueri, CurrentPage, user):
if not SCRAP_DICT.get(msg.id):
- data = await http.get(f'http://167.99.31.48/?s={kueri}', headers=headers)
+ data = await http.get(f"http://167.99.31.48/?s={kueri}", headers=headers)
bs4 = BeautifulSoup(data.text, "lxml")
melongdata = []
for res in bs4.select(".box"):
@@ -294,29 +288,26 @@ async def getDataMelong(msg, kueri, CurrentPage, user):
melongResult = f"#MelongMovie Latest:\n๐ Use /melongmovie [title] to start search with title.\n\n" if kueri == "" else f"#MelongMovie Results For: {kueri}\n\n"
for c, i in enumerate(SCRAP_DICT[msg.id][0][index], start=1):
melongResult += f"{c}. {i['judul']}\nQuality: {i['quality']}\n\n"
- extractbtn.append(
- InlineButton(c, f"melongextract#{CurrentPage}#{c}#{user}#{msg.id}")
- )
- IGNORE_CHAR = "[]"
- melongResult = ''.join(i for i in melongResult if not i in IGNORE_CHAR)
+ extractbtn.append(InlineButton(c, f"melongextract#{CurrentPage}#{c}#{user}#{msg.id}"))
+ melongResult = "".join(i for i in melongResult if i not in "[]")
return melongResult, PageLen, extractbtn
except (IndexError, KeyError):
await editPesan(msg, "Sorry could not find any matching results!")
return None, 0, None
+
# GoMov GetData
async def getDataGomov(msg, kueri, CurrentPage, user):
if not SCRAP_DICT.get(msg.id):
- gomovv = await http.get(f'https://185.173.38.216/?s={kueri}', headers=headers)
+ gomovv = await http.get(f"https://185.173.38.216/?s={kueri}", headers=headers)
text = BeautifulSoup(gomovv.text, "lxml")
entry = text.find_all(class_="entry-header")
if entry[0].text.strip() == "Nothing Found":
if not kueri:
await editPesan(msg, "Sorry, i could not find anything.")
- return None, 0, None
else:
await editPesan(msg, f"Sorry, i could not find query: {kueri}")
- return None, 0, None
+ return None, 0, None
data = []
for i in entry:
genre = i.find(class_="gmr-movie-on").text
@@ -329,196 +320,194 @@ async def getDataGomov(msg, kueri, CurrentPage, user):
index = int(CurrentPage - 1)
PageLen = len(SCRAP_DICT[msg.id][0])
extractbtn = []
-
+
gomovResult = f"#Gomov Results For: {kueri}\n\n" if kueri else f"#Gomov Latest:\n๐ Use /gomov [title] to start search with title.\n\n"
for c, i in enumerate(SCRAP_DICT[msg.id][0][index], start=1):
gomovResult += f"{c}. {i['judul']}\nGenre: {i['genre']}\n\n"
if not re.search(r"Series", i["genre"]):
- extractbtn.append(
- InlineButton(c, f"gomovextract#{CurrentPage}#{c}#{user}#{msg.id}")
- )
+ extractbtn.append(InlineButton(c, f"gomovextract#{CurrentPage}#{c}#{user}#{msg.id}"))
gomovResult += "Some result will not appear in extract button because unsupported link."
- IGNORE_CHAR = "[]"
- gomovResult = ''.join(i for i in gomovResult if not i in IGNORE_CHAR)
+ gomovResult = "".join(i for i in gomovResult if i not in "[]")
return gomovResult, PageLen, extractbtn
except (IndexError, KeyError):
await editPesan(msg, "Sorry could not find any matching results!")
return None, 0, None
+
# Terbit21 CMD
-@app.on_message(filters.command(['terbit21'], COMMAND_HANDLER))
+@app.on_message(filters.command(["terbit21"], COMMAND_HANDLER))
async def terbit21_s(client, message):
- kueri = ' '.join(message.command[1:])
+ kueri = " ".join(message.command[1:])
if not kueri:
kueri = None
pesan = await kirimPesan(message, "โณ Please wait, scraping data from Terbit21..", quote=True)
CurrentPage = 1
terbitres, PageLen = await getDataTerbit21(pesan, kueri, CurrentPage)
- if not terbitres: return
+ if not terbitres:
+ return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_terbit21#{number}' + f'#{pesan.id}#{message.from_user.id}')
- keyboard.row(
- InlineButton("โ Close", f"close#{message.from_user.id}")
- )
+ keyboard.paginate(PageLen, CurrentPage, "page_terbit21#{number}" + f"#{pesan.id}#{message.from_user.id}")
+ keyboard.row(InlineButton("โ Close", f"close#{message.from_user.id}"))
await editPesan(pesan, terbitres, reply_markup=keyboard)
+
# LK21 CMD
-@app.on_message(filters.command(['lk21'], COMMAND_HANDLER))
+@app.on_message(filters.command(["lk21"], COMMAND_HANDLER))
async def lk21_s(client, message):
- chat_id = message.chat.id
- kueri = ' '.join(message.command[1:])
+ message.chat.id
+ kueri = " ".join(message.command[1:])
if not kueri:
kueri = None
pesan = await kirimPesan(message, "โณ Please wait, scraping data from LK21..", quote=True)
CurrentPage = 1
lkres, PageLen = await getDatalk21(pesan, kueri, CurrentPage)
- if not lkres: return
+ if not lkres:
+ return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_lk21#{number}' + f'#{pesan.id}#{message.from_user.id}')
- keyboard.row(
- InlineButton("โ Close", f"close#{message.from_user.id}")
- )
+ keyboard.paginate(PageLen, CurrentPage, "page_lk21#{number}" + f"#{pesan.id}#{message.from_user.id}")
+ keyboard.row(InlineButton("โ Close", f"close#{message.from_user.id}"))
await editPesan(pesan, lkres, disable_web_page_preview=True, reply_markup=keyboard)
+
# Pahe CMD
-@app.on_message(filters.command(['pahe'], COMMAND_HANDLER))
+@app.on_message(filters.command(["pahe"], COMMAND_HANDLER))
async def pahe_s(client, message):
- chat_id = message.chat.id
- kueri = ' '.join(message.command[1:])
+ message.chat.id
+ kueri = " ".join(message.command[1:])
if not kueri:
kueri = ""
pesan = await kirimPesan(message, "โณ Please wait, scraping data from Pahe Web..", quote=True)
CurrentPage = 1
paheres, PageLen = await getDataPahe(pesan, kueri, CurrentPage)
- if not paheres: return
+ if not paheres:
+ return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_pahe#{number}' + f'#{pesan.id}#{message.from_user.id}')
- keyboard.row(
- InlineButton("โ Close", f"close#{message.from_user.id}")
- )
+ keyboard.paginate(PageLen, CurrentPage, "page_pahe#{number}" + f"#{pesan.id}#{message.from_user.id}")
+ keyboard.row(InlineButton("โ Close", f"close#{message.from_user.id}"))
await editPesan(pesan, paheres, reply_markup=keyboard)
+
# Gomov CMD
-@app.on_message(filters.command(['gomov'], COMMAND_HANDLER))
+@app.on_message(filters.command(["gomov"], COMMAND_HANDLER))
async def gomov_s(client, message):
- kueri = ' '.join(message.command[1:])
+ kueri = " ".join(message.command[1:])
if not kueri:
kueri = ""
pesan = await kirimPesan(message, "โณ Please wait, scraping data Gomov Web..", quote=True)
CurrentPage = 1
gomovres, PageLen, btn = await getDataGomov(pesan, kueri, CurrentPage, message.from_user.id)
- if not gomovres: return
+ if not gomovres:
+ return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_gomov#{number}' + f'#{pesan.id}#{message.from_user.id}')
+ keyboard.paginate(PageLen, CurrentPage, "page_gomov#{number}" + f"#{pesan.id}#{message.from_user.id}")
keyboard.row(InlineButton("๐ Extract Data ", "Hmmm"))
keyboard.row(*btn)
- keyboard.row(
- InlineButton("โ Close", f"close#{message.from_user.id}")
- )
+ keyboard.row(InlineButton("โ Close", f"close#{message.from_user.id}"))
await editPesan(pesan, gomovres, reply_markup=keyboard)
+
# MelongMovie CMD
-@app.on_message(filters.command(['melongmovie'], COMMAND_HANDLER))
+@app.on_message(filters.command(["melongmovie"], COMMAND_HANDLER))
async def melong_s(client, message):
- kueri = ' '.join(message.command[1:])
+ kueri = " ".join(message.command[1:])
if not kueri:
kueri = ""
pesan = await kirimPesan(message, "โณ Please wait, scraping data from Melongmovie..", quote=True)
CurrentPage = 1
melongres, PageLen, btn = await getDataMelong(pesan, kueri, CurrentPage, message.from_user.id)
- if not melongres: return
+ if not melongres:
+ return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_melong#{number}' + f'#{pesan.id}#{message.from_user.id}')
+ keyboard.paginate(PageLen, CurrentPage, "page_melong#{number}" + f"#{pesan.id}#{message.from_user.id}")
keyboard.row(InlineButton("๐ Extract Data ", "Hmmm"))
keyboard.row(*btn)
- keyboard.row(
- InlineButton("โ Close", f"close#{message.from_user.id}")
- )
+ keyboard.row(InlineButton("โ Close", f"close#{message.from_user.id}"))
await editPesan(pesan, melongres, reply_markup=keyboard)
+
# Savefilm21 CMD
-@app.on_message(filters.command(['savefilm21'], COMMAND_HANDLER))
+@app.on_message(filters.command(["savefilm21"], COMMAND_HANDLER))
async def savefilm_s(client, message):
- kueri = ' '.join(message.command[1:])
+ kueri = " ".join(message.command[1:])
if not kueri:
kueri = ""
pesan = await kirimPesan(message, "โณ Please wait, scraping data from Savefilm21..", quote=True)
CurrentPage = 1
savefilmres, PageLen, btn = await getDataSavefilm21(pesan, kueri, CurrentPage, message.from_user.id)
- if not savefilmres: return
+ if not savefilmres:
+ return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_savefilm#{number}' + f'#{pesan.id}#{message.from_user.id}')
+ keyboard.paginate(PageLen, CurrentPage, "page_savefilm#{number}" + f"#{pesan.id}#{message.from_user.id}")
keyboard.row(InlineButton("๐ Extract Data ", "Hmmm"))
keyboard.row(*btn)
- keyboard.row(
- InlineButton("โ Close", f"close#{message.from_user.id}")
- )
+ keyboard.row(InlineButton("โ Close", f"close#{message.from_user.id}"))
await editPesan(pesan, savefilmres, reply_markup=keyboard)
+
# Kusonime CMD
-@app.on_message(filters.command(['kusonime'], COMMAND_HANDLER))
+@app.on_message(filters.command(["kusonime"], COMMAND_HANDLER))
async def kusonime_s(client, message):
- kueri = ' '.join(message.command[1:])
+ kueri = " ".join(message.command[1:])
if not kueri:
kueri = ""
pesan = await kirimPesan(message, "โณ Please wait, scraping data from Kusonime..", quote=True)
CurrentPage = 1
kusores, PageLen, btn1, btn2 = await getDataKuso(pesan, kueri, CurrentPage, message.from_user.id)
- if not kusores: return
+ if not kusores:
+ return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_kuso#{number}' + f'#{pesan.id}#{message.from_user.id}')
+ keyboard.paginate(PageLen, CurrentPage, "page_kuso#{number}" + f"#{pesan.id}#{message.from_user.id}")
keyboard.row(InlineButton("๐ Extract Data ", "Hmmm"))
keyboard.row(*btn1)
if btn2:
keyboard.row(*btn2)
- keyboard.row(
- InlineButton("โ Close", f"close#{message.from_user.id}")
- )
+ keyboard.row(InlineButton("โ Close", f"close#{message.from_user.id}"))
await editPesan(pesan, kusores, reply_markup=keyboard)
+
# Lendrive CMD
-@app.on_message(filters.command(['lendrive'], COMMAND_HANDLER))
+@app.on_message(filters.command(["lendrive"], COMMAND_HANDLER))
async def lendrive_s(client, message):
- kueri = ' '.join(message.command[1:])
+ kueri = " ".join(message.command[1:])
if not kueri:
kueri = ""
pesan = await kirimPesan(message, "โณ Please wait, scraping data from Lendrive..", quote=True)
CurrentPage = 1
lendres, PageLen, btn = await getDataLendrive(pesan, kueri, CurrentPage, message.from_user.id)
- if not lendres: return
+ if not lendres:
+ return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_lendrive#{number}' + f'#{pesan.id}#{message.from_user.id}')
+ keyboard.paginate(PageLen, CurrentPage, "page_lendrive#{number}" + f"#{pesan.id}#{message.from_user.id}")
keyboard.row(InlineButton("๐ Extract Data ", "Hmmm"))
keyboard.row(*btn)
- keyboard.row(
- InlineButton("โ Close", f"close#{message.from_user.id}")
- )
+ keyboard.row(InlineButton("โ Close", f"close#{message.from_user.id}"))
await editPesan(pesan, lendres, reply_markup=keyboard)
+
# Movieku CMD
-@app.on_message(filters.command(['movieku'], COMMAND_HANDLER))
+@app.on_message(filters.command(["movieku"], COMMAND_HANDLER))
async def movieku_s(client, message):
- kueri = ' '.join(message.command[1:])
+ kueri = " ".join(message.command[1:])
if not kueri:
kueri = ""
pesan = await kirimPesan(message, "โณ Please wait, scraping data from Movieku..", quote=True)
CurrentPage = 1
moviekures, PageLen = await getDataMovieku(pesan, kueri, CurrentPage)
- if not moviekures: return
+ if not moviekures:
+ return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_movieku#{number}' + f'#{pesan.id}#{message.from_user.id}')
- keyboard.row(
- InlineButton("โ Close", f"close#{message.from_user.id}")
- )
+ keyboard.paginate(PageLen, CurrentPage, "page_movieku#{number}" + f"#{pesan.id}#{message.from_user.id}")
+ keyboard.row(InlineButton("โ Close", f"close#{message.from_user.id}"))
await editPesan(pesan, moviekures, reply_markup=keyboard)
+
# Savefillm21 Page Callback
-@app.on_callback_query(filters.create(lambda _, __, query: 'page_savefilm#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "page_savefilm#" in query.data))
async def savefilmpage_callback(client, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
- message_id = int(callback_query.data.split('#')[2])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[2])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
kueri = SCRAP_DICT[message_id][1]
except KeyError:
@@ -530,21 +519,20 @@ async def savefilmpage_callback(client, callback_query):
return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_savefilm#{number}' + f'#{message_id}#{callback_query.from_user.id}')
+ keyboard.paginate(PageLen, CurrentPage, "page_savefilm#{number}" + f"#{message_id}#{callback_query.from_user.id}")
keyboard.row(InlineButton("๐ Extract Data ", "Hmmm"))
keyboard.row(*btn)
- keyboard.row(
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.row(InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
await editPesan(callback_query.message, savefilmres, reply_markup=keyboard)
+
# Kuso Page Callback
-@app.on_callback_query(filters.create(lambda _, __, query: 'page_kuso#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "page_kuso#" in query.data))
async def kusopage_callback(client, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
- message_id = int(callback_query.data.split('#')[2])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[2])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
kueri = SCRAP_DICT[message_id][1]
except KeyError:
@@ -556,23 +544,22 @@ async def kusopage_callback(client, callback_query):
return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_kuso#{number}' + f'#{message_id}#{callback_query.from_user.id}')
+ keyboard.paginate(PageLen, CurrentPage, "page_kuso#{number}" + f"#{message_id}#{callback_query.from_user.id}")
keyboard.row(InlineButton("๐ Extract Data ", "Hmmm"))
keyboard.row(*btn1)
if btn2:
keyboard.row(*btn2)
- keyboard.row(
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.row(InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
await editPesan(callback_query.message, kusores, reply_markup=keyboard)
+
# Lendrive Page Callback
-@app.on_callback_query(filters.create(lambda _, __, query: 'page_lendrive#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "page_lendrive#" in query.data))
async def moviekupage_callback(client, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
- message_id = int(callback_query.data.split('#')[2])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[2])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
kueri = SCRAP_DICT[message_id][1]
except KeyError:
@@ -584,21 +571,20 @@ async def moviekupage_callback(client, callback_query):
return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_lendrive#{number}' + f'#{message_id}#{callback_query.from_user.id}')
+ keyboard.paginate(PageLen, CurrentPage, "page_lendrive#{number}" + f"#{message_id}#{callback_query.from_user.id}")
keyboard.row(InlineButton("๐ Extract Data ", "Hmmm"))
keyboard.row(*btn)
- keyboard.row(
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.row(InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
await editPesan(callback_query.message, lendres, reply_markup=keyboard)
+
# Movieku Page Callback
-@app.on_callback_query(filters.create(lambda _, __, query: 'page_movieku#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "page_movieku#" in query.data))
async def moviekupage_callback(client, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
- message_id = int(callback_query.data.split('#')[2])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[2])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
kueri = SCRAP_DICT[message_id][1]
except KeyError:
@@ -610,19 +596,18 @@ async def moviekupage_callback(client, callback_query):
return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_movieku#{number}' + f'#{message_id}#{callback_query.from_user.id}')
- keyboard.row(
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.paginate(PageLen, CurrentPage, "page_movieku#{number}" + f"#{message_id}#{callback_query.from_user.id}")
+ keyboard.row(InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
await editPesan(callback_query.message, moviekures, reply_markup=keyboard)
+
# Terbit21 Page Callback
-@app.on_callback_query(filters.create(lambda _, __, query: 'page_terbit21#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "page_terbit21#" in query.data))
async def terbit21page_callback(client, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
- message_id = int(callback_query.data.split('#')[2])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[2])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
kueri = SCRAP_DICT[message_id][1]
except KeyError:
@@ -634,19 +619,18 @@ async def terbit21page_callback(client, callback_query):
return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_terbit21#{number}' + f'#{message_id}#{callback_query.from_user.id}')
- keyboard.row(
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.paginate(PageLen, CurrentPage, "page_terbit21#{number}" + f"#{message_id}#{callback_query.from_user.id}")
+ keyboard.row(InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
await editPesan(callback_query.message, terbitres, reply_markup=keyboard)
+
# Page Callback Melong
-@app.on_callback_query(filters.create(lambda _, __, query: 'page_melong#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "page_melong#" in query.data))
async def melongpage_callback(client, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
- message_id = int(callback_query.data.split('#')[2])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[2])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
kueri = SCRAP_DICT[message_id][1]
except KeyError:
@@ -658,21 +642,20 @@ async def melongpage_callback(client, callback_query):
return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_melong#{number}' + f'#{message_id}#{callback_query.from_user.id}')
+ keyboard.paginate(PageLen, CurrentPage, "page_melong#{number}" + f"#{message_id}#{callback_query.from_user.id}")
keyboard.row(InlineButton("๐ Extract Data ", "Hmmm"))
keyboard.row(*btn)
- keyboard.row(
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.row(InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
await editPesan(callback_query.message, terbitres, reply_markup=keyboard)
+
# Lk21 Page Callback
-@app.on_callback_query(filters.create(lambda _, __, query: 'page_lk21#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "page_lk21#" in query.data))
async def lk21page_callback(client, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
- message_id = int(callback_query.data.split('#')[2])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[2])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
kueri = SCRAP_DICT[message_id][1]
except KeyError:
@@ -684,19 +667,18 @@ async def lk21page_callback(client, callback_query):
return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_lk21#{number}' + f'#{message_id}#{callback_query.from_user.id}')
- keyboard.row(
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.paginate(PageLen, CurrentPage, "page_lk21#{number}" + f"#{message_id}#{callback_query.from_user.id}")
+ keyboard.row(InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
await editPesan(callback_query.message, lkres, reply_markup=keyboard)
+
# Pahe Page Callback
-@app.on_callback_query(filters.create(lambda _, __, query: 'page_pahe#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "page_pahe#" in query.data))
async def pahepage_callback(client, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
- message_id = int(callback_query.data.split('#')[2])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[2])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
kueri = SCRAP_DICT[message_id][1]
except KeyError:
@@ -708,19 +690,18 @@ async def pahepage_callback(client, callback_query):
return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_pahe#{number}' + f'#{message_id}#{callback_query.from_user.id}')
- keyboard.row(
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.paginate(PageLen, CurrentPage, "page_pahe#{number}" + f"#{message_id}#{callback_query.from_user.id}")
+ keyboard.row(InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
await editPesan(callback_query.message, lkres, reply_markup=keyboard)
+
# Gomov Page Callback
-@app.on_callback_query(filters.create(lambda _, __, query: 'page_gomov#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "page_gomov#" in query.data))
async def gomovpage_callback(client, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
- message_id = int(callback_query.data.split('#')[2])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[2])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
kueri = SCRAP_DICT[message_id][1]
except KeyError:
@@ -732,37 +713,32 @@ async def gomovpage_callback(client, callback_query):
return
keyboard = InlineKeyboard()
- keyboard.paginate(PageLen, CurrentPage, 'page_gomov#{number}' + f'#{message_id}#{callback_query.from_user.id}')
+ keyboard.paginate(PageLen, CurrentPage, "page_gomov#{number}" + f"#{message_id}#{callback_query.from_user.id}")
keyboard.row(InlineButton("๐ Extract Data ", "Hmmm"))
keyboard.row(*btn)
- keyboard.row(
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.row(InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
await editPesan(callback_query.message, gomovres, reply_markup=keyboard)
+
### Scrape DDL Link From Web ###
# Kusonime DDL
-@app.on_callback_query(filters.create(lambda _, __, query: 'kusoextract#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "kusoextract#" in query.data))
async def kusonime_scrap(_, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
idlink = int(callback_query.data.split("#")[2])
- message_id = int(callback_query.data.split('#')[4])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[4])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
- link = SCRAP_DICT[message_id][0][CurrentPage-1][idlink-1].get("link")
+ link = SCRAP_DICT[message_id][0][CurrentPage - 1][idlink - 1].get("link")
except KeyError:
return await callback_query.answer("Invalid callback data, please send CMD again..")
kuso = Kusonime()
keyboard = InlineKeyboard()
- keyboard.row(
- InlineButton("โฉ๏ธ Back", f"page_kuso#{CurrentPage}#{message_id}#{callback_query.from_user.id}"),
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.row(InlineButton("โฉ๏ธ Back", f"page_kuso#{CurrentPage}#{message_id}#{callback_query.from_user.id}"), InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
try:
- init_url = data_kuso.get(link, None)
- if init_url:
+ if init_url := data_kuso.get(link, None):
ph = init_url.get("ph_url")
await editPesan(callback_query.message, f"Scrape result from {link}:\n\n{ph}", reply_markup=keyboard, disable_web_page_preview=False)
return
@@ -776,24 +752,22 @@ async def kusonime_scrap(_, callback_query):
data_kuso[link] = {"ph_url": tgh["url"]}
await editPesan(callback_query.message, f"Scrape result from {link}:\n\n{tgh['url']}", reply_markup=keyboard, disable_web_page_preview=False)
+
# Savefilm21 DDL
-@app.on_callback_query(filters.create(lambda _, __, query: 'sf21extract#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "sf21extract#" in query.data))
async def savefilm21_scrap(_, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
idlink = int(callback_query.data.split("#")[2])
- message_id = int(callback_query.data.split('#')[4])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[4])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
- link = SCRAP_DICT[message_id][0][CurrentPage-1][idlink-1].get("link")
+ link = SCRAP_DICT[message_id][0][CurrentPage - 1][idlink - 1].get("link")
except KeyError:
return await callback_query.answer("Invalid callback data, please send CMD again..")
keyboard = InlineKeyboard()
- keyboard.row(
- InlineButton("โฉ๏ธ Back", f"page_savefilm#{CurrentPage}#{message_id}#{callback_query.from_user.id}"),
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.row(InlineButton("โฉ๏ธ Back", f"page_savefilm#{CurrentPage}#{message_id}#{callback_query.from_user.id}"), InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
try:
html = await http.get(link, headers=headers)
soup = BeautifulSoup(html.text, "lxml")
@@ -829,24 +803,22 @@ async def muviku_scrap(_, message):
except Exception as e:
await message.reply(f"ERROR: {str(e)}")
+
# Scrape DDL Link Melongmovie
-@app.on_callback_query(filters.create(lambda _, __, query: 'melongextract#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "melongextract#" in query.data))
async def melong_scrap(_, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
idlink = int(callback_query.data.split("#")[2])
- message_id = int(callback_query.data.split('#')[4])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[4])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
- link = SCRAP_DICT[message_id][0][CurrentPage-1][idlink-1].get("link")
+ link = SCRAP_DICT[message_id][0][CurrentPage - 1][idlink - 1].get("link")
except KeyError:
return await callback_query.answer("Invalid callback data, please send CMD again..")
keyboard = InlineKeyboard()
- keyboard.row(
- InlineButton("โฉ๏ธ Back", f"page_melong#{CurrentPage}#{message_id}#{callback_query.from_user.id}"),
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.row(InlineButton("โฉ๏ธ Back", f"page_melong#{CurrentPage}#{message_id}#{callback_query.from_user.id}"), InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
try:
html = await http.get(link, headers=headers)
soup = BeautifulSoup(html.text, "lxml")
@@ -860,24 +832,22 @@ async def melong_scrap(_, callback_query):
return
await editPesan(callback_query.message, f"Scrape result from {link}:\n\n{rep}", reply_markup=keyboard)
+
# Scrape DDL Link Gomov
-@app.on_callback_query(filters.create(lambda _, __, query: 'gomovextract#' in query.data))
+@app.on_callback_query(filters.create(lambda _, __, query: "gomovextract#" in query.data))
async def gomov_dl(_, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
idlink = int(callback_query.data.split("#")[2])
- message_id = int(callback_query.data.split('#')[4])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[4])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
- link = SCRAP_DICT[message_id][0][CurrentPage-1][idlink-1].get("link")
+ link = SCRAP_DICT[message_id][0][CurrentPage - 1][idlink - 1].get("link")
except KeyError:
return await callback_query.answer("Invalid callback data, please send CMD again..")
keyboard = InlineKeyboard()
- keyboard.row(
- InlineButton("โฉ๏ธ Back", f"page_gomov#{CurrentPage}#{message_id}#{callback_query.from_user.id}"),
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.row(InlineButton("โฉ๏ธ Back", f"page_gomov#{CurrentPage}#{message_id}#{callback_query.from_user.id}"), InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
try:
html = await http.get(link, headers=headers)
soup = BeautifulSoup(html.text, "lxml")
@@ -892,23 +862,21 @@ async def gomov_dl(_, callback_query):
return
await editPesan(callback_query.message, f"Scrape result from {link}:\n\n{hasil}", reply_markup=keyboard)
-@app.on_callback_query(filters.create(lambda _, __, query: 'lendriveextract#' in query.data))
+
+@app.on_callback_query(filters.create(lambda _, __, query: "lendriveextract#" in query.data))
async def lendrive_dl(_, callback_query):
- if callback_query.from_user.id != int(callback_query.data.split('#')[3]):
+ if callback_query.from_user.id != int(callback_query.data.split("#")[3]):
return await callback_query.answer("Not yours..", True)
idlink = int(callback_query.data.split("#")[2])
- message_id = int(callback_query.data.split('#')[4])
- CurrentPage = int(callback_query.data.split('#')[1])
+ message_id = int(callback_query.data.split("#")[4])
+ CurrentPage = int(callback_query.data.split("#")[1])
try:
- link = SCRAP_DICT[message_id][0][CurrentPage-1][idlink-1].get("link")
+ link = SCRAP_DICT[message_id][0][CurrentPage - 1][idlink - 1].get("link")
except KeyError:
return await callback_query.answer("Invalid callback data, please send CMD again..")
keyboard = InlineKeyboard()
- keyboard.row(
- InlineButton("โฉ๏ธ Back", f"page_lendrive#{CurrentPage}#{message_id}#{callback_query.from_user.id}"),
- InlineButton("โ Close", f"close#{callback_query.from_user.id}")
- )
+ keyboard.row(InlineButton("โฉ๏ธ Back", f"page_lendrive#{CurrentPage}#{message_id}#{callback_query.from_user.id}"), InlineButton("โ Close", f"close#{callback_query.from_user.id}"))
try:
hmm = await http.get(link, headers=headers)
q = BeautifulSoup(hmm.text, "lxml")
diff --git a/misskaty/plugins/ytdl_download_new.py b/misskaty/plugins/ytdl_download_new.py
index cc8a72ab..27718afb 100644
--- a/misskaty/plugins/ytdl_download_new.py
+++ b/misskaty/plugins/ytdl_download_new.py
@@ -4,8 +4,7 @@ from uuid import uuid4
from iytdl import iYTDL, main
from pyrogram import filters
-from pyrogram.types import (CallbackQuery, InlineKeyboardButton,
- InlineKeyboardMarkup, InputMediaPhoto)
+from pyrogram.types import CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup, InputMediaPhoto
from misskaty import app
from misskaty.core.message_utils import *
@@ -62,7 +61,8 @@ async def ytsearch(_, message):
@app.on_message(filters.command(["ytdown"], COMMAND_HANDLER))
@capture_err
async def ytdownv2(_, message):
- if not message.from_user: return
+ if not message.from_user:
+ return
if len(message.command) == 1:
return await message.reply("Please input a valid YT-DLP Supported URL")
url = message.text.split(" ", maxsplit=1)[1]
diff --git a/utils.py b/utils.py
index 5e19b6f7..adde04ce 100644
--- a/utils.py
+++ b/utils.py
@@ -131,7 +131,6 @@ def extract_user(message: Message) -> Union[int, str]:
elif len(message.command) > 1:
if len(message.entities) > 1 and message.entities[1].type == "text_mention":
-
required_entity = message.entities[1]
user_id = required_entity.user.id
user_first_name = required_entity.user.first_name