mirror of
https://github.com/yasirarism/MissKatyPyro.git
synced 2025-12-29 09:44:50 +00:00
refactor: remove reimported module (#301)
* refactor: remove reimported module
A module or an import name is reimported multiple times. This can be confusing and should be fixed.
Please refer to the occurrence message to see the reimported name and the line number where it was imported for the first time.
* style: format code with isort, Ruff Formatter and Yapf
This commit fixes the style issues introduced in f7922fd according to the output
from isort, Ruff Formatter and Yapf.
Details: https://github.com/yasirarism/MissKatyPyro/pull/301
---------
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
This commit is contained in:
parent
e33a58a3f2
commit
88558990d0
2 changed files with 62 additions and 32 deletions
|
|
@ -5,23 +5,22 @@ import io
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import pickle
|
import pickle
|
||||||
|
import platform
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
import traceback
|
import traceback
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from inspect import getfullargspec
|
from inspect import getfullargspec
|
||||||
|
from logging import getLogger
|
||||||
from shutil import disk_usage
|
from shutil import disk_usage
|
||||||
from time import time
|
from time import time
|
||||||
from typing import Any, Optional, Tuple
|
from typing import Any, Optional, Tuple
|
||||||
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
import contextlib
|
|
||||||
import cloudscraper
|
import cloudscraper
|
||||||
import requests
|
import requests
|
||||||
import platform
|
|
||||||
from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
from logging import getLogger
|
|
||||||
from PIL import Image, ImageDraw, ImageFont
|
from PIL import Image, ImageDraw, ImageFont
|
||||||
from psutil import Process, boot_time, cpu_count, cpu_percent
|
from psutil import Process, boot_time, cpu_count, cpu_percent
|
||||||
from psutil import disk_usage as disk_usage_percent
|
from psutil import disk_usage as disk_usage_percent
|
||||||
|
|
@ -29,15 +28,22 @@ from psutil import net_io_counters, virtual_memory
|
||||||
from pyrogram import Client
|
from pyrogram import Client
|
||||||
from pyrogram import __version__ as pyrover
|
from pyrogram import __version__ as pyrover
|
||||||
from pyrogram import enums, filters
|
from pyrogram import enums, filters
|
||||||
from pyrogram.errors import ChatSendPhotosForbidden, FloodWait, MessageTooLong, PeerIdInvalid, ChatSendPlainForbidden, ReactionInvalid
|
from pyrogram.errors import (
|
||||||
|
ChatSendPhotosForbidden,
|
||||||
|
ChatSendPlainForbidden,
|
||||||
|
FloodWait,
|
||||||
|
MessageTooLong,
|
||||||
|
PeerIdInvalid,
|
||||||
|
ReactionInvalid,
|
||||||
|
)
|
||||||
from pyrogram.raw.types import UpdateBotStopped
|
from pyrogram.raw.types import UpdateBotStopped
|
||||||
from pyrogram.types import (
|
from pyrogram.types import (
|
||||||
InlineKeyboardButton,
|
InlineKeyboardButton,
|
||||||
InlineKeyboardMarkup,
|
InlineKeyboardMarkup,
|
||||||
InputMediaPhoto,
|
InputMediaPhoto,
|
||||||
LabeledPrice,
|
LabeledPrice,
|
||||||
PreCheckoutQuery,
|
|
||||||
Message,
|
Message,
|
||||||
|
PreCheckoutQuery,
|
||||||
)
|
)
|
||||||
|
|
||||||
from database.gban_db import add_gban_user, is_gbanned_user, remove_gban_user
|
from database.gban_db import add_gban_user, is_gbanned_user, remove_gban_user
|
||||||
|
|
@ -86,13 +92,13 @@ async def edit_or_reply(self, msg, **kwargs):
|
||||||
async def star_donation(self: Client, ctx: Message):
|
async def star_donation(self: Client, ctx: Message):
|
||||||
amount = ctx.command[1] if len(ctx.command) == 2 and ctx.command[1].isdigit() else 5
|
amount = ctx.command[1] if len(ctx.command) == 2 and ctx.command[1].isdigit() else 5
|
||||||
await self.send_invoice(
|
await self.send_invoice(
|
||||||
ctx.chat.id,
|
ctx.chat.id,
|
||||||
title="MissKaty Donate",
|
title="MissKaty Donate",
|
||||||
description="You can give me donation via star",
|
description="You can give me donation via star",
|
||||||
currency="XTR",
|
currency="XTR",
|
||||||
prices=[LabeledPrice(label="Donation", amount=amount)],
|
prices=[LabeledPrice(label="Donation", amount=amount)],
|
||||||
message_thread_id=ctx.message_thread_id,
|
message_thread_id=ctx.message_thread_id,
|
||||||
payload="stars"
|
payload="stars",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -104,17 +110,23 @@ async def pre_checkout_query_handler(_: Client, query: PreCheckoutQuery):
|
||||||
@app.on_message(filters.private, group=3)
|
@app.on_message(filters.private, group=3)
|
||||||
async def successful_payment_handler(_: Client, message: Message):
|
async def successful_payment_handler(_: Client, message: Message):
|
||||||
if message.successful_payment:
|
if message.successful_payment:
|
||||||
await message.reply(f"Thanks for support for <b>{message.successful_payment.total_amount} {message.successful_payment.currency}</b>! Your transaction ID is : <code>{message.successful_payment.telegram_payment_charge_id}</code>")
|
await message.reply(
|
||||||
|
f"Thanks for support for <b>{message.successful_payment.total_amount} {message.successful_payment.currency}</b>! Your transaction ID is : <code>{message.successful_payment.telegram_payment_charge_id}</code>"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@app.on_message(filters.command(["refund_star"], COMMAND_HANDLER))
|
@app.on_message(filters.command(["refund_star"], COMMAND_HANDLER))
|
||||||
async def refund_star_payment(client: Client, message: Message):
|
async def refund_star_payment(client: Client, message: Message):
|
||||||
if len(message.command) == 1:
|
if len(message.command) == 1:
|
||||||
return await message.reply_msg("Please input telegram_payment_charge_id after command.")
|
return await message.reply_msg(
|
||||||
|
"Please input telegram_payment_charge_id after command."
|
||||||
|
)
|
||||||
trx_id = message.command[1]
|
trx_id = message.command[1]
|
||||||
try:
|
try:
|
||||||
await client.refund_star_payment(message.from_user.id, trx_id)
|
await client.refund_star_payment(message.from_user.id, trx_id)
|
||||||
await message.reply_msg(f"Great {message.from_user.mention}, your stars has been refunded to your balance.")
|
await message.reply_msg(
|
||||||
|
f"Great {message.from_user.mention}, your stars has been refunded to your balance."
|
||||||
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
await message.reply_msg(e)
|
await message.reply_msg(e)
|
||||||
|
|
||||||
|
|
@ -131,8 +143,12 @@ async def log_file(_, ctx: Message, strings):
|
||||||
data = {
|
data = {
|
||||||
"value": content,
|
"value": content,
|
||||||
}
|
}
|
||||||
pastelog = await fetch.post("https://paste.yasirapi.eu.org/save", data=data, follow_redirects=True)
|
pastelog = await fetch.post(
|
||||||
await msg.edit_msg(f"<a href='{pastelog.url}'>Here the Logs</a>\nlog size: {get_readable_file_size(os.path.getsize('MissKatyLogs.txt'))}")
|
"https://paste.yasirapi.eu.org/save", data=data, follow_redirects=True
|
||||||
|
)
|
||||||
|
await msg.edit_msg(
|
||||||
|
f"<a href='{pastelog.url}'>Here the Logs</a>\nlog size: {get_readable_file_size(os.path.getsize('MissKatyLogs.txt'))}"
|
||||||
|
)
|
||||||
except Exception:
|
except Exception:
|
||||||
await ctx.reply_document(
|
await ctx.reply_document(
|
||||||
"MissKatyLogs.txt",
|
"MissKatyLogs.txt",
|
||||||
|
|
@ -171,10 +187,15 @@ async def donate(self: Client, ctx: Message):
|
||||||
"https://img.yasirweb.eu.org/file/ee74ce527fb8264b54691.jpg",
|
"https://img.yasirweb.eu.org/file/ee74ce527fb8264b54691.jpg",
|
||||||
caption="Hi, If you find this bot useful, you can make a donation to the account below. Because this bot server uses VPS and is not free. Thank You..\n\n<b>Indonesian Payment:</b>\n<b>QRIS:</b> https://img.yasirweb.eu.org/file/ee74ce527fb8264b54691.jpg (Yasir Store)\n<b>Bank Jago:</b> 109641845083 (Yasir Aris M)\n\nFor international people can use PayPal to support me or via GitHub Sponsor:\nhttps://paypal.me/yasirarism\nhttps://github.com/sponsors/yasirarism\n\n<b>Source:</b> @BeriKopi",
|
caption="Hi, If you find this bot useful, you can make a donation to the account below. Because this bot server uses VPS and is not free. Thank You..\n\n<b>Indonesian Payment:</b>\n<b>QRIS:</b> https://img.yasirweb.eu.org/file/ee74ce527fb8264b54691.jpg (Yasir Store)\n<b>Bank Jago:</b> 109641845083 (Yasir Aris M)\n\nFor international people can use PayPal to support me or via GitHub Sponsor:\nhttps://paypal.me/yasirarism\nhttps://github.com/sponsors/yasirarism\n\n<b>Source:</b> @BeriKopi",
|
||||||
reply_to_message_id=ctx.id,
|
reply_to_message_id=ctx.id,
|
||||||
message_effect_id=5159385139981059251 if ctx.chat.type.value == "private" else None
|
message_effect_id=5159385139981059251
|
||||||
|
if ctx.chat.type.value == "private"
|
||||||
|
else None,
|
||||||
)
|
)
|
||||||
except (ChatSendPlainForbidden, ChatSendPhotosForbidden):
|
except (ChatSendPlainForbidden, ChatSendPhotosForbidden):
|
||||||
await self.send_message(LOG_CHANNEL, f"❗️ <b>WARNING</b>\nI'm leaving from {ctx.chat.id} since i didn't have sufficient admin permissions.")
|
await self.send_message(
|
||||||
|
LOG_CHANNEL,
|
||||||
|
f"❗️ <b>WARNING</b>\nI'm leaving from {ctx.chat.id} since i didn't have sufficient admin permissions.",
|
||||||
|
)
|
||||||
await ctx.chat.leave()
|
await ctx.chat.leave()
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -222,7 +243,7 @@ async def server_stats(_, ctx: Message) -> "Message":
|
||||||
|
|
||||||
if "oracle" in platform.uname().release:
|
if "oracle" in platform.uname().release:
|
||||||
return await ctx.reply_msg(caption, quote=True)
|
return await ctx.reply_msg(caption, quote=True)
|
||||||
|
|
||||||
start = datetime.now()
|
start = datetime.now()
|
||||||
msg = await ctx.reply_photo(
|
msg = await ctx.reply_photo(
|
||||||
photo="https://te.legra.ph/file/30a82c22854971d0232c7.jpg",
|
photo="https://te.legra.ph/file/30a82c22854971d0232c7.jpg",
|
||||||
|
|
@ -234,7 +255,7 @@ async def server_stats(_, ctx: Message) -> "Message":
|
||||||
image = Image.open("assets/statsbg.jpg").convert("RGB")
|
image = Image.open("assets/statsbg.jpg").convert("RGB")
|
||||||
IronFont = ImageFont.truetype("assets/IronFont.otf", 42)
|
IronFont = ImageFont.truetype("assets/IronFont.otf", 42)
|
||||||
draw = ImageDraw.Draw(image)
|
draw = ImageDraw.Draw(image)
|
||||||
|
|
||||||
def draw_progressbar(coordinate, progress):
|
def draw_progressbar(coordinate, progress):
|
||||||
progress = 110 + (progress * 10.8)
|
progress = 110 + (progress * 10.8)
|
||||||
draw.ellipse((105, coordinate - 25, 127, coordinate), fill="#FFFFFF")
|
draw.ellipse((105, coordinate - 25, 127, coordinate), fill="#FFFFFF")
|
||||||
|
|
@ -242,7 +263,7 @@ async def server_stats(_, ctx: Message) -> "Message":
|
||||||
draw.ellipse(
|
draw.ellipse(
|
||||||
(progress - 7, coordinate - 25, progress + 15, coordinate), fill="#FFFFFF"
|
(progress - 7, coordinate - 25, progress + 15, coordinate), fill="#FFFFFF"
|
||||||
)
|
)
|
||||||
|
|
||||||
draw_progressbar(243, int(cpu_percentage))
|
draw_progressbar(243, int(cpu_percentage))
|
||||||
draw.text(
|
draw.text(
|
||||||
(225, 153),
|
(225, 153),
|
||||||
|
|
@ -372,7 +393,9 @@ async def unban_globally(_, ctx: Message):
|
||||||
filters.command(["shell", "sh", "term"], COMMAND_HANDLER) & filters.user(SUDO)
|
filters.command(["shell", "sh", "term"], COMMAND_HANDLER) & filters.user(SUDO)
|
||||||
)
|
)
|
||||||
@app.on_edited_message(
|
@app.on_edited_message(
|
||||||
filters.command(["shell", "sh", "term"], COMMAND_HANDLER) & filters.user(SUDO) & ~filters.react
|
filters.command(["shell", "sh", "term"], COMMAND_HANDLER)
|
||||||
|
& filters.user(SUDO)
|
||||||
|
& ~filters.react
|
||||||
)
|
)
|
||||||
@user.on_message(filters.command(["shell", "sh", "term"], ".") & filters.me)
|
@user.on_message(filters.command(["shell", "sh", "term"], ".") & filters.me)
|
||||||
@use_chat_lang()
|
@use_chat_lang()
|
||||||
|
|
@ -435,8 +458,12 @@ async def shell_cmd(self: Client, ctx: Message, strings):
|
||||||
& filters.user(SUDO)
|
& filters.user(SUDO)
|
||||||
)
|
)
|
||||||
@app.on_edited_message(
|
@app.on_edited_message(
|
||||||
(filters.command(["ev", "run", "meval"], COMMAND_HANDLER) | filters.regex(r"app.run\(\)$"))
|
(
|
||||||
& filters.user(SUDO) & ~filters.react
|
filters.command(["ev", "run", "meval"], COMMAND_HANDLER)
|
||||||
|
| filters.regex(r"app.run\(\)$")
|
||||||
|
)
|
||||||
|
& filters.user(SUDO)
|
||||||
|
& ~filters.react
|
||||||
)
|
)
|
||||||
@user.on_message(filters.command(["ev", "run", "meval"], ".") & filters.me)
|
@user.on_message(filters.command(["ev", "run", "meval"], ".") & filters.me)
|
||||||
@use_chat_lang()
|
@use_chat_lang()
|
||||||
|
|
@ -449,7 +476,9 @@ async def cmd_eval(self: Client, ctx: Message, strings) -> Optional[str]:
|
||||||
else await ctx.reply_msg(strings("run_eval"), quote=True)
|
else await ctx.reply_msg(strings("run_eval"), quote=True)
|
||||||
)
|
)
|
||||||
code = (
|
code = (
|
||||||
ctx.text.split(maxsplit=1)[1] if ctx.command else ctx.text.split("\napp.run()")[0]
|
ctx.text.split(maxsplit=1)[1]
|
||||||
|
if ctx.command
|
||||||
|
else ctx.text.split("\napp.run()")[0]
|
||||||
)
|
)
|
||||||
out_buf = io.StringIO()
|
out_buf = io.StringIO()
|
||||||
out = ""
|
out = ""
|
||||||
|
|
@ -586,6 +615,7 @@ async def update_restart(_, ctx: Message, strings):
|
||||||
async def tespoll(self, msg):
|
async def tespoll(self, msg):
|
||||||
await ctx.reply(msg)
|
await ctx.reply(msg)
|
||||||
|
|
||||||
|
|
||||||
@app.on_raw_update(group=-99)
|
@app.on_raw_update(group=-99)
|
||||||
async def updtebot(client, update, users, _):
|
async def updtebot(client, update, users, _):
|
||||||
if isinstance(update, UpdateBotStopped):
|
if isinstance(update, UpdateBotStopped):
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
"""
|
"""
|
||||||
* @author yasir <yasiramunandar@gmail.com>
|
* @author yasir <yasiramunandar@gmail.com>
|
||||||
* @date 2022-12-01 09:12:27
|
* @date 2022-12-01 09:12:27
|
||||||
* @projectName MissKatyPyro
|
* @projectName MissKatyPyro
|
||||||
* Copyright @YasirPedia All rights reserved
|
* Copyright @YasirPedia All rights reserved
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
|
|
@ -39,7 +39,7 @@ from pyrogram.types import (
|
||||||
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.helper.http import fetch
|
from misskaty.helper.http import fetch
|
||||||
from misskaty.helper.tools import rentry, gen_trans_image
|
from misskaty.helper.tools import gen_trans_image, rentry
|
||||||
from misskaty.vars import COMMAND_HANDLER
|
from misskaty.vars import COMMAND_HANDLER
|
||||||
from utils import extract_user, get_file_id
|
from utils import extract_user, get_file_id
|
||||||
|
|
||||||
|
|
@ -66,7 +66,6 @@ __HELP__ = """
|
||||||
|
|
||||||
def remove_html_tags(text):
|
def remove_html_tags(text):
|
||||||
"""Remove html tags from a string"""
|
"""Remove html tags from a string"""
|
||||||
import re
|
|
||||||
|
|
||||||
clean = re.compile("<.*?>")
|
clean = re.compile("<.*?>")
|
||||||
return re.sub(clean, "", text)
|
return re.sub(clean, "", text)
|
||||||
|
|
@ -78,7 +77,7 @@ def calcExpression(text):
|
||||||
except (SyntaxError, ZeroDivisionError):
|
except (SyntaxError, ZeroDivisionError):
|
||||||
return ""
|
return ""
|
||||||
except TypeError:
|
except TypeError:
|
||||||
return float(eval(text.replace('(', '*(')))
|
return float(eval(text.replace("(", "*(")))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
LOGGER.error(e, exc_info=True)
|
LOGGER.error(e, exc_info=True)
|
||||||
return ""
|
return ""
|
||||||
|
|
@ -129,9 +128,10 @@ async def calculate_handler(self, ctx):
|
||||||
text=f"Made by @{self.me.username}",
|
text=f"Made by @{self.me.username}",
|
||||||
reply_markup=calc_btn(ctx.from_user.id),
|
reply_markup=calc_btn(ctx.from_user.id),
|
||||||
disable_web_page_preview=True,
|
disable_web_page_preview=True,
|
||||||
quote=True
|
quote=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@app.on_callback_query(filters.regex("^calc"))
|
@app.on_callback_query(filters.regex("^calc"))
|
||||||
async def calc_cb(self, query):
|
async def calc_cb(self, query):
|
||||||
_, uid, data = query.data.split("|")
|
_, uid, data = query.data.split("|")
|
||||||
|
|
@ -139,7 +139,7 @@ async def calc_cb(self, query):
|
||||||
return await query.answer("Who are you??", show_alert=True, cache_time=5)
|
return await query.answer("Who are you??", show_alert=True, cache_time=5)
|
||||||
try:
|
try:
|
||||||
text = query.message.text.split("\n")[0].strip().split("=")[0].strip()
|
text = query.message.text.split("\n")[0].strip().split("=")[0].strip()
|
||||||
text = '' if f"Made by @{self.me.username}" in text else text
|
text = "" if f"Made by @{self.me.username}" in text else text
|
||||||
inpt = text + query.data
|
inpt = text + query.data
|
||||||
result = ""
|
result = ""
|
||||||
if data == "=":
|
if data == "=":
|
||||||
|
|
@ -167,7 +167,7 @@ async def calc_cb(self, query):
|
||||||
await query.message.edit_msg(
|
await query.message.edit_msg(
|
||||||
text=text,
|
text=text,
|
||||||
disable_web_page_preview=True,
|
disable_web_page_preview=True,
|
||||||
reply_markup=calc_btn(query.from_user.id)
|
reply_markup=calc_btn(query.from_user.id),
|
||||||
)
|
)
|
||||||
except Exception as error:
|
except Exception as error:
|
||||||
LOGGER.error(error)
|
LOGGER.error(error)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue