mirror of
https://github.com/yasirarism/MissKatyPyro.git
synced 2026-01-07 12:24:51 +00:00
Some fix
This commit is contained in:
parent
1a4f779443
commit
e6aa2d475d
7 changed files with 35 additions and 30 deletions
|
|
@ -5,14 +5,12 @@ from typing import Tuple
|
||||||
|
|
||||||
from misskaty import BOT_USERNAME
|
from misskaty import BOT_USERNAME
|
||||||
from telegraph.aio import Telegraph
|
from telegraph.aio import Telegraph
|
||||||
from utils import LOGGER
|
|
||||||
|
|
||||||
|
|
||||||
async def post_to_telegraph(is_media: bool, title=None, content=None, media=None):
|
async def post_to_telegraph(is_media: bool, title=None, content=None, media=None):
|
||||||
telegraph = Telegraph()
|
telegraph = Telegraph()
|
||||||
if telegraph.get_access_token() is None:
|
if telegraph.get_access_token() is None:
|
||||||
await telegraph.create_account(short_name=BOT_USERNAME)
|
await telegraph.create_account(short_name=BOT_USERNAME)
|
||||||
LOGGER.info("Create TGH Account ..")
|
|
||||||
if is_media:
|
if is_media:
|
||||||
"""Create a Telegram Post Foto/Video"""
|
"""Create a Telegram Post Foto/Video"""
|
||||||
response = await telegraph.upload_file(media)
|
response = await telegraph.upload_file(media)
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import asyncio
|
||||||
import math
|
import math
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from pyrogram.errors import FloodWait, MessageNotModified
|
from pyrogram.errors import FloodWait, MessageNotModified, MessageIdInvalid
|
||||||
|
|
||||||
|
|
||||||
async def progress_for_pyrogram(current, total, ud_type, message, start):
|
async def progress_for_pyrogram(current, total, ud_type, message, start):
|
||||||
|
|
@ -43,7 +43,7 @@ async def progress_for_pyrogram(current, total, ud_type, message, start):
|
||||||
except FloodWait as e:
|
except FloodWait as e:
|
||||||
await asyncio.sleep(e.value)
|
await asyncio.sleep(e.value)
|
||||||
await message.edit(f"{ud_type}\n {tmp}")
|
await message.edit(f"{ud_type}\n {tmp}")
|
||||||
except MessageNotModified:
|
except (MessageNotModified, MessageIdInvalid):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -139,13 +139,13 @@ async def shell(_, m):
|
||||||
await m.reply("No Reply")
|
await m.reply("No Reply")
|
||||||
|
|
||||||
|
|
||||||
@app.on_message(filters.command(["ev", "run"], COMMAND_HANDLER) & filters.user(SUDO))
|
@app.on_message((filters.command(["ev", "run"], COMMAND_HANDLER) | filters.regex(r"app.run\(\)$")) & filters.user(SUDO))
|
||||||
@app.on_edited_message(filters.command(["ev", "run"]) & filters.user(SUDO))
|
@app.on_edited_message((filters.command(["ev", "run"]) | filters.regex(r"app.run\(\)$")) & filters.user(SUDO))
|
||||||
@user.on_message(filters.command(["ev", "run"], ".") & filters.me)
|
@user.on_message(filters.command(["ev", "run"], ".") & filters.me)
|
||||||
async def evaluation_cmd_t(_, m):
|
async def evaluation_cmd_t(_, m):
|
||||||
cmd = m.text.split(" ", 1)
|
if len(m.command) == 1 and m.command:
|
||||||
if len(m.command) == 1:
|
|
||||||
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]
|
||||||
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>")
|
||||||
|
|
||||||
old_stderr = sys.stderr
|
old_stderr = sys.stderr
|
||||||
|
|
@ -155,7 +155,7 @@ async def evaluation_cmd_t(_, m):
|
||||||
stdout, stderr, exc = None, None, None
|
stdout, stderr, exc = None, None, None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
await aexec(cmd[1], _, m)
|
await aexec(cmd, _, m)
|
||||||
except Exception:
|
except Exception:
|
||||||
exc = traceback.format_exc()
|
exc = traceback.format_exc()
|
||||||
|
|
||||||
|
|
@ -174,7 +174,7 @@ async def evaluation_cmd_t(_, m):
|
||||||
else:
|
else:
|
||||||
evaluation = "Success"
|
evaluation = "Success"
|
||||||
|
|
||||||
final_output = f"**EVAL**:\n`{cmd[1]}`\n\n**OUTPUT**:\n`{evaluation.strip()}`\n"
|
final_output = f"**EVAL**:\n`{cmd}`\n\n**OUTPUT**:\n`{evaluation.strip()}`\n"
|
||||||
|
|
||||||
if len(final_output) > 4096:
|
if len(final_output) > 4096:
|
||||||
with open("MissKatyEval.txt", "w+", encoding="utf8") as out_file:
|
with open("MissKatyEval.txt", "w+", encoding="utf8") as out_file:
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ def welcomepic(pic, user, chat, count, id):
|
||||||
return f"downloads/welcome#{id}.png"
|
return f"downloads/welcome#{id}.png"
|
||||||
|
|
||||||
|
|
||||||
@app.on_chat_member_updated(filters.group & filters.chat(-1001128045651))
|
@app.on_chat_member_updated(filters.group & filters.chat([-1001128045651, -1001777794636]))
|
||||||
async def member_has_joined(c: app, member: ChatMemberUpdated):
|
async def member_has_joined(c: app, member: ChatMemberUpdated):
|
||||||
if not member.new_chat_member or member.new_chat_member.status in {"banned", "left", "restricted"} or member.old_chat_member:
|
if not member.new_chat_member or member.new_chat_member.status in {"banned", "left", "restricted"} or member.old_chat_member:
|
||||||
return
|
return
|
||||||
|
|
@ -105,8 +105,8 @@ async def member_has_joined(c: app, member: ChatMemberUpdated):
|
||||||
photo=welcomeimg,
|
photo=welcomeimg,
|
||||||
caption=f"Hai {mention}, Selamat datang digrup {member.chat.title} harap baca rules di pinned message terlebih dahulu.\n\n<b>Nama :<b> <code>{first_name}</code>\n<b>ID :<b> <code>{id}</code>\n<b>DC ID :<b> <code>{dc}</code>\n<b>Tanggal Join :<b> <code>{joined_date}</code>",
|
caption=f"Hai {mention}, Selamat datang digrup {member.chat.title} harap baca rules di pinned message terlebih dahulu.\n\n<b>Nama :<b> <code>{first_name}</code>\n<b>ID :<b> <code>{id}</code>\n<b>DC ID :<b> <code>{dc}</code>\n<b>Tanggal Join :<b> <code>{joined_date}</code>",
|
||||||
)
|
)
|
||||||
except:
|
except Exception as e:
|
||||||
pass
|
LOGGER.info(e)
|
||||||
userspammer = ""
|
userspammer = ""
|
||||||
# Spamwatch Detection
|
# Spamwatch Detection
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@ DETAILS
|
||||||
except:
|
except:
|
||||||
try:
|
try:
|
||||||
link = await post_to_telegraph(False, "MissKaty MediaInfo", body_text)
|
link = await post_to_telegraph(False, "MissKaty MediaInfo", body_text)
|
||||||
|
markup = InlineKeyboardMarkup([[InlineKeyboardButton(text="💬 View in Web", url=link)]])
|
||||||
except:
|
except:
|
||||||
markup = None
|
markup = None
|
||||||
with io.BytesIO(str.encode(body_text)) as out_file:
|
with io.BytesIO(str.encode(body_text)) as out_file:
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ from pyrogram.types import CallbackQuery, InlineKeyboardButton, InlineKeyboardMa
|
||||||
from misskaty import BOT_USERNAME, app
|
from misskaty import BOT_USERNAME, app
|
||||||
from misskaty.core.decorator.errors import capture_err
|
from misskaty.core.decorator.errors import capture_err
|
||||||
from misskaty.core.decorator.ratelimiter import ratelimiter
|
from misskaty.core.decorator.ratelimiter import ratelimiter
|
||||||
from misskaty.core.message_utils import hapusPesan, kirimPesan
|
from misskaty.core.message_utils import editPesan, hapusPesan, kirimPesan
|
||||||
from misskaty.helper.http import http
|
from misskaty.helper.http import http
|
||||||
from misskaty.helper.tools import rentry
|
from misskaty.helper.tools import rentry
|
||||||
from misskaty.vars import COMMAND_HANDLER
|
from misskaty.vars import COMMAND_HANDLER
|
||||||
|
|
@ -58,7 +58,7 @@ def remove_html_tags(text):
|
||||||
@app.on_message(filters.command("readqr", COMMAND_HANDLER))
|
@app.on_message(filters.command("readqr", COMMAND_HANDLER))
|
||||||
@ratelimiter
|
@ratelimiter
|
||||||
async def readqr(c, m):
|
async def readqr(c, m):
|
||||||
if not m.reply and not m.reply.media and not m.reply.photo:
|
if not m.reply and (not m.reply.media and not m.reply.photo):
|
||||||
return await m.reply("Please reply photo that contain valid QR Code.")
|
return await m.reply("Please reply photo that contain valid QR Code.")
|
||||||
foto = await m.reply_to_message.download()
|
foto = await m.reply_to_message.download()
|
||||||
myfile = {'file': (foto, open(foto, 'rb'),'application/octet-stream')}
|
myfile = {'file': (foto, open(foto, 'rb'),'application/octet-stream')}
|
||||||
|
|
@ -171,12 +171,12 @@ async def translate(client, message):
|
||||||
try:
|
try:
|
||||||
my_translator = GoogleTranslator(source="auto", target=target_lang)
|
my_translator = GoogleTranslator(source="auto", target=target_lang)
|
||||||
result = my_translator.translate(text=text)
|
result = my_translator.translate(text=text)
|
||||||
await msg.edit(f"Translation using source = {my_translator.source} and target = {my_translator.target}\n\n-> {result}")
|
await editPesan(msg, f"Translation using source = {my_translator.source} and target = {my_translator.target}\n\n-> {result}")
|
||||||
except MessageTooLong:
|
except MessageTooLong:
|
||||||
url = await rentry(result)
|
url = await rentry(result)
|
||||||
await msg.edit(f"Your translated text pasted to rentry because has long text:\n{url}")
|
await editPesan(msg, f"Your translated text pasted to rentry because has long text:\n{url}")
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
await msg.edit(f"Error: <code>{str(err)}</code>")
|
await editPesan(msg, f"Oppss, Error: <code>{str(err)}</code>")
|
||||||
|
|
||||||
|
|
||||||
@app.on_message(filters.command(["tts"], COMMAND_HANDLER))
|
@app.on_message(filters.command(["tts"], COMMAND_HANDLER))
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ async def ytdownv2(_, message):
|
||||||
markup = x.buttons
|
markup = x.buttons
|
||||||
await message.reply_photo(img, caption=caption, reply_markup=markup, quote=True)
|
await message.reply_photo(img, caption=caption, reply_markup=markup, quote=True)
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
await kirimPesan(message, str(err))
|
await kirimPesan(message, f"Opps, ERROR: {str(err)}")
|
||||||
|
|
||||||
|
|
||||||
@app.on_callback_query(filters.regex(r"^yt_listall"))
|
@app.on_callback_query(filters.regex(r"^yt_listall"))
|
||||||
|
|
@ -139,8 +139,11 @@ async def ytdl_gendl_callback(_, cq: CallbackQuery):
|
||||||
ffmpeg_location="/usr/bin/mediaextract",
|
ffmpeg_location="/usr/bin/mediaextract",
|
||||||
delete_media=True,
|
delete_media=True,
|
||||||
) as ytdl:
|
) as ytdl:
|
||||||
upload_key = await ytdl.download(cq.message.reply_to_message.command[1], uid, format_, cq, True, 3)
|
try:
|
||||||
await ytdl.upload(app, upload_key[0], format_, cq, True)
|
upload_key = await ytdl.download(cq.message.reply_to_message.command[1], uid, format_, cq, True, 3)
|
||||||
|
await ytdl.upload(app, upload_key[0], format_, cq, True)
|
||||||
|
except Exception as err:
|
||||||
|
await cq.edit_message_caption(err)
|
||||||
else:
|
else:
|
||||||
uid = callback[2]
|
uid = callback[2]
|
||||||
type_ = callback[3]
|
type_ = callback[3]
|
||||||
|
|
@ -151,15 +154,18 @@ async def ytdl_gendl_callback(_, cq: CallbackQuery):
|
||||||
ffmpeg_location="/usr/bin/mediaextract",
|
ffmpeg_location="/usr/bin/mediaextract",
|
||||||
delete_media=True,
|
delete_media=True,
|
||||||
) as ytdl:
|
) as ytdl:
|
||||||
upload_key = await ytdl.download(
|
try:
|
||||||
f"https://www.youtube.com/watch?v={key}",
|
upload_key = await ytdl.download(
|
||||||
uid,
|
f"https://www.youtube.com/watch?v={key}",
|
||||||
format_,
|
uid,
|
||||||
cq,
|
format_,
|
||||||
True,
|
cq,
|
||||||
3,
|
True,
|
||||||
)
|
3,
|
||||||
await ytdl.upload(app, upload_key[0], format_, cq, True)
|
)
|
||||||
|
await ytdl.upload(app, upload_key[0], format_, cq, True)
|
||||||
|
except Exception as err:
|
||||||
|
await cq.edit_message_caption(err)
|
||||||
|
|
||||||
|
|
||||||
@app.on_callback_query(filters.regex(r"^ytdl_scroll"))
|
@app.on_callback_query(filters.regex(r"^ytdl_scroll"))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue