Minor Fix

This commit is contained in:
yasir 2023-03-12 21:34:01 +07:00
parent 1ded121876
commit 05390ac645
9 changed files with 54 additions and 57 deletions

View file

@ -19,7 +19,7 @@ basicConfig(
getLogger("pyrogram").setLevel(ERROR) getLogger("pyrogram").setLevel(ERROR)
MOD_LOAD = [] MOD_LOAD = []
MOD_NOLOAD = [] MOD_NOLOAD = ["subscene_dl"]
HELPABLE = {} HELPABLE = {}
cleanmode = {} cleanmode = {}
botStartTime = time.time() botStartTime = time.time()

View file

@ -5,7 +5,7 @@ from time import time
from pyrogram import enums, filters from pyrogram import enums, filters
from pyrogram.errors import ChatAdminRequired, FloodWait from pyrogram.errors import ChatAdminRequired, FloodWait
from pyrogram.types import ChatPermissions from pyrogram.types import ChatPermissions, ChatPrivileges
from database.warn_db import add_warn, get_warn, remove_warns from database.warn_db import add_warn, get_warn, remove_warns
from misskaty import app from misskaty import app
@ -143,9 +143,9 @@ async def kickFunc(client, message):
return await message.reply_text("Wow, you wanna kick my owner?") return await message.reply_text("Wow, you wanna kick my owner?")
if user_id in (await list_admins(message.chat.id)): if user_id in (await list_admins(message.chat.id)):
return await message.reply_text("Lol, it's crazy if i can kick an admin.") return await message.reply_text("Lol, it's crazy if i can kick an admin.")
mention = (await app.get_users(user_id)).mention user = await app.get_users(user_id)
msg = f""" msg = f"""
**Kicked User:** {mention} **Kicked User:** {user.mention} [{user.id}]
**Kicked By:** {message.from_user.mention if message.from_user else 'Anon'} **Kicked By:** {message.from_user.mention if message.from_user else 'Anon'}
**Reason:** {reason or '-'}""" **Reason:** {reason or '-'}"""
if message.command[0][0] == "d": if message.command[0][0] == "d":
@ -372,35 +372,39 @@ async def promoteFunc(client, message):
return await message.reply_text("I don't have enough permissions") return await message.reply_text("I don't have enough permissions")
if message.command[0][0] == "f": if message.command[0][0] == "f":
await message.chat.promote_member( await message.chat.promote_member(
user_id=user_id, user_id,
can_change_info=bot.can_change_info, ChatPrivileges(
can_invite_users=bot.can_invite_users, can_change_info=bot.can_change_info,
can_delete_messages=bot.can_delete_messages, can_invite_users=bot.can_invite_users,
can_restrict_members=bot.can_restrict_members, can_delete_messages=bot.can_delete_messages,
can_pin_messages=bot.can_pin_messages, can_restrict_members=bot.can_restrict_members,
can_promote_members=bot.can_promote_members, can_pin_messages=bot.can_pin_messages,
can_manage_chat=bot.can_manage_chat, can_promote_members=bot.can_promote_members,
can_manage_voice_chats=bot.can_manage_voice_chats, can_manage_chat=bot.can_manage_chat,
can_manage_voice_chats=bot.can_manage_voice_chats
)
) )
return await message.reply_text(f"Fully Promoted! {umention}") return await message.reply_text(f"Fully Promoted! {umention}")
await message.chat.promote_member( await message.chat.promote_member(
user_id=user_id, user_id,
can_change_info=False, ChatPrivileges(
can_invite_users=bot.can_invite_users, can_change_info=False,
can_delete_messages=bot.can_delete_messages, can_invite_users=bot.can_invite_users,
can_restrict_members=False, can_delete_messages=bot.can_delete_messages,
can_pin_messages=False, can_restrict_members=False,
can_promote_members=False, can_pin_messages=False,
can_manage_chat=bot.can_manage_chat, can_promote_members=False,
can_manage_voice_chats=bot.can_manage_voice_chats, can_manage_chat=bot.can_manage_chat,
can_manage_voice_chats=bot.can_manage_voice_chats
)
) )
await message.reply_text(f"Promoted! {umention}") await message.reply_text(f"Promoted! {umention}")
# Demote Member # Demote Member
@app.on_message(filters.command("demote", COMMAND_HANDLER) & filters.group) @app.on_message(filters.command("demote", COMMAND_HANDLER) & filters.group)
@adminsOnly("can_promote_members") @adminsOnly("can_restrict_members")
@ratelimiter @ratelimiter
async def demote(client, message): async def demote(client, message):
if not message.from_user: if not message.from_user:
@ -412,16 +416,8 @@ async def demote(client, message):
return await message.reply_text("I can't demote myself.") return await message.reply_text("I can't demote myself.")
if user_id in SUDO: if user_id in SUDO:
return await message.reply_text("You wanna demote the elevated one?") return await message.reply_text("You wanna demote the elevated one?")
await message.chat.promote_member( await message.chat.demote_member(
user_id=user_id, user_id=user_id
can_change_info=False,
can_invite_users=False,
can_delete_messages=False,
can_restrict_members=False,
can_pin_messages=False,
can_promote_members=False,
can_manage_chat=False,
can_manage_voice_chats=False,
) )
umention = (await app.get_users(user_id)).mention umention = (await app.get_users(user_id)).mention
await message.reply_text(f"Demoted! {umention}") await message.reply_text(f"Demoted! {umention}")

View file

@ -12,7 +12,7 @@ from misskaty.vars import COMMAND_HANDLER, OPENAI_API
@ratelimiter @ratelimiter
async def chatbot(c, m): async def chatbot(c, m):
if len(m.command) == 1: if len(m.command) == 1:
return await kirimPesan(m, f"Gunakan perintah <code>/{m.command[0]} [pertanyaan]</code> untuk menanyakan pertanyaan menggunakan AI.") return await kirimPesan(m, f"Please use command <code>/{m.command[0]} [question]</code> to ask your question.")
pertanyaan = m.text.split(" ", maxsplit=1)[1] pertanyaan = m.text.split(" ", maxsplit=1)[1]
headers = { headers = {
"Content-Type": "application/json", "Content-Type": "application/json",

View file

@ -146,7 +146,7 @@ async def evaluation_cmd_t(_, m):
if (m.command and len(m.command) == 1) or m.text == "app.run()": if (m.command and len(m.command) == 1) or m.text == "app.run()":
return await edit_or_reply(m, text="__No evaluate message!__") return await edit_or_reply(m, text="__No evaluate message!__")
cmd = m.text.split(" ", 1)[1] if m.command else m.text.split("app.run()")[0] cmd = m.text.split(" ", 1)[1] if m.command else m.text.split("app.run()")[0]
status_message = await editPesan(m, "<i>Processing eval pyrogram..</i>") if m.from_user.is_self else await kirimPesan(m, "<i>Processing eval pyrogram..</i>") status_message = await editPesan(m, "<i>Processing eval pyrogram..</i>") if m.from_user.is_self else await kirimPesan(m, "<i>Processing eval pyrogram..</i>", quote=True)
old_stderr = sys.stderr old_stderr = sys.stderr
old_stdout = sys.stdout old_stdout = sys.stdout

View file

@ -10,6 +10,7 @@ from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
from misskaty import app from misskaty import app
from .web_scraper import SCRAP_DICT, data_kuso from .web_scraper import SCRAP_DICT, data_kuso
from .pypi_search import PYPI_DICT from .pypi_search import PYPI_DICT
from misskaty.core.decorator.permissions import admins_in_chat
from misskaty.core.decorator.ratelimiter import ratelimiter from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.core.decorator.errors import capture_err from misskaty.core.decorator.errors import capture_err
from misskaty.helper.time_gap import check_time_gap from misskaty.helper.time_gap import check_time_gap
@ -114,9 +115,11 @@ async def clear_reqdict():
data_kuso.clear() data_kuso.clear()
REQUEST_DB.clear() REQUEST_DB.clear()
PYPI_DICT.clear() PYPI_DICT.clear()
admins_in_chat.clear()
try: try:
os.rmdir("downloads") os.rmdir("downloads")
os.remove("MissKatyLogs.txt") os.remove("MissKatyLogs.txt")
os.rmdir("GenSS")
open("MissKatyLogs.txt", "w").close() open("MissKatyLogs.txt", "w").close()
except: except:
pass pass

View file

@ -51,7 +51,8 @@ async def genss(client, m):
if media is None: if media is None:
return await kirimPesan(m, "Reply to a Telegram Video or document as video to generate screenshoot!", quote=True) return await kirimPesan(m, "Reply to a Telegram Video or document as video to generate screenshoot!", quote=True)
process = await kirimPesan(m, "<code>Processing, please wait..</code>", quote=True) process = await kirimPesan(m, "<code>Processing, please wait..</code>", quote=True)
if media.file_size > 2097152000:
return await kirimPesan(m, "Sorry, download limited to 2GB to reduce flood. You can convert your files to link.")
c_time = time.time() c_time = time.time()
dl = await replied.download( dl = await replied.download(
file_name="/downloads/", file_name="/downloads/",

View file

@ -47,14 +47,14 @@ def draw_multiple_line_text(image, text, font, text_start_height):
@asyncify @asyncify
def welcomepic(pic, user, chat, count, id): def welcomepic(pic, user, chat, id):
background = Image.open("img/bg.png") # <- Background Image (Should be PNG) background = Image.open("img/bg.png") # <- Background Image (Should be PNG)
background = background.resize((1024, 500), Image.ANTIALIAS) background = background.resize((1024, 500), Image.ANTIALIAS)
pfp = Image.open(pic).convert("RGBA") pfp = Image.open(pic).convert("RGBA")
pfp = circle(pfp) pfp = circle(pfp)
pfp = pfp.resize((265, 265)) # Resizes the Profilepicture so it fits perfectly in the circle pfp = pfp.resize((265, 265)) # Resizes the Profilepicture so it fits perfectly in the circle
font = ImageFont.truetype("Calistoga-Regular.ttf", 37) # <- Text Font of the Member Count. Change the text size for your preference font = ImageFont.truetype("Calistoga-Regular.ttf", 37) # <- Text Font of the Member Count. Change the text size for your preference
member_text = f"User#{count}, Selamat Datang {user}" # <- Text under the Profilepicture with the Membercount member_text = f"Selamat Datang {user} [{id}]" # <- Text under the Profilepicture with the Membercount
draw_multiple_line_text(background, member_text, font, 395) draw_multiple_line_text(background, member_text, font, 395)
draw_multiple_line_text(background, chat, font, 47) draw_multiple_line_text(background, chat, font, 47)
ImageDraw.Draw(background).text( ImageDraw.Draw(background).text(
@ -93,13 +93,12 @@ async def member_has_joined(c: app, member: ChatMemberUpdated):
first_name = f"{user.first_name} {user.last_name}" if user.last_name else user.first_name first_name = f"{user.first_name} {user.last_name}" if user.last_name else user.first_name
id = user.id id = user.id
dc = user.dc_id or "Member tanpa PP" dc = user.dc_id or "Member tanpa PP"
count = await app.get_chat_members_count(member.chat.id)
try: try:
pic = await app.download_media(user.photo.big_file_id, file_name=f"pp{user.id}.png") pic = await app.download_media(user.photo.big_file_id, file_name=f"pp{user.id}.png")
except AttributeError: except AttributeError:
pic = "img/profilepic.png" pic = "img/profilepic.png"
try: try:
welcomeimg = await welcomepic(pic, user.first_name, member.chat.title, count, user.id) welcomeimg = await welcomepic(pic, user.first_name, member.chat.title, user.id)
temp.MELCOW[f"welcome-{member.chat.id}"] = await c.send_photo( temp.MELCOW[f"welcome-{member.chat.id}"] = await c.send_photo(
member.chat.id, member.chat.id,
photo=welcomeimg, photo=welcomeimg,
@ -175,7 +174,6 @@ async def save_group(bot, message):
) )
else: else:
for u in message.new_chat_members: for u in message.new_chat_members:
count = await app.get_chat_members_count(message.chat.id)
try: try:
pic = await app.download_media(u.photo.big_file_id, file_name=f"pp{u.id}.png") pic = await app.download_media(u.photo.big_file_id, file_name=f"pp{u.id}.png")
except AttributeError: except AttributeError:
@ -186,7 +184,7 @@ async def save_group(bot, message):
except: except:
pass pass
try: try:
welcomeimg = await welcomepic(pic, u.first_name, message.chat.title, count, u.id) welcomeimg = await welcomepic(pic, u.first_name, message.chat.title, u.id)
temp.MELCOW[f"welcome-{message.chat.id}"] = await app.send_photo( temp.MELCOW[f"welcome-{message.chat.id}"] = await app.send_photo(
message.chat.id, message.chat.id,
photo=welcomeimg, photo=welcomeimg,

View file

@ -32,7 +32,8 @@ async def mediainfo(client, message):
file_info = get_file_id(message.reply_to_message) file_info = get_file_id(message.reply_to_message)
if file_info is None: if file_info is None:
return await editPesan(process, "Please reply to valid media.") return await editPesan(process, "Please reply to valid media.")
if (message.reply_to_message.video and message.reply_to_message.video.file_size > 2097152000) or (message.reply_to_message.document and message.reply_to_message.document.file_size > 2097152000):
return await editPesan(process, "Sorry, download limited to 2GB to reduce flood. You can convert your files to link.")
c_time = time.time() c_time = time.time()
dl = await message.reply_to_message.download( dl = await message.reply_to_message.download(
file_name="/downloads/", file_name="/downloads/",

View file

@ -148,17 +148,17 @@ async def stream_extract(bot, update):
except: except:
return await update.answer("⚠️ DONT DELETE YOUR MESSAGE!", True) return await update.answer("⚠️ DONT DELETE YOUR MESSAGE!", True)
await editPesan(update.message, "⏳ Processing...") await editPesan(update.message, "⏳ Processing...")
if codec == "aac":
format = "aac"
elif codec == "mp3":
format = "mp3"
elif codec == "eac3":
format = "eac3"
else:
format = "srt"
start_time = perf_counter()
namafile = get_subname(lang, link, format)
try: try:
if codec == "aac":
format = "aac"
elif codec == "mp3":
format = "mp3"
elif codec == "eac3":
format = "eac3"
else:
format = "srt"
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}]") LOGGER.info(f"ExtractSub: {namafile} by {update.from_user.first_name} [{update.from_user.id}]")
(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() end_time = perf_counter()
@ -173,9 +173,7 @@ async def stream_extract(bot, update):
progress_args=("Uploading files..", update.message, c_time), progress_args=("Uploading files..", update.message, c_time),
) )
await hapusPesan(update.message) await hapusPesan(update.message)
try: os.remove(namafile)
os.remove(namafile)
except:
pass
except Exception as e: except Exception as e:
os.remove(namafile)
await editPesan(update.message, f"Failed extract sub, Maybe unsupported format..\n\nLink: {link}\nERR: {e}") await editPesan(update.message, f"Failed extract sub, Maybe unsupported format..\n\nLink: {link}\nERR: {e}")