This commit is contained in:
yasirarism 2023-07-05 12:42:47 +07:00 committed by GitHub
parent 04bf1c1460
commit f5a32ab2da
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 25 additions and 51 deletions

View file

@ -20,6 +20,7 @@ import os
import typing import typing
import logging import logging
import pyrogram import pyrogram
import traceback
from datetime import datetime from datetime import datetime
from misskaty.vars import LOG_CHANNEL from misskaty.vars import LOG_CHANNEL
@ -53,8 +54,6 @@ async def handle_error(
except Exceptation as e: except Exceptation as e:
return await handle_error(e, message) return await handle_error(e, message)
""" """
import traceback
import logging
logging = logging.getLogger(__name__) logging = logging.getLogger(__name__)
logging.exception(traceback.format_exc()) logging.exception(traceback.format_exc())

View file

@ -14,7 +14,6 @@ async def progress_for_pyrogram(current, total, ud_type, message, start, dc_id):
now = time.time() now = time.time()
diff = now - start diff = now - start
if round(diff % 10.00) == 0 or current == total: if round(diff % 10.00) == 0 or current == total:
# if round(current / total * 100, 0) % 5 == 0:
percentage = current * 100 / total percentage = current * 100 / total
elapsed_time = round(diff) elapsed_time = round(diff)
if elapsed_time == 0: if elapsed_time == 0:

View file

@ -18,12 +18,10 @@ from pyrogram.types import Message
from database.afk_db import add_afk, cleanmode_off, cleanmode_on, is_afk, remove_afk from database.afk_db import add_afk, cleanmode_off, cleanmode_on, is_afk, remove_afk
from misskaty import app from misskaty import app
from misskaty.core.decorator.errors import capture_err
from misskaty.core.decorator.permissions import adminsOnly from misskaty.core.decorator.permissions import adminsOnly
from misskaty.core.decorator.ratelimiter import ratelimiter from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper import get_readable_time2 from misskaty.helper import get_readable_time2
from misskaty.helper.localization import use_chat_lang from misskaty.helper.localization import use_chat_lang
from misskaty.vars import COMMAND_HANDLER
from utils import put_cleanmode from utils import put_cleanmode
__MODULE__ = "AFK" __MODULE__ = "AFK"

View file

@ -7,7 +7,6 @@ import html
import openai import openai
from aiohttp import ClientSession from aiohttp import ClientSession
from pyrogram import Client, filters
from pyrogram.errors import MessageTooLong from pyrogram.errors import MessageTooLong
from pyrogram.types import Message from pyrogram.types import Message
@ -16,7 +15,7 @@ from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper import check_time_gap, post_to_telegraph from misskaty.helper import check_time_gap, post_to_telegraph
from misskaty.helper.http import http from misskaty.helper.http import http
from misskaty.helper.localization import use_chat_lang from misskaty.helper.localization import use_chat_lang
from misskaty.vars import COMMAND_HANDLER, OPENAI_API, SUDO from misskaty.vars import OPENAI_API, SUDO
openai.api_key = OPENAI_API openai.api_key = OPENAI_API
@ -24,7 +23,8 @@ openai.api_key = OPENAI_API
# This only for testing things, since maybe in future it will got blocked # This only for testing things, since maybe in future it will got blocked
@app.on_cmd("bard", is_disabled=True) @app.on_cmd("bard", is_disabled=True)
@use_chat_lang() @use_chat_lang()
async def bard_chatbot(self: Client, ctx: Message, strings): @ratelimiter
async def bard_chatbot(_, ctx: Message, strings):
if len(ctx.command) == 1: if len(ctx.command) == 1:
return await ctx.reply_msg( return await ctx.reply_msg(
strings("no_question").format(cmd=ctx.command[0]), quote=True, del_in=5 strings("no_question").format(cmd=ctx.command[0]), quote=True, del_in=5
@ -44,7 +44,7 @@ async def bard_chatbot(self: Client, ctx: Message, strings):
@app.on_cmd("ask") @app.on_cmd("ask")
@ratelimiter @ratelimiter
@use_chat_lang() @use_chat_lang()
async def openai_chatbot(self: Client, ctx: Message, strings): async def openai_chatbot(_, ctx: Message, strings):
if len(ctx.command) == 1: if len(ctx.command) == 1:
return await ctx.reply_msg( return await ctx.reply_msg(
strings("no_question").format(cmd=ctx.command[0]), quote=True, del_in=5 strings("no_question").format(cmd=ctx.command[0]), quote=True, del_in=5

View file

@ -9,7 +9,8 @@ from pyrogram.types import Message
from misskaty import app from misskaty import app
from misskaty.helper.http import http from misskaty.helper.http import http
from misskaty.vars import COMMAND_HANDLER, CURRENCY_API from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.vars import CURRENCY_API
__MODULE__ = "Currency" __MODULE__ = "Currency"
__HELP__ = """ __HELP__ = """
@ -19,8 +20,9 @@ __HELP__ = """
LOGGER = logging.getLogger(__name__) LOGGER = logging.getLogger(__name__)
@app.on_message(filters.command(["currency"], COMMAND_HANDLER)) @app.on_cmd("currency")
async def currency(self: Client, ctx: Message): @ratelimiter
async def currency(_, ctx: Message):
if CURRENCY_API is None: if CURRENCY_API is None:
return await ctx.reply_msg( return await ctx.reply_msg(
"<code>Oops!!get the API from</code> <a href='https://app.exchangerate-api.com/sign-up'>HERE</a> <code>& add it to config vars</code> (<code>CURRENCY_API</code>)", "<code>Oops!!get the API from</code> <a href='https://app.exchangerate-api.com/sign-up'>HERE</a> <code>& add it to config vars</code> (<code>CURRENCY_API</code>)",
@ -32,10 +34,7 @@ async def currency(self: Client, ctx: Message):
del_in=6, del_in=6,
) )
teks = ctx.text.split() amount, currency_from, currency_to = ctx.text.split()
amount = teks[1]
currency_from = teks[2]
currency_to = teks[3]
if amount.isdigit() or ( if amount.isdigit() or (
amount.replace(".", "", 1).isdigit() and amount.count(".") < 2 amount.replace(".", "", 1).isdigit() and amount.count(".") < 2
): ):

View file

@ -20,7 +20,6 @@ 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
from psutil import net_io_counters, virtual_memory from psutil import net_io_counters, virtual_memory
from pykeyboard import InlineButton, InlineKeyboard
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

View file

@ -142,7 +142,7 @@ async def clear_reqdict():
shutil.rmtree("GensSS", ignore_errors=True) shutil.rmtree("GensSS", ignore_errors=True)
# @app.on_message(filters.regex(r"makasi|thank|terimakasih|terima kasih|mksh", re.I) & filters.chat(chat)) @app.on_message(filters.regex(r"makasi|thank|terimakasih|terima kasih|mksh", re.I) & filters.chat(chat))
async def thankregex(_, message): async def thankregex(_, message):
pesan = [ pesan = [
f"Sama-sama {message.from_user.first_name}", f"Sama-sama {message.from_user.first_name}",

View file

@ -27,13 +27,11 @@ from pyrogram.types import (
Message, Message,
) )
from database.imdb_db import * from database.imdb_db import is_imdbset, add_imdbset, remove_imdbset
from misskaty import BOT_USERNAME, app from misskaty import app
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.misskaty_patch.listen.listen import ListenerTimeout from misskaty.core.misskaty_patch.listen.listen import ListenerTimeout
from misskaty.helper import GENRES_EMOJI, get_random_string, http, search_jw from misskaty.helper import GENRES_EMOJI, get_random_string, http, search_jw
from misskaty.vars import COMMAND_HANDLER
from utils import demoji from utils import demoji
LOGGER = logging.getLogger(__name__) LOGGER = logging.getLogger(__name__)
@ -90,10 +88,9 @@ async def imdb_choose(self: Client, ctx: Message):
pass pass
@app.on_callback_query(filters.regex("^imdbset")) @app.on_cb("imdbset")
@ratelimiter @ratelimiter
@capture_err async def imdblangset(_, query: CallbackQuery):
async def imdblangset(self: Client, query: CallbackQuery):
i, uid = query.data.split("#") i, uid = query.data.split("#")
if query.from_user.id != int(uid): if query.from_user.id != int(uid):
return await query.answer("⚠️ Access Denied!", True) return await query.answer("⚠️ Access Denied!", True)
@ -122,9 +119,8 @@ async def imdblangset(self: Client, query: CallbackQuery):
pass pass
@app.on_callback_query(filters.regex("^setimdb")) @app.on_cb("setimdb")
@ratelimiter @ratelimiter
@capture_err
async def imdbsetlang(self: Client, query: CallbackQuery): async def imdbsetlang(self: Client, query: CallbackQuery):
i, lang, uid = query.data.split("#") i, lang, uid = query.data.split("#")
if query.from_user.id != int(uid): if query.from_user.id != int(uid):
@ -277,9 +273,8 @@ async def imdb_search_en(kueri, message):
) )
@app.on_callback_query(filters.regex("^imdbcari")) @app.on_cb("imdbcari")
@ratelimiter @ratelimiter
@capture_err
async def imdbcari(self: Client, query: CallbackQuery): async def imdbcari(self: Client, query: CallbackQuery):
BTN = [] BTN = []
i, lang, msg, uid = query.data.split("#") i, lang, msg, uid = query.data.split("#")
@ -403,7 +398,7 @@ async def imdbcari(self: Client, query: CallbackQuery):
) )
@app.on_cb(data="imdbres_id") @app.on_cb("imdbres_id")
@ratelimiter @ratelimiter
async def imdb_id_callback(self: Client, query: CallbackQuery): async def imdb_id_callback(self: Client, query: CallbackQuery):
i, userid, movie = query.data.split("#") i, userid, movie = query.data.split("#")
@ -513,7 +508,7 @@ async def imdb_id_callback(self: Client, query: CallbackQuery):
res_str += "\n" res_str += "\n"
if ott != "": if ott != "":
res_str += f"Tersedia di:\n{ott}\n" res_str += f"Tersedia di:\n{ott}\n"
res_str += f"<b>©️ IMDb by</b> @{BOT_USERNAME}" res_str += f"<b>©️ IMDb by</b> @{self.me.username}"
if trailer := r_json.get("trailer"): if trailer := r_json.get("trailer"):
trailer_url = trailer["url"] trailer_url = trailer["url"]
markup = InlineKeyboardMarkup( markup = InlineKeyboardMarkup(
@ -560,9 +555,8 @@ async def imdb_id_callback(self: Client, query: CallbackQuery):
pass pass
@app.on_callback_query(filters.regex("^imdbres_en")) @app.on_cb("imdbres_en")
@ratelimiter @ratelimiter
@capture_err
async def imdb_en_callback(self: Client, query: CallbackQuery): async def imdb_en_callback(self: Client, query: CallbackQuery):
i, userid, movie = query.data.split("#") i, userid, movie = query.data.split("#")
if query.from_user.id != int(userid): if query.from_user.id != int(userid):
@ -670,7 +664,7 @@ async def imdb_en_callback(self: Client, query: CallbackQuery):
res_str += "\n" res_str += "\n"
if ott != "": if ott != "":
res_str += f"Available On:\n{ott}\n" res_str += f"Available On:\n{ott}\n"
res_str += f"<b>©️ IMDb by</b> @{BOT_USERNAME}" res_str += f"<b>©️ IMDb by</b> @{self.me.username}"
if trailer := r_json.get("trailer"): if trailer := r_json.get("trailer"):
trailer_url = trailer["url"] trailer_url = trailer["url"]
markup = InlineKeyboardMarkup( markup = InlineKeyboardMarkup(

View file

@ -150,9 +150,7 @@ async def convertsrt(self: Client, ctx: Message, strings):
f"ConvertSub: {filename} by {ctx.from_user.first_name if ctx.from_user else ctx.sender_chat.title} [{ctx.from_user.id if ctx.from_user else ctx.sender_chat.id}]" f"ConvertSub: {filename} by {ctx.from_user.first_name if ctx.from_user else ctx.sender_chat.title} [{ctx.from_user.id if ctx.from_user else ctx.sender_chat.id}]"
) )
suffix = "srt" if ctx.command[0] == "converttosrt" else "ass" suffix = "srt" if ctx.command[0] == "converttosrt" else "ass"
(await shell_exec(f"ffmpeg -i '{dl}' 'downloads/{filename}.{suffix}'"))[ await shell_exec(f"ffmpeg -i '{dl}' 'downloads/{filename}.{suffix}'")
0
] # skipcq: PYL-W0106
c_time = time() c_time = time()
await ctx.reply_document( await ctx.reply_document(
f"downloads/{filename}.{suffix}", f"downloads/{filename}.{suffix}",

View file

@ -70,7 +70,7 @@ async def del_msg(client, message):
) )
# @user.on_edited_message(filters.text & filters.chat(-1001455886928)) @user.on_edited_message(filters.text & filters.chat(-1001455886928))
async def edit_msg(client, message): async def edit_msg(client, message):
try: try:
ustat = ( ustat = (

View file

@ -21,7 +21,6 @@ from pyrogram.types import (
from misskaty import app from misskaty import 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.misskaty_patch.listen.listen import ListenerTimeout
from misskaty.helper.http import http from misskaty.helper.http import http
from misskaty.helper.localization import use_chat_lang from misskaty.helper.localization import use_chat_lang
from misskaty.vars import COMMAND_HANDLER, LOG_CHANNEL from misskaty.vars import COMMAND_HANDLER, LOG_CHANNEL
@ -79,7 +78,7 @@ async def ytsearch(self: Client, ctx: Message, strings):
@app.on_message( @app.on_message(
filters.command(["ytdown"], COMMAND_HANDLER) filters.command(["ytdown"], COMMAND_HANDLER)
| filters.regex(YT_REGEX) & ~filters.channel | filters.regex(YT_REGEX) & ~filters.channel & ~filters.via_bot
) )
@capture_err @capture_err
@ratelimiter @ratelimiter

View file

@ -2,14 +2,10 @@
# * @date 2023-06-21 22:12:27 # * @date 2023-06-21 22:12:27
# * @projectName MissKatyPyro # * @projectName MissKatyPyro
# * Copyright ©YasirPedia All rights reserved # * Copyright ©YasirPedia All rights reserved
import os
import sys import sys
from logging import getLogger from logging import getLogger
from os import environ from os import environ
import requests
from dotenv import load_dotenv
LOGGER = getLogger(__name__) LOGGER = getLogger(__name__)

View file

@ -1,7 +1,6 @@
from logging import INFO, StreamHandler, basicConfig, getLogger, handlers from logging import INFO, StreamHandler, basicConfig, getLogger, handlers
import os import os
import subprocess import subprocess
import time
import dotenv import dotenv
import requests import requests
@ -63,12 +62,6 @@ if all([UPSTREAM_REPO_URL, UPSTREAM_REPO_BRANCH]):
except Exception as e: except Exception as e:
LOGGER.error(e) LOGGER.error(e)
pass pass
# time.sleep(6)
# update = subprocess.run(['pip3', 'install', '-U', '-r', 'requirements.txt'])
# if update.returncode == 0:
# LOGGER.info("Successfully update package pip python")
# else:
# LOGGER.warning("Unsuccessfully update package pip python")
else: else:
LOGGER.warning( LOGGER.warning(
"UPSTREAM_REPO_URL or UPSTREAM_REPO_BRANCH is not defined, Skipping auto update" "UPSTREAM_REPO_URL or UPSTREAM_REPO_BRANCH is not defined, Skipping auto update"