Remove rate limiter since useless and not good

This commit is contained in:
yasirarism 2023-09-15 22:23:36 +07:00 committed by GitHub
parent 63b41c4d8e
commit 41c35c0e3b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
40 changed files with 16 additions and 313 deletions

View file

@ -1,7 +1,6 @@
from .errors import capture_err from .errors import capture_err
from .misc import asyncify, new_task from .misc import asyncify, new_task
from .permissions import adminsOnly, require_admin from .permissions import adminsOnly, require_admin
from .ratelimiter import ratelimiter
__all__ = [ __all__ = [
"capture_err", "capture_err",
@ -9,5 +8,4 @@ __all__ = [
"new_task", "new_task",
"adminsOnly", "adminsOnly",
"require_admin", "require_admin",
"ratelimiter",
] ]

View file

@ -1,48 +0,0 @@
from functools import wraps
from typing import Callable, Union
from cachetools import TTLCache
from pyrogram import Client
from pyrogram.errors import QueryIdInvalid
from pyrogram.types import CallbackQuery, Message
from ..ratelimiter_func import RateLimiter
ratelimit = RateLimiter()
# storing spammy user in cache for 1minute before allowing them to use commands again.
warned_users = TTLCache(maxsize=128, ttl=60)
warning_message = "Spam detected! ignoring your all requests for few minutes."
def ratelimiter(func: Callable) -> Callable:
"""
Restricts user's from spamming commands or pressing buttons multiple times
using leaky bucket algorithm and pyrate_limiter.
"""
@wraps(func)
async def decorator(client: Client, update: Union[Message, CallbackQuery]):
userid = update.from_user.id if update.from_user else update.sender_chat.id
is_limited = await ratelimit.acquire(userid)
if is_limited and userid not in warned_users:
if isinstance(update, Message):
await update.reply_text(warning_message)
warned_users[userid] = 1
return
elif isinstance(update, CallbackQuery):
try:
await update.answer(warning_message, show_alert=True)
except QueryIdInvalid:
warned_users[userid] = 1
return
warned_users[userid] = 1
return
elif is_limited and userid in warned_users:
pass
else:
return await func(client, update)
return decorator

View file

@ -1,46 +0,0 @@
from typing import Union
from pyrate_limiter import (
BucketFullException,
Duration,
Limiter,
InMemoryBucket,
Rate,
)
class RateLimiter:
"""
Implement rate limit logic using leaky bucket
algorithm, via pyrate_limiter.
(https://pypi.org/project/pyrate-limiter/)
"""
def __init__(self) -> None:
# 15 requests per minute.
self.minute_rate = Rate(15, Duration.MINUTE)
# 100 requests per hour
self.hourly_rate = Rate(100, Duration.HOUR)
# 300 requests per day
self.daily_rate = Rate(300, Duration.DAY)
self.limiter = Limiter([
self.minute_rate,
self.hourly_rate,
self.daily_rate
]
)
async def acquire(self, userid: Union[int, str]) -> bool:
"""
Acquire rate limit per userid and return True / False
based on userid ratelimit status.
"""
try:
self.limiter.try_acquire(userid)
return False
except BucketFullException:
return True

View file

@ -44,7 +44,6 @@ from misskaty.core.decorator.permissions import (
list_admins, list_admins,
member_permissions, member_permissions,
) )
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.core.keyboard import ikb from misskaty.core.keyboard import ikb
from misskaty.helper.functions import ( from misskaty.helper.functions import (
extract_user, extract_user,
@ -164,7 +163,6 @@ async def purge(_, ctx: Message, strings):
# Kick members # Kick members
@app.on_cmd(["kick", "dkick"], self_admin=True, group_only=True) @app.on_cmd(["kick", "dkick"], self_admin=True, group_only=True)
@app.adminsOnly("can_restrict_members") @app.adminsOnly("can_restrict_members")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def kickFunc(client: Client, ctx: Message, strings) -> "Message": async def kickFunc(client: Client, ctx: Message, strings) -> "Message":
user_id, reason = await extract_user_and_reason(ctx) user_id, reason = await extract_user_and_reason(ctx)
@ -197,7 +195,6 @@ async def kickFunc(client: Client, ctx: Message, strings) -> "Message":
# Ban/DBan/TBan User # Ban/DBan/TBan User
@app.on_cmd(["ban", "dban", "tban"], self_admin=True, group_only=True) @app.on_cmd(["ban", "dban", "tban"], self_admin=True, group_only=True)
@app.adminsOnly("can_restrict_members") @app.adminsOnly("can_restrict_members")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def banFunc(client, message, strings): async def banFunc(client, message, strings):
user_id, reason = await extract_user_and_reason(message, sender_chat=True) user_id, reason = await extract_user_and_reason(message, sender_chat=True)
@ -257,7 +254,6 @@ async def banFunc(client, message, strings):
# Unban members # Unban members
@app.on_cmd("unban", self_admin=True, group_only=True) @app.on_cmd("unban", self_admin=True, group_only=True)
@app.adminsOnly("can_restrict_members") @app.adminsOnly("can_restrict_members")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def unban_func(_, message, strings): async def unban_func(_, message, strings):
# we don't need reasons for unban, also, we # we don't need reasons for unban, also, we
@ -289,7 +285,6 @@ async def unban_func(_, message, strings):
@app.on_message( @app.on_message(
filters.user(SUDO) & filters.command("listban", COMMAND_HANDLER) & filters.group filters.user(SUDO) & filters.command("listban", COMMAND_HANDLER) & filters.group
) )
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def list_ban_(c, message, strings): async def list_ban_(c, message, strings):
userid, msglink_reason = await extract_user_and_reason(message) userid, msglink_reason = await extract_user_and_reason(message)
@ -344,7 +339,6 @@ async def list_ban_(c, message, strings):
@app.on_message( @app.on_message(
filters.user(SUDO) & filters.command("listunban", COMMAND_HANDLER) & filters.group filters.user(SUDO) & filters.command("listunban", COMMAND_HANDLER) & filters.group
) )
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def list_unban(_, message, strings): async def list_unban(_, message, strings):
userid, msglink = await extract_user_and_reason(message) userid, msglink = await extract_user_and_reason(message)
@ -382,7 +376,6 @@ async def list_unban(_, message, strings):
# Delete messages # Delete messages
@app.on_cmd("del", group_only=True) @app.on_cmd("del", group_only=True)
@app.adminsOnly("can_delete_messages") @app.adminsOnly("can_delete_messages")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def deleteFunc(_, message, strings): async def deleteFunc(_, message, strings):
if not message.reply_to_message: if not message.reply_to_message:
@ -397,7 +390,6 @@ async def deleteFunc(_, message, strings):
# Promote Members # Promote Members
@app.on_cmd(["promote", "fullpromote"], self_admin=True, group_only=True) @app.on_cmd(["promote", "fullpromote"], self_admin=True, group_only=True)
@app.adminsOnly("can_promote_members") @app.adminsOnly("can_promote_members")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def promoteFunc(client, message, strings): async def promoteFunc(client, message, strings):
try: try:
@ -449,7 +441,6 @@ async def promoteFunc(client, message, strings):
# Demote Member # Demote Member
@app.on_cmd("demote", self_admin=True, group_only=True) @app.on_cmd("demote", self_admin=True, group_only=True)
@app.adminsOnly("can_restrict_members") @app.adminsOnly("can_restrict_members")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def demote(client, message, strings): async def demote(client, message, strings):
user_id = await extract_user(message) user_id = await extract_user(message)
@ -482,7 +473,6 @@ async def demote(client, message, strings):
# Pin Messages # Pin Messages
@app.on_cmd(["pin", "unpin"]) @app.on_cmd(["pin", "unpin"])
@app.adminsOnly("can_pin_messages") @app.adminsOnly("can_pin_messages")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def pin(_, message, strings): async def pin(_, message, strings):
if not message.reply_to_message: if not message.reply_to_message:
@ -510,7 +500,6 @@ async def pin(_, message, strings):
# Mute members # Mute members
@app.on_cmd(["mute", "tmute"], self_admin=True, group_only=True) @app.on_cmd(["mute", "tmute"], self_admin=True, group_only=True)
@app.adminsOnly("can_restrict_members") @app.adminsOnly("can_restrict_members")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def mute(client, message, strings): async def mute(client, message, strings):
try: try:
@ -561,7 +550,6 @@ async def mute(client, message, strings):
# Unmute members # Unmute members
@app.on_cmd("unmute", self_admin=True, group_only=True) @app.on_cmd("unmute", self_admin=True, group_only=True)
@app.adminsOnly("can_restrict_members") @app.adminsOnly("can_restrict_members")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def unmute(_, message, strings): async def unmute(_, message, strings):
user_id = await extract_user(message) user_id = await extract_user(message)
@ -577,7 +565,6 @@ async def unmute(_, message, strings):
@app.on_cmd(["warn", "dwarn"], self_admin=True, group_only=True) @app.on_cmd(["warn", "dwarn"], self_admin=True, group_only=True)
@app.adminsOnly("can_restrict_members") @app.adminsOnly("can_restrict_members")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def warn_user(client, message, strings): async def warn_user(client, message, strings):
try: try:
@ -619,7 +606,6 @@ async def warn_user(client, message, strings):
@app.on_callback_query(filters.regex("unwarn_")) @app.on_callback_query(filters.regex("unwarn_"))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def remove_warning(client, cq, strings): async def remove_warning(client, cq, strings):
from_user = cq.from_user from_user = cq.from_user
@ -650,7 +636,6 @@ async def remove_warning(client, cq, strings):
@app.on_callback_query(filters.regex("unmute_")) @app.on_callback_query(filters.regex("unmute_"))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def unmute_user(client, cq, strings): async def unmute_user(client, cq, strings):
from_user = cq.from_user from_user = cq.from_user
@ -671,7 +656,6 @@ async def unmute_user(client, cq, strings):
@app.on_callback_query(filters.regex("unban_")) @app.on_callback_query(filters.regex("unban_"))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def unban_user(client, cq, strings): async def unban_user(client, cq, strings):
from_user = cq.from_user from_user = cq.from_user
@ -697,7 +681,6 @@ async def unban_user(client, cq, strings):
# Remove Warn # Remove Warn
@app.on_cmd("rmwarn", self_admin=True, group_only=True) @app.on_cmd("rmwarn", self_admin=True, group_only=True)
@app.adminsOnly("can_restrict_members") @app.adminsOnly("can_restrict_members")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def remove_warnings(_, message, strings): async def remove_warnings(_, message, strings):
if not message.reply_to_message: if not message.reply_to_message:
@ -717,7 +700,6 @@ async def remove_warnings(_, message, strings):
# Warns # Warns
@app.on_cmd("warns", group_only=True) @app.on_cmd("warns", group_only=True)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def check_warns(_, message, strings): async def check_warns(_, message, strings):
if not message.from_user: if not message.from_user:
@ -745,7 +727,6 @@ async def check_warns(_, message, strings):
& filters.group & filters.group
) )
@capture_err @capture_err
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def report_user(_, ctx: Message, strings) -> "Message": async def report_user(_, ctx: Message, strings) -> "Message":
if not ctx.reply_to_message: if not ctx.reply_to_message:

View file

@ -19,7 +19,6 @@ 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.permissions import adminsOnly from misskaty.core.decorator.permissions import adminsOnly
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 utils import put_cleanmode from utils import put_cleanmode
@ -33,7 +32,6 @@ Just type something in group to remove AFK Status."""
# Handle set AFK Command # Handle set AFK Command
@app.on_cmd("afk") @app.on_cmd("afk")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def active_afk(_, ctx: Message, strings): async def active_afk(_, ctx: Message, strings):
if ctx.sender_chat: if ctx.sender_chat:
@ -207,7 +205,6 @@ async def active_afk(_, ctx: Message, strings):
@app.on_cmd("afkdel", group_only=True) @app.on_cmd("afkdel", group_only=True)
@ratelimiter
@adminsOnly("can_change_info") @adminsOnly("can_change_info")
@use_chat_lang() @use_chat_lang()
async def afk_state(_, ctx: Message, strings): async def afk_state(_, ctx: Message, strings):

View file

@ -10,7 +10,6 @@ from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
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
# Filters Approve User by bot in channel @YMovieZNew # Filters Approve User by bot in channel @YMovieZNew
@ -41,7 +40,6 @@ async def approve_join_chat(c, m):
@app.on_callback_query(filters.regex(r"^approve")) @app.on_callback_query(filters.regex(r"^approve"))
@ratelimiter
async def approve_chat(c, q): async def approve_chat(c, q):
_, chat = q.data.split("_") _, chat = q.data.split("_")
try: try:
@ -58,7 +56,6 @@ async def approve_chat(c, q):
@app.on_callback_query(filters.regex(r"^declined")) @app.on_callback_query(filters.regex(r"^declined"))
@ratelimiter
async def decline_chat(c, q): async def decline_chat(c, q):
_, chat = q.data.split("_") _, chat = q.data.split("_")
try: try:

View file

@ -16,7 +16,6 @@ from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup, Message
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.helper import get_readable_file_size, fetch, rentry from misskaty.helper import get_readable_file_size, fetch, rentry
from misskaty.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
@ -24,6 +23,8 @@ LIST_LINK = """
- Pling and all aliases. - Pling and all aliases.
- Wetransfer - Wetransfer
- Other link soon... - Other link soon...
This feature is deprecated..
""" """
__MODULE__ = "Bypass" __MODULE__ = "Bypass"
@ -94,7 +95,6 @@ def wetransfer_bypass(url: str) -> str:
@app.on_message(filters.command(["directurl"], COMMAND_HANDLER)) @app.on_message(filters.command(["directurl"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
async def bypass(_, ctx: Message): async def bypass(_, ctx: Message):
if len(ctx.command) == 1: if len(ctx.command) == 1:
return await ctx.reply_msg( return await ctx.reply_msg(

View file

@ -3,7 +3,6 @@ from pyrogram import enums, filters
from pyrogram.errors import MessageTooLong from pyrogram.errors import MessageTooLong
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper.tools import rentry from misskaty.helper.tools import rentry
from misskaty.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
@ -75,7 +74,6 @@ async def glot(lang, langcode, code):
@app.on_message(filters.command(["codelist"], COMMAND_HANDLER)) @app.on_message(filters.command(["codelist"], COMMAND_HANDLER))
@ratelimiter
async def list_lang(_, message): async def list_lang(_, message):
daftarlang = await listcode() daftarlang = await listcode()
list_ = "".join(f"~> {i['name']}\n" for i in daftarlang) list_ = "".join(f"~> {i['name']}\n" for i in daftarlang)
@ -86,7 +84,6 @@ async def list_lang(_, message):
@app.on_message(filters.command(["assembly"], "!")) @app.on_message(filters.command(["assembly"], "!"))
@app.on_edited_message(filters.command(["assembly"], "!")) @app.on_edited_message(filters.command(["assembly"], "!"))
@ratelimiter
async def assembly(_, message): async def assembly(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -104,7 +101,6 @@ async def assembly(_, message):
@app.on_message(filters.command(["ats"], "!")) @app.on_message(filters.command(["ats"], "!"))
@app.on_edited_message(filters.command(["ats"], "!")) @app.on_edited_message(filters.command(["ats"], "!"))
@ratelimiter
async def ats(_, message): async def ats(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -122,7 +118,6 @@ async def ats(_, message):
@app.on_message(filters.command(["bash"], "!")) @app.on_message(filters.command(["bash"], "!"))
@app.on_edited_message(filters.command(["bash"], "!")) @app.on_edited_message(filters.command(["bash"], "!"))
@ratelimiter
async def bash(_, message): async def bash(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -140,7 +135,6 @@ async def bash(_, message):
@app.on_message(filters.command(["c"], "!")) @app.on_message(filters.command(["c"], "!"))
@app.on_edited_message(filters.command(["c"], "!")) @app.on_edited_message(filters.command(["c"], "!"))
@ratelimiter
async def c(_, message): async def c(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -158,7 +152,6 @@ async def c(_, message):
@app.on_message(filters.command(["clojure"], "!")) @app.on_message(filters.command(["clojure"], "!"))
@app.on_edited_message(filters.command(["clojure"], "!")) @app.on_edited_message(filters.command(["clojure"], "!"))
@ratelimiter
async def clojure(_, message): async def clojure(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -176,7 +169,6 @@ async def clojure(_, message):
@app.on_message(filters.command(["cobol"], "!")) @app.on_message(filters.command(["cobol"], "!"))
@app.on_edited_message(filters.command(["cobol"], "!")) @app.on_edited_message(filters.command(["cobol"], "!"))
@ratelimiter
async def cobol(_, message): async def cobol(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -194,7 +186,6 @@ async def cobol(_, message):
@app.on_message(filters.command(["coffeescript"], "!")) @app.on_message(filters.command(["coffeescript"], "!"))
@app.on_edited_message(filters.command(["coffeescript"], "!")) @app.on_edited_message(filters.command(["coffeescript"], "!"))
@ratelimiter
async def coffeescript(_, message): async def coffeescript(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -212,7 +203,6 @@ async def coffeescript(_, message):
@app.on_message(filters.command(["cpp"], "!")) @app.on_message(filters.command(["cpp"], "!"))
@app.on_edited_message(filters.command(["cpp"], "!")) @app.on_edited_message(filters.command(["cpp"], "!"))
@ratelimiter
async def cpp(_, message): async def cpp(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -230,7 +220,6 @@ async def cpp(_, message):
@app.on_message(filters.command(["crystal"], "!")) @app.on_message(filters.command(["crystal"], "!"))
@app.on_edited_message(filters.command(["crystal"], "!")) @app.on_edited_message(filters.command(["crystal"], "!"))
@ratelimiter
async def crystal(_, message): async def crystal(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -248,7 +237,6 @@ async def crystal(_, message):
@app.on_message(filters.command(["csharp"], "!")) @app.on_message(filters.command(["csharp"], "!"))
@app.on_edited_message(filters.command(["csharp"], "!")) @app.on_edited_message(filters.command(["csharp"], "!"))
@ratelimiter
async def csharp(_, message): async def csharp(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -266,7 +254,6 @@ async def csharp(_, message):
@app.on_message(filters.command(["d"], "!")) @app.on_message(filters.command(["d"], "!"))
@app.on_edited_message(filters.command(["d"], "!")) @app.on_edited_message(filters.command(["d"], "!"))
@ratelimiter
async def d(_, message): async def d(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -284,7 +271,6 @@ async def d(_, message):
@app.on_message(filters.command(["elixir"], "!")) @app.on_message(filters.command(["elixir"], "!"))
@app.on_edited_message(filters.command(["elixir"], "!")) @app.on_edited_message(filters.command(["elixir"], "!"))
@ratelimiter
async def elixir(_, message): async def elixir(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -319,7 +305,6 @@ async def elm(_, message):
@app.on_message(filters.command(["erlang"], "!")) @app.on_message(filters.command(["erlang"], "!"))
@app.on_edited_message(filters.command(["erlang"], "!")) @app.on_edited_message(filters.command(["erlang"], "!"))
@ratelimiter
async def erlang(_, message): async def erlang(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -337,7 +322,6 @@ async def erlang(_, message):
@app.on_message(filters.command(["fsharp"], "!")) @app.on_message(filters.command(["fsharp"], "!"))
@app.on_edited_message(filters.command(["fsharp"], "!")) @app.on_edited_message(filters.command(["fsharp"], "!"))
@ratelimiter
async def fsharp(_, message): async def fsharp(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -355,7 +339,6 @@ async def fsharp(_, message):
@app.on_message(filters.command(["go"], "!")) @app.on_message(filters.command(["go"], "!"))
@app.on_edited_message(filters.command(["go"], "!")) @app.on_edited_message(filters.command(["go"], "!"))
@ratelimiter
async def go(_, message): async def go(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -373,7 +356,6 @@ async def go(_, message):
@app.on_message(filters.command(["groovy"], "!")) @app.on_message(filters.command(["groovy"], "!"))
@app.on_edited_message(filters.command(["groovy"], "!")) @app.on_edited_message(filters.command(["groovy"], "!"))
@ratelimiter
async def groovy(_, message): async def groovy(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -391,7 +373,6 @@ async def groovy(_, message):
@app.on_message(filters.command(["haskell"], "!")) @app.on_message(filters.command(["haskell"], "!"))
@app.on_edited_message(filters.command(["haskell"], "!")) @app.on_edited_message(filters.command(["haskell"], "!"))
@ratelimiter
async def haskell(_, message): async def haskell(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -409,7 +390,6 @@ async def haskell(_, message):
@app.on_message(filters.command(["idris"], "!")) @app.on_message(filters.command(["idris"], "!"))
@app.on_edited_message(filters.command(["idris"], "!")) @app.on_edited_message(filters.command(["idris"], "!"))
@ratelimiter
async def idris(_, message): async def idris(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -427,7 +407,6 @@ async def idris(_, message):
@app.on_message(filters.command(["java"], "!")) @app.on_message(filters.command(["java"], "!"))
@app.on_edited_message(filters.command(["java"], "!")) @app.on_edited_message(filters.command(["java"], "!"))
@ratelimiter
async def java(_, message): async def java(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -445,7 +424,6 @@ async def java(_, message):
@app.on_message(filters.command(["javascript"], "!")) @app.on_message(filters.command(["javascript"], "!"))
@app.on_edited_message(filters.command(["javascript"], "!")) @app.on_edited_message(filters.command(["javascript"], "!"))
@ratelimiter
async def javascript(_, message): async def javascript(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -463,7 +441,6 @@ async def javascript(_, message):
@app.on_message(filters.command(["julia"], "!")) @app.on_message(filters.command(["julia"], "!"))
@app.on_edited_message(filters.command(["julia"], "!")) @app.on_edited_message(filters.command(["julia"], "!"))
@ratelimiter
async def julia(_, message): async def julia(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -481,7 +458,6 @@ async def julia(_, message):
@app.on_message(filters.command(["kotlin"], "!")) @app.on_message(filters.command(["kotlin"], "!"))
@app.on_edited_message(filters.command(["kotlin"], "!")) @app.on_edited_message(filters.command(["kotlin"], "!"))
@ratelimiter
async def kotlin(_, message): async def kotlin(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -499,7 +475,6 @@ async def kotlin(_, message):
@app.on_message(filters.command(["lua"], "!")) @app.on_message(filters.command(["lua"], "!"))
@app.on_edited_message(filters.command(["lua"], "!")) @app.on_edited_message(filters.command(["lua"], "!"))
@ratelimiter
async def lua(_, message): async def lua(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -517,7 +492,6 @@ async def lua(_, message):
@app.on_message(filters.command(["mercury"], "!")) @app.on_message(filters.command(["mercury"], "!"))
@app.on_edited_message(filters.command(["mercury"], "!")) @app.on_edited_message(filters.command(["mercury"], "!"))
@ratelimiter
async def mercury(_, message): async def mercury(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -535,7 +509,6 @@ async def mercury(_, message):
@app.on_message(filters.command(["nim"], "!")) @app.on_message(filters.command(["nim"], "!"))
@app.on_edited_message(filters.command(["nim"], "!")) @app.on_edited_message(filters.command(["nim"], "!"))
@ratelimiter
async def nim(_, message): async def nim(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -553,7 +526,6 @@ async def nim(_, message):
@app.on_message(filters.command(["nix"], "!")) @app.on_message(filters.command(["nix"], "!"))
@app.on_edited_message(filters.command(["nix"], "!")) @app.on_edited_message(filters.command(["nix"], "!"))
@ratelimiter
async def nix(_, message): async def nix(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -571,7 +543,6 @@ async def nix(_, message):
@app.on_message(filters.command(["ocaml"], "!")) @app.on_message(filters.command(["ocaml"], "!"))
@app.on_edited_message(filters.command(["ocaml"], "!")) @app.on_edited_message(filters.command(["ocaml"], "!"))
@ratelimiter
async def ocaml(_, message): async def ocaml(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -589,7 +560,6 @@ async def ocaml(_, message):
@app.on_message(filters.command(["perl"], "!")) @app.on_message(filters.command(["perl"], "!"))
@app.on_edited_message(filters.command(["perl"], "!")) @app.on_edited_message(filters.command(["perl"], "!"))
@ratelimiter
async def perl(_, message): async def perl(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -624,7 +594,6 @@ async def php(_, message):
@app.on_message(filters.command(["python"], "!")) @app.on_message(filters.command(["python"], "!"))
@app.on_edited_message(filters.command(["python"], "!")) @app.on_edited_message(filters.command(["python"], "!"))
@ratelimiter
async def python(_, message): async def python(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -642,7 +611,6 @@ async def python(_, message):
@app.on_message(filters.command(["raku"], "!")) @app.on_message(filters.command(["raku"], "!"))
@app.on_edited_message(filters.command(["raku"], "!")) @app.on_edited_message(filters.command(["raku"], "!"))
@ratelimiter
async def raku(_, message): async def raku(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -660,7 +628,6 @@ async def raku(_, message):
@app.on_message(filters.command(["ruby"], "!")) @app.on_message(filters.command(["ruby"], "!"))
@app.on_edited_message(filters.command(["ruby"], "!")) @app.on_edited_message(filters.command(["ruby"], "!"))
@ratelimiter
async def ruby(_, message): async def ruby(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -678,7 +645,6 @@ async def ruby(_, message):
@app.on_message(filters.command(["rust"], "!")) @app.on_message(filters.command(["rust"], "!"))
@app.on_edited_message(filters.command(["rust"], "!")) @app.on_edited_message(filters.command(["rust"], "!"))
@ratelimiter
async def rust(_, message): async def rust(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -696,7 +662,6 @@ async def rust(_, message):
@app.on_message(filters.command(["scala"], "!")) @app.on_message(filters.command(["scala"], "!"))
@app.on_edited_message(filters.command(["scala"], "!")) @app.on_edited_message(filters.command(["scala"], "!"))
@ratelimiter
async def scala(_, message): async def scala(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")
@ -731,7 +696,6 @@ async def swift(_, message):
@app.on_message(filters.command(["typescript"], "!")) @app.on_message(filters.command(["typescript"], "!"))
@app.on_edited_message(filters.command(["typescript"], "!")) @app.on_edited_message(filters.command(["typescript"], "!"))
@ratelimiter
async def typescript(_, message): async def typescript(_, message):
if len(message.command) < 2: if len(message.command) < 2:
return await message.reply("Please enter the code you want to run.") return await message.reply("Please enter the code you want to run.")

View file

@ -4,12 +4,10 @@ from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
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.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
@app.on_message(filters.command(["copy"], COMMAND_HANDLER)) @app.on_message(filters.command(["copy"], COMMAND_HANDLER))
@ratelimiter
async def copymsg(_, message): async def copymsg(_, message):
if len(message.command) == 1: if len(message.command) == 1:
if not message.reply_to_message: if not message.reply_to_message:

View file

@ -7,7 +7,6 @@ import logging
from pyrogram.types import Message from pyrogram.types import Message
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper.http import fetch from misskaty.helper.http import fetch
from misskaty.vars import CURRENCY_API from misskaty.vars import CURRENCY_API
@ -20,7 +19,6 @@ LOGGER = logging.getLogger("MissKaty")
@app.on_cmd("currency") @app.on_cmd("currency")
@ratelimiter
async def currency(_, ctx: Message): 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(

View file

@ -21,7 +21,6 @@ from pySmartDL import SmartDL
from misskaty import app from misskaty import app
from misskaty.core.decorator import capture_err, new_task from misskaty.core.decorator import capture_err, new_task
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper.http import fetch from misskaty.helper.http import fetch
from misskaty.helper.pyro_progress import humanbytes, progress_for_pyrogram from misskaty.helper.pyro_progress import humanbytes, progress_for_pyrogram
from misskaty.vars import COMMAND_HANDLER, SUDO from misskaty.vars import COMMAND_HANDLER, SUDO
@ -43,7 +42,6 @@ __HELP__ = """
@app.on_message(filters.command(["anon"], COMMAND_HANDLER)) @app.on_message(filters.command(["anon"], COMMAND_HANDLER))
@ratelimiter
async def upload(bot, message): async def upload(bot, message):
if not message.reply_to_message: if not message.reply_to_message:
return await message.reply("Please reply to media file.") return await message.reply("Please reply to media file.")
@ -176,7 +174,6 @@ async def download(client, message):
@app.on_message(filters.command(["instadl"], COMMAND_HANDLER)) @app.on_message(filters.command(["instadl"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
async def instadl(_, message): async def instadl(_, message):
if len(message.command) == 1: if len(message.command) == 1:
return await message.reply( return await message.reply(
@ -217,8 +214,7 @@ async def instadl(_, message):
@app.on_message(filters.command(["twitterdl"], COMMAND_HANDLER)) @app.on_message(filters.command(["twitterdl"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter async def twitterdl(_, message):
async def twitter(_, message):
if len(message.command) == 1: if len(message.command) == 1:
return await message.reply( return await message.reply(
f"Use command /{message.command[0]} [link] to download Twitter video." f"Use command /{message.command[0]} [link] to download Twitter video."
@ -270,7 +266,6 @@ async def twitter(_, message):
@app.on_message(filters.command(["tiktokdl"], COMMAND_HANDLER)) @app.on_message(filters.command(["tiktokdl"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
async def tiktokdl(_, message): async def tiktokdl(_, message):
if len(message.command) == 1: if len(message.command) == 1:
return await message.reply( return await message.reply(

View file

@ -14,7 +14,6 @@ from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
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.permissions import admins_in_chat from misskaty.core.decorator.permissions import admins_in_chat
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper.time_gap import check_time_gap from misskaty.helper.time_gap import check_time_gap
from utils import temp from utils import temp
@ -164,7 +163,6 @@ async def thankregex(_, message):
@app.on_callback_query(filters.regex(r"^donereq")) @app.on_callback_query(filters.regex(r"^donereq"))
@ratelimiter
async def callbackreq(c, q): async def callbackreq(c, q):
try: try:
user = await c.get_chat_member(-1001201566570, q.from_user.id) user = await c.get_chat_member(-1001201566570, q.from_user.id)
@ -221,7 +219,6 @@ async def callbackreq(c, q):
@app.on_callback_query(filters.regex(r"^dahada")) @app.on_callback_query(filters.regex(r"^dahada"))
@ratelimiter
async def callbackreqada(c, q): async def callbackreqada(c, q):
try: try:
user = await c.get_chat_member(-1001201566570, q.from_user.id) user = await c.get_chat_member(-1001201566570, q.from_user.id)
@ -280,7 +277,6 @@ async def callbackreqada(c, q):
@app.on_callback_query(filters.regex(r"^rejectreq")) @app.on_callback_query(filters.regex(r"^rejectreq"))
@ratelimiter
async def callbackreject(c, q): async def callbackreject(c, q):
try: try:
user = await c.get_chat_member(-1001201566570, q.from_user.id) user = await c.get_chat_member(-1001201566570, q.from_user.id)
@ -337,7 +333,6 @@ async def callbackreject(c, q):
@app.on_callback_query(filters.regex(r"^unavailablereq")) @app.on_callback_query(filters.regex(r"^unavailablereq"))
@ratelimiter
async def callbackunav(c, q): async def callbackunav(c, q):
try: try:
user = await c.get_chat_member(-1001201566570, q.from_user.id) user = await c.get_chat_member(-1001201566570, q.from_user.id)
@ -402,7 +397,6 @@ async def callbackunav(c, q):
@app.on_callback_query(filters.regex(r"^reqcompl$")) @app.on_callback_query(filters.regex(r"^reqcompl$"))
@ratelimiter
async def callbackaft_done(_, q): async def callbackaft_done(_, q):
await q.answer( await q.answer(
"Request ini sudah terselesaikan 🥳, silahkan cek di channel atau grup yaa..", "Request ini sudah terselesaikan 🥳, silahkan cek di channel atau grup yaa..",
@ -412,7 +406,6 @@ async def callbackaft_done(_, q):
@app.on_callback_query(filters.regex(r"^reqreject$")) @app.on_callback_query(filters.regex(r"^reqreject$"))
@ratelimiter
async def callbackaft_rej(_, q): async def callbackaft_rej(_, q):
await q.answer( await q.answer(
"Request ini ditolak 💔, silahkan cek rules grup yaa.", "Request ini ditolak 💔, silahkan cek rules grup yaa.",
@ -422,7 +415,6 @@ async def callbackaft_rej(_, q):
@app.on_callback_query(filters.regex(r"^requnav$")) @app.on_callback_query(filters.regex(r"^requnav$"))
@ratelimiter
async def callbackaft_unav(_, q): async def callbackaft_unav(_, q):
await q.answer( await q.answer(
"Request ini tidak tersedia ☹️, mungkin filmnya belum rilis atau memang tidak tersedia versi digital.", "Request ini tidak tersedia ☹️, mungkin filmnya belum rilis atau memang tidak tersedia versi digital.",
@ -432,7 +424,6 @@ async def callbackaft_unav(_, q):
@app.on_callback_query(filters.regex(r"^reqavailable$")) @app.on_callback_query(filters.regex(r"^reqavailable$"))
@ratelimiter
async def callbackaft_dahada(_, q): async def callbackaft_dahada(_, q):
await q.answer( await q.answer(
"Request ini sudah ada, silahkan cari 🔍 di channelnya yaa 😉..", show_alert=True "Request ini sudah ada, silahkan cari 🔍 di channelnya yaa 😉..", show_alert=True

View file

@ -34,7 +34,6 @@ from database.filters_db 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.permissions import adminsOnly from misskaty.core.decorator.permissions import adminsOnly
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.core.keyboard import ikb from misskaty.core.keyboard import ikb
from misskaty.helper.functions import extract_text_and_keyb from misskaty.helper.functions import extract_text_and_keyb
@ -49,7 +48,6 @@ You can use markdown or html to save text too.
@app.on_message(filters.command(["addfilter", "filter"]) & ~filters.private) @app.on_message(filters.command(["addfilter", "filter"]) & ~filters.private)
@adminsOnly("can_change_info") @adminsOnly("can_change_info")
@ratelimiter
async def save_filters(_, m): async def save_filters(_, m):
if len(m.command) == 1 or not m.reply_to_message: if len(m.command) == 1 or not m.reply_to_message:
return await m.reply_msg( return await m.reply_msg(
@ -78,7 +76,6 @@ async def save_filters(_, m):
@app.on_message(filters.command("filters") & ~filters.private) @app.on_message(filters.command("filters") & ~filters.private)
@capture_err @capture_err
@ratelimiter
async def get_filterss(_, m): async def get_filterss(_, m):
_filters = await get_filters_names(m.chat.id) _filters = await get_filters_names(m.chat.id)
if not _filters: if not _filters:
@ -92,7 +89,6 @@ async def get_filterss(_, m):
@app.on_message(filters.command(["stop", "stopfilter"]) & ~filters.private) @app.on_message(filters.command(["stop", "stopfilter"]) & ~filters.private)
@adminsOnly("can_change_info") @adminsOnly("can_change_info")
@ratelimiter
async def del_filter(_, m): async def del_filter(_, m):
if len(m.command) < 2: if len(m.command) < 2:
return await m.reply_msg("**Usage:**\n__/stopfilter [FILTER_NAME]__", del_in=6) return await m.reply_msg("**Usage:**\n__/stopfilter [FILTER_NAME]__", del_in=6)

View file

@ -7,7 +7,6 @@ from pyrogram import filters
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.helper.localization import use_chat_lang from misskaty.helper.localization import use_chat_lang
from misskaty.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
@ -150,7 +149,6 @@ async def draw_meme_text(image_path, text):
@app.on_message(filters.command(["mmf"], COMMAND_HANDLER)) @app.on_message(filters.command(["mmf"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
async def memify(_, message): async def memify(_, message):
if message.reply_to_message and ( if message.reply_to_message and (
message.reply_to_message.sticker or message.reply_to_message.photo message.reply_to_message.sticker or message.reply_to_message.photo
@ -184,3 +182,14 @@ async def memify(_, message):
async def dice(c, m, strings): async def dice(c, m, strings):
dices = await c.send_dice(m.chat.id, reply_to_message_id=m.id) dices = await c.send_dice(m.chat.id, reply_to_message_id=m.id)
await dices.reply_msg(strings("result").format(number=dices.dice.value), quote=True) await dices.reply_msg(strings("result").format(number=dices.dice.value), quote=True)
@app.on_message(filters.command(["beri"], COMMAND_HANDLER))
async def beriharapan(c, m):
reply = m.reply_to_message
if not reply and m.command == 1:
return m.reply("Harap berikan kalimat yang ingin diberi pada seseorang")
pesan = m.text.split(" ", 1)[1]
reply_name = reply.from_user.mention if reply.from_user else reply.sender_chat.title
sender_name = m.from_user.mention if m.from_user else m.sender_chat.title
await m.reply(f"{sender_name} memberikan {pesan} pada {reply_name}")

View file

@ -19,7 +19,6 @@ from pyrogram.types import Message
from pySmartDL import SmartDL from pySmartDL import SmartDL
from misskaty import app from misskaty import app
from misskaty.core.decorator import new_task, ratelimiter
from misskaty.helper import is_url, progress_for_pyrogram, take_ss from misskaty.helper import is_url, progress_for_pyrogram, take_ss
from misskaty.helper.localization import use_chat_lang from misskaty.helper.localization import use_chat_lang
from misskaty.helper.pyro_progress import humanbytes from misskaty.helper.pyro_progress import humanbytes
@ -34,7 +33,6 @@ __HELP__ = """"
@app.on_cmd("genss") @app.on_cmd("genss")
@ratelimiter
@new_task @new_task
@use_chat_lang() @use_chat_lang()
async def genss(self: Client, ctx: Message, strings): async def genss(self: Client, ctx: Message, strings):

View file

@ -17,7 +17,6 @@ from pyrogram.types import ChatMemberUpdated, InlineKeyboardButton, InlineKeyboa
from database.users_chats_db import db from database.users_chats_db import db
from misskaty import BOT_USERNAME, app from misskaty import BOT_USERNAME, app
from misskaty.core.decorator import asyncify, capture_err from misskaty.core.decorator import asyncify, capture_err
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper import fetch, use_chat_lang from misskaty.helper import fetch, use_chat_lang
from misskaty.vars import COMMAND_HANDLER, SUDO, SUPPORT_CHAT from misskaty.vars import COMMAND_HANDLER, SUDO, SUPPORT_CHAT
from utils import temp from utils import temp
@ -265,7 +264,6 @@ async def gen_invite(bot, message):
@app.on_message(filters.command(["adminlist"], COMMAND_HANDLER)) @app.on_message(filters.command(["adminlist"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
async def adminlist(_, message): async def adminlist(_, message):
if message.chat.type == enums.ChatType.PRIVATE: if message.chat.type == enums.ChatType.PRIVATE:
return await message.reply("Perintah ini hanya untuk grup") return await message.reply("Perintah ini hanya untuk grup")
@ -288,7 +286,6 @@ async def adminlist(_, message):
@app.on_message(filters.command(["kickme"], COMMAND_HANDLER)) @app.on_message(filters.command(["kickme"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
async def kickme(_, message): async def kickme(_, message):
reason = None reason = None
if len(message.text.split()) >= 2: if len(message.text.split()) >= 2:

View file

@ -30,7 +30,6 @@ from pyrogram.types import (
from database.imdb_db import add_imdbset, is_imdbset, remove_imdbset from database.imdb_db import add_imdbset, is_imdbset, remove_imdbset
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper import GENRES_EMOJI, Cache, fetch, get_random_string, search_jw from misskaty.helper import GENRES_EMOJI, Cache, fetch, get_random_string, search_jw
from utils import demoji from utils import demoji
@ -40,7 +39,6 @@ LIST_CARI = Cache(filename="imdb_cache.db", path="cache", in_memory=False)
# IMDB Choose Language # IMDB Choose Language
@app.on_cmd("imdb") @app.on_cmd("imdb")
@ratelimiter
async def imdb_choose(_, ctx: Message): async def imdb_choose(_, ctx: Message):
if len(ctx.command) == 1: if len(ctx.command) == 1:
return await ctx.reply_msg( return await ctx.reply_msg(
@ -76,7 +74,6 @@ async def imdb_choose(_, ctx: Message):
@app.on_cb("imdbset") @app.on_cb("imdbset")
@ratelimiter
async def imdblangset(_, query: CallbackQuery): async def imdblangset(_, query: CallbackQuery):
_, uid = query.data.split("#") _, uid = query.data.split("#")
if query.from_user.id != int(uid): if query.from_user.id != int(uid):
@ -101,7 +98,6 @@ async def imdblangset(_, query: CallbackQuery):
@app.on_cb("setimdb") @app.on_cb("setimdb")
@ratelimiter
async def imdbsetlang(_, query: CallbackQuery): async def imdbsetlang(_, query: CallbackQuery):
_, lang, uid = query.data.split("#") _, lang, uid = query.data.split("#")
if query.from_user.id != int(uid): if query.from_user.id != int(uid):
@ -246,7 +242,6 @@ async def imdb_search_en(kueri, message):
@app.on_cb("imdbcari") @app.on_cb("imdbcari")
@ratelimiter
async def imdbcari(_, query: CallbackQuery): async def imdbcari(_, query: CallbackQuery):
BTN = [] BTN = []
_, lang, msg, uid = query.data.split("#") _, lang, msg, uid = query.data.split("#")
@ -364,7 +359,6 @@ async def imdbcari(_, query: CallbackQuery):
@app.on_cb("imdbres_id") @app.on_cb("imdbres_id")
@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("#")
if query.from_user.id != int(userid): if query.from_user.id != int(userid):
@ -523,7 +517,6 @@ async def imdb_id_callback(self: Client, query: CallbackQuery):
@app.on_cb("imdbres_en") @app.on_cb("imdbres_en")
@ratelimiter
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):

View file

@ -10,7 +10,6 @@ from pyrogram.errors.exceptions.bad_request_400 import (
from pyrogram.errors.exceptions.forbidden_403 import ChatWriteForbidden from pyrogram.errors.exceptions.forbidden_403 import ChatWriteForbidden
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
__MODULE__ = "Inkick" __MODULE__ = "Inkick"
@ -23,7 +22,6 @@ __HELP__ = """"
@app.on_message( @app.on_message(
filters.incoming & ~filters.private & filters.command(["inkick"], COMMAND_HANDLER) filters.incoming & ~filters.private & filters.command(["inkick"], COMMAND_HANDLER)
) )
@ratelimiter
@app.adminsOnly("can_restrict_members") @app.adminsOnly("can_restrict_members")
async def inkick(_, message): async def inkick(_, message):
if message.sender_chat: if message.sender_chat:
@ -81,7 +79,6 @@ async def inkick(_, message):
@app.on_message( @app.on_message(
filters.incoming & ~filters.private & filters.command(["uname"], COMMAND_HANDLER) filters.incoming & ~filters.private & filters.command(["uname"], COMMAND_HANDLER)
) )
@ratelimiter
@app.adminsOnly("can_restrict_members") @app.adminsOnly("can_restrict_members")
async def uname(_, message): async def uname(_, message):
if message.sender_chat: if message.sender_chat:
@ -132,7 +129,6 @@ async def uname(_, message):
& ~filters.private & ~filters.private
& filters.command(["ban_ghosts"], COMMAND_HANDLER) & filters.command(["ban_ghosts"], COMMAND_HANDLER)
) )
@ratelimiter
@app.adminsOnly("can_restrict_members") @app.adminsOnly("can_restrict_members")
async def rm_delacc(_, message): async def rm_delacc(_, message):
if message.sender_chat: if message.sender_chat:
@ -178,7 +174,6 @@ async def rm_delacc(_, message):
@app.on_message( @app.on_message(
filters.incoming & ~filters.private & filters.command(["instatus"], COMMAND_HANDLER) filters.incoming & ~filters.private & filters.command(["instatus"], COMMAND_HANDLER)
) )
@ratelimiter
@app.adminsOnly("can_restrict_members") @app.adminsOnly("can_restrict_members")
async def instatus(client, message): async def instatus(client, message):
if message.sender_chat: if message.sender_chat:

View file

@ -26,7 +26,6 @@ from pyrogram.types import (
) )
from misskaty import BOT_USERNAME, app, user from misskaty import BOT_USERNAME, app, user
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper import GENRES_EMOJI, fetch, post_to_telegraph, search_jw from misskaty.helper import GENRES_EMOJI, fetch, post_to_telegraph, search_jw
from misskaty.plugins.dev import shell_exec from misskaty.plugins.dev import shell_exec
from misskaty.vars import USER_SESSION from misskaty.vars import USER_SESSION
@ -560,7 +559,6 @@ async def inline_menu(self, inline_query: InlineQuery):
@app.on_callback_query(filters.regex(r"prvtmsg\((.+)\)")) @app.on_callback_query(filters.regex(r"prvtmsg\((.+)\)"))
@ratelimiter
async def prvt_msg(_, c_q): async def prvt_msg(_, c_q):
msg_id = str(c_q.matches[0].group(1)) msg_id = str(c_q.matches[0].group(1))
@ -577,7 +575,6 @@ async def prvt_msg(_, c_q):
@app.on_callback_query(filters.regex(r"destroy\((.+)\)")) @app.on_callback_query(filters.regex(r"destroy\((.+)\)"))
@ratelimiter
async def destroy_msg(_, c_q): async def destroy_msg(_, c_q):
msg_id = str(c_q.matches[0].group(1)) msg_id = str(c_q.matches[0].group(1))
@ -596,7 +593,6 @@ async def destroy_msg(_, c_q):
@app.on_callback_query(filters.regex("^imdbinl#")) @app.on_callback_query(filters.regex("^imdbinl#"))
@ratelimiter
async def imdb_inl(_, query): async def imdb_inl(_, query):
i, cbuser, movie = query.data.split("#") i, cbuser, movie = query.data.split("#")
if cbuser == f"{query.from_user.id}": if cbuser == f"{query.from_user.id}":

View file

@ -10,12 +10,10 @@ import os
from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup, Message from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup, Message
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
# View Structure Telegram Message As JSON # View Structure Telegram Message As JSON
@app.on_cmd("json") @app.on_cmd("json")
@ratelimiter
async def jsonify(_, message: Message): async def jsonify(_, message: Message):
the_real_message = None the_real_message = None
reply_to_id = None reply_to_id = None

View file

@ -22,7 +22,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.misskaty_patch.listen.listen import ListenerTimeout from misskaty.core.misskaty_patch.listen.listen import ListenerTimeout
from misskaty.helper.human_read import get_readable_time from misskaty.helper.human_read import get_readable_time
from misskaty.helper.localization import use_chat_lang from misskaty.helper.localization import use_chat_lang
@ -72,7 +71,6 @@ def get_subname(lang, url, ext):
@app.on_message(filters.command(["ceksub", "extractmedia"], COMMAND_HANDLER)) @app.on_message(filters.command(["ceksub", "extractmedia"], COMMAND_HANDLER))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def ceksub(_, ctx: Message, strings): async def ceksub(_, ctx: Message, strings):
if len(ctx.command) == 1: if len(ctx.command) == 1:
@ -128,7 +126,6 @@ async def ceksub(_, ctx: Message, strings):
@app.on_message(filters.command(["converttosrt", "converttoass"], COMMAND_HANDLER)) @app.on_message(filters.command(["converttosrt", "converttoass"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def convertsrt(self: Client, ctx: Message, strings): async def convertsrt(self: Client, ctx: Message, strings):
reply = ctx.reply_to_message reply = ctx.reply_to_message
@ -168,7 +165,6 @@ async def convertsrt(self: Client, ctx: Message, strings):
@app.on_callback_query(filters.regex(r"^streamextract#")) @app.on_callback_query(filters.regex(r"^streamextract#"))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def stream_extract(self: Client, update: CallbackQuery, strings): async def stream_extract(self: Client, update: CallbackQuery, strings):
cb_data = update.data cb_data = update.data

View file

@ -15,7 +15,6 @@ from pyrogram.file_id import FileId
from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup, Message from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup, Message
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper import post_to_telegraph, progress_for_pyrogram, runcmd from misskaty.helper import post_to_telegraph, progress_for_pyrogram, runcmd
from misskaty.helper.localization import use_chat_lang from misskaty.helper.localization import use_chat_lang
from misskaty.helper.mediainfo_paste import mediainfo_paste from misskaty.helper.mediainfo_paste import mediainfo_paste
@ -24,7 +23,6 @@ from utils import get_file_id
@app.on_message(filters.command(["mediainfo"], COMMAND_HANDLER)) @app.on_message(filters.command(["mediainfo"], COMMAND_HANDLER))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def mediainfo(_, ctx: Message, strings): async def mediainfo(_, ctx: Message, strings):
if not ctx.from_user: if not ctx.from_user:

View file

@ -35,7 +35,6 @@ 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.core.decorator.ratelimiter import ratelimiter
from misskaty.helper.http import fetch from misskaty.helper.http import fetch
from misskaty.helper.tools import rentry from misskaty.helper.tools import rentry
from misskaty.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
@ -125,7 +124,6 @@ async def carbon_make(self: Client, ctx: Message):
@app.on_message(filters.command("readqr", COMMAND_HANDLER)) @app.on_message(filters.command("readqr", COMMAND_HANDLER))
@ratelimiter
async def readqr(c, m): async def readqr(c, m):
if not m.reply_to_message: if not m.reply_to_message:
return await m.reply("Please reply photo that contain valid QR Code.") return await m.reply("Please reply photo that contain valid QR Code.")
@ -145,7 +143,6 @@ async def readqr(c, m):
@app.on_message(filters.command("createqr", COMMAND_HANDLER)) @app.on_message(filters.command("createqr", COMMAND_HANDLER))
@ratelimiter
async def makeqr(c, m): async def makeqr(c, m):
if m.reply_to_message and m.reply_to_message.text: if m.reply_to_message and m.reply_to_message.text:
teks = m.reply_to_message.text teks = m.reply_to_message.text
@ -193,7 +190,6 @@ async def stackoverflow(_, message):
@app.on_message(filters.command(["google"], COMMAND_HANDLER)) @app.on_message(filters.command(["google"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
async def gsearch(_, message): async def gsearch(_, message):
if len(message.command) == 1: if len(message.command) == 1:
return await message.reply("Give a query to search in Google!") return await message.reply("Give a query to search in Google!")
@ -241,7 +237,6 @@ async def gsearch(_, message):
@app.on_message(filters.command(["tr", "trans", "translate"], COMMAND_HANDLER)) @app.on_message(filters.command(["tr", "trans", "translate"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
async def translate(_, message): async def translate(_, message):
if message.reply_to_message and ( if message.reply_to_message and (
message.reply_to_message.text or message.reply_to_message.caption message.reply_to_message.text or message.reply_to_message.caption
@ -273,7 +268,6 @@ async def translate(_, message):
@app.on_message(filters.command(["tts"], COMMAND_HANDLER)) @app.on_message(filters.command(["tts"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
async def tts_convert(_, message): async def tts_convert(_, message):
if message.reply_to_message and ( if message.reply_to_message and (
message.reply_to_message.text or message.reply_to_message.caption message.reply_to_message.text or message.reply_to_message.caption
@ -307,7 +301,6 @@ async def tts_convert(_, message):
@app.on_message(filters.command(["tosticker"], COMMAND_HANDLER)) @app.on_message(filters.command(["tosticker"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
async def tostick(client, message): async def tostick(client, message):
try: try:
if not message.reply_to_message or not message.reply_to_message.photo: if not message.reply_to_message or not message.reply_to_message.photo:
@ -324,7 +317,6 @@ async def tostick(client, message):
@app.on_message(filters.command(["toimage"], COMMAND_HANDLER)) @app.on_message(filters.command(["toimage"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
async def topho(client, message): async def topho(client, message):
try: try:
if not message.reply_to_message or not message.reply_to_message.sticker: if not message.reply_to_message or not message.reply_to_message.sticker:
@ -352,7 +344,6 @@ async def topho(client, message):
@app.on_message(filters.command(["id"], COMMAND_HANDLER)) @app.on_message(filters.command(["id"], COMMAND_HANDLER))
@ratelimiter
async def showid(_, message): async def showid(_, message):
chat_type = message.chat.type.value chat_type = message.chat.type.value
if chat_type == "private": if chat_type == "private":
@ -392,7 +383,6 @@ async def showid(_, message):
@app.on_message(filters.command(["info"], COMMAND_HANDLER)) @app.on_message(filters.command(["info"], COMMAND_HANDLER))
@ratelimiter
async def who_is(client, message): async def who_is(client, message):
# https://github.com/SpEcHiDe/PyroGramBot/blob/master/pyrobot/plugins/admemes/whois.py#L19 # https://github.com/SpEcHiDe/PyroGramBot/blob/master/pyrobot/plugins/admemes/whois.py#L19
if message.sender_chat: if message.sender_chat:
@ -464,7 +454,6 @@ async def who_is(client, message):
@app.on_callback_query(filters.regex("^close")) @app.on_callback_query(filters.regex("^close"))
@ratelimiter
async def close_callback(_, query: CallbackQuery): async def close_callback(_, query: CallbackQuery):
_, userid = query.data.split("#") _, userid = query.data.split("#")
if query.from_user.id != int(userid): if query.from_user.id != int(userid):
@ -489,7 +478,6 @@ async def mdlapi(title):
@app.on_message(filters.command(["mdl"], COMMAND_HANDLER)) @app.on_message(filters.command(["mdl"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
async def mdlsearch(_, message): async def mdlsearch(_, message):
if " " in message.text: if " " in message.text:
_, title = message.text.split(None, 1) _, title = message.text.split(None, 1)
@ -516,7 +504,6 @@ async def mdlsearch(_, message):
@app.on_callback_query(filters.regex("^mdls")) @app.on_callback_query(filters.regex("^mdls"))
@ratelimiter
async def mdl_callback(_, query: CallbackQuery): async def mdl_callback(_, query: CallbackQuery):
_, user, _, slug = query.data.split("#") _, user, _, slug = query.data.split("#")
if user == f"{query.from_user.id}": if user == f"{query.from_user.id}":

View file

@ -22,7 +22,6 @@ from pyrogram.types import ChatPermissions, InlineKeyboardButton, InlineKeyboard
from database.locale_db import get_db_lang from database.locale_db import get_db_lang
from misskaty import BOT_NAME, app, scheduler from misskaty import BOT_NAME, app, scheduler
from misskaty.core.decorator.permissions import require_admin from misskaty.core.decorator.permissions import require_admin
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper.localization import langdict, use_chat_lang from misskaty.helper.localization import langdict, use_chat_lang
from misskaty.vars import COMMAND_HANDLER, LOG_CHANNEL, TZ from misskaty.vars import COMMAND_HANDLER, LOG_CHANNEL, TZ
@ -256,7 +255,6 @@ async def nightmode_handler(_, msg, strings):
@app.on_callback_query(filters.regex(r"^nightmd$")) @app.on_callback_query(filters.regex(r"^nightmd$"))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def callbackanightmd(c, q, strings): async def callbackanightmd(c, q, strings):
await q.answer( await q.answer(
@ -264,4 +262,5 @@ async def callbackanightmd(c, q, strings):
bname=c.me.first_name, ver=__version__, pyver=platform.python_version() bname=c.me.first_name, ver=__version__, pyver=platform.python_version()
), ),
show_alert=True, show_alert=True,
cache_time=10,
) )

View file

@ -29,7 +29,6 @@ from database.notes_db import delete_note, get_note, get_note_names, save_note
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.permissions import adminsOnly from misskaty.core.decorator.permissions import adminsOnly
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.core.keyboard import ikb from misskaty.core.keyboard import ikb
from misskaty.helper.functions import extract_text_and_keyb from misskaty.helper.functions import extract_text_and_keyb
@ -46,7 +45,6 @@ __HELP__ = """/notes To Get All The Notes In The Chat.
@app.on_message(filters.command(["addnote", "save"]) & ~filters.private) @app.on_message(filters.command(["addnote", "save"]) & ~filters.private)
@adminsOnly("can_change_info") @adminsOnly("can_change_info")
@ratelimiter
async def save_notee(_, message): async def save_notee(_, message):
if len(message.command) < 2 or not message.reply_to_message: if len(message.command) < 2 or not message.reply_to_message:
await message.reply( await message.reply(
@ -73,7 +71,6 @@ async def save_notee(_, message):
@app.on_message(filters.command("notes") & ~filters.private) @app.on_message(filters.command("notes") & ~filters.private)
@capture_err @capture_err
@ratelimiter
async def get_notes(_, message): async def get_notes(_, message):
chat_id = message.chat.id chat_id = message.chat.id
@ -90,7 +87,6 @@ async def get_notes(_, message):
@app.on_message(filters.regex(r"^#.+") & filters.text & ~filters.private) @app.on_message(filters.regex(r"^#.+") & filters.text & ~filters.private)
@capture_err @capture_err
@ratelimiter
async def get_one_note(_, message): async def get_one_note(_, message):
name = message.text.replace("#", "", 1) name = message.text.replace("#", "", 1)
if not name: if not name:
@ -115,7 +111,6 @@ async def get_one_note(_, message):
@app.on_message(filters.command(["delnote", "clear"]) & ~filters.private) @app.on_message(filters.command(["delnote", "clear"]) & ~filters.private)
@adminsOnly("can_change_info") @adminsOnly("can_change_info")
@ratelimiter
async def del_note(_, message): async def del_note(_, message):
if len(message.command) == 1: if len(message.command) == 1:
return await message.reply("**Usage**\n__/delnote [NOTE_NAME]__") return await message.reply("**Usage**\n__/delnote [NOTE_NAME]__")

View file

@ -14,7 +14,6 @@ from telegraph.aio import Telegraph
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.helper import fetch, use_chat_lang from misskaty.helper import fetch, use_chat_lang
from misskaty.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
@ -24,7 +23,6 @@ __HELP__ = "/ocr [reply to photo] - Read Text From Image"
@app.on_message(filters.command(["ocr"], COMMAND_HANDLER)) @app.on_message(filters.command(["ocr"], COMMAND_HANDLER))
@capture_err @capture_err
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def ocr(_, ctx: Message, strings): async def ocr(_, ctx: Message, strings):
reply = ctx.reply_to_message reply = ctx.reply_to_message

View file

@ -12,7 +12,6 @@ from pyrogram import filters
from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper import fetch, post_to_telegraph, rentry from misskaty.helper import fetch, post_to_telegraph, rentry
from misskaty.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
@ -66,7 +65,6 @@ pattern = compiles(r"^text/|json$|yaml$|xml$|toml$|x-sh$|x-shellscript$|x-subrip
@app.on_message(filters.command(["tgraph"], COMMAND_HANDLER)) @app.on_message(filters.command(["tgraph"], COMMAND_HANDLER))
@ratelimiter
async def telegraph_paste(_, message): async def telegraph_paste(_, message):
reply = message.reply_to_message reply = message.reply_to_message
if not reply and len(message.command) < 2: if not reply and len(message.command) < 2:
@ -166,7 +164,6 @@ async def telegraph_paste(_, message):
# Default Paste to Wastebin using Deta # Default Paste to Wastebin using Deta
@app.on_message(filters.command(["paste"], COMMAND_HANDLER)) @app.on_message(filters.command(["paste"], COMMAND_HANDLER))
@ratelimiter
async def wastepaste(_, message): async def wastepaste(_, message):
reply = message.reply_to_message reply = message.reply_to_message
target = str(message.command[0]).split("@", maxsplit=1)[0] target = str(message.command[0]).split("@", maxsplit=1)[0]
@ -239,7 +236,6 @@ async def wastepaste(_, message):
# Nekobin Paste # Nekobin Paste
@app.on_message(filters.command(["neko"], COMMAND_HANDLER)) @app.on_message(filters.command(["neko"], COMMAND_HANDLER))
@ratelimiter
async def nekopaste(_, message): async def nekopaste(_, message):
reply = message.reply_to_message reply = message.reply_to_message
target = str(message.command[0]).split("@", maxsplit=1)[0] target = str(message.command[0]).split("@", maxsplit=1)[0]
@ -309,7 +305,6 @@ async def nekopaste(_, message):
# Paste as spacebin # Paste as spacebin
@app.on_message(filters.command(["sbin"], COMMAND_HANDLER)) @app.on_message(filters.command(["sbin"], COMMAND_HANDLER))
@ratelimiter
async def spacebinn(_, message): async def spacebinn(_, message):
reply = message.reply_to_message reply = message.reply_to_message
target = str(message.command[0]).split("@", maxsplit=1)[0] target = str(message.command[0]).split("@", maxsplit=1)[0]
@ -379,7 +374,6 @@ async def spacebinn(_, message):
# Rentry paste # Rentry paste
@app.on_message(filters.command(["rentry"], COMMAND_HANDLER)) @app.on_message(filters.command(["rentry"], COMMAND_HANDLER))
@ratelimiter
async def rentrypaste(_, message): async def rentrypaste(_, message):
reply = message.reply_to_message reply = message.reply_to_message
target = str(message.command[0]).split("@", maxsplit=1)[0] target = str(message.command[0]).split("@", maxsplit=1)[0]
@ -446,7 +440,6 @@ async def rentrypaste(_, message):
# Tempaste pastebin # Tempaste pastebin
@app.on_message(filters.command(["temp_paste"], COMMAND_HANDLER)) @app.on_message(filters.command(["temp_paste"], COMMAND_HANDLER))
@ratelimiter
async def tempaste(_, message): async def tempaste(_, message):
reply = message.reply_to_message reply = message.reply_to_message
target = str(message.command[0]).split("@", maxsplit=1)[0] target = str(message.command[0]).split("@", maxsplit=1)[0]

View file

@ -15,13 +15,11 @@ from pyrogram import filters
from pyrogram.types import Message from pyrogram.types import Message
from misskaty import app, botStartTime, misskaty_version from misskaty import app, botStartTime, misskaty_version
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper.human_read import get_readable_time from misskaty.helper.human_read import get_readable_time
from misskaty.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
@app.on_message(filters.command(["ping"], COMMAND_HANDLER)) @app.on_message(filters.command(["ping"], COMMAND_HANDLER))
@ratelimiter
async def ping(_, ctx: Message): async def ping(_, ctx: Message):
currentTime = get_readable_time(time.time() - botStartTime) currentTime = get_readable_time(time.time() - botStartTime)
start_t = time.time() start_t = time.time()
@ -34,7 +32,6 @@ async def ping(_, ctx: Message):
@app.on_message(filters.command(["ping_dc"], COMMAND_HANDLER)) @app.on_message(filters.command(["ping_dc"], COMMAND_HANDLER))
@ratelimiter
async def ping_handler(_, ctx: Message): async def ping_handler(_, ctx: Message):
m = await ctx.reply_msg("Pinging datacenters...") m = await ctx.reply_msg("Pinging datacenters...")
async with Lock(): async with Lock():

View file

@ -10,7 +10,6 @@ from pyrogram.errors import QueryIdInvalid
from pyrogram.types import CallbackQuery, Message from pyrogram.types import CallbackQuery, Message
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper import Cache, fetch from misskaty.helper import Cache, fetch
from misskaty.plugins.web_scraper import split_arr from misskaty.plugins.web_scraper import split_arr
from misskaty.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
@ -43,7 +42,6 @@ async def getDataPypi(msg, kueri, CurrentPage, user):
@app.on_message(filters.command(["pypi"], COMMAND_HANDLER)) @app.on_message(filters.command(["pypi"], COMMAND_HANDLER))
@ratelimiter
async def pypi_s(_, ctx: Message): async def pypi_s(_, ctx: Message):
kueri = " ".join(ctx.command[1:]) kueri = " ".join(ctx.command[1:])
if not kueri: if not kueri:
@ -68,7 +66,6 @@ async def pypi_s(_, ctx: Message):
@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))
@ratelimiter
async def pypipage_callback(_, callback_query: CallbackQuery): async def pypipage_callback(_, callback_query: CallbackQuery):
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) return await callback_query.answer("Not yours..", True)
@ -103,7 +100,6 @@ async def pypipage_callback(_, callback_query: CallbackQuery):
@app.on_callback_query(filters.create(lambda _, __, query: "pypidata#" in query.data)) @app.on_callback_query(filters.create(lambda _, __, query: "pypidata#" in query.data))
@ratelimiter
async def pypi_getdata(_, callback_query: CallbackQuery): async def pypi_getdata(_, callback_query: CallbackQuery):
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) return await callback_query.answer("Not yours..", True)

View file

@ -8,7 +8,6 @@ from pyrogram import Client, filters
from pyrogram.types import Message from pyrogram.types import Message
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper.http import fetch from misskaty.helper.http import fetch
__MODULE__ = "Fun" __MODULE__ = "Fun"
@ -251,7 +250,6 @@ def isArgInt(txt) -> list:
@app.on_message(filters.command(["q", "qr"]) & filters.reply) @app.on_message(filters.command(["q", "qr"]) & filters.reply)
@ratelimiter
async def msg_quotly_cmd(self: Client, ctx: Message): async def msg_quotly_cmd(self: Client, ctx: Message):
is_reply = False is_reply = False
if ctx.command[0].endswith("r"): if ctx.command[0].endswith("r"):

View file

@ -15,7 +15,6 @@ from database.sangmata_db import (
) )
from misskaty import app from misskaty import app
from misskaty.core.decorator.permissions import adminsOnly from misskaty.core.decorator.permissions import adminsOnly
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper.localization import use_chat_lang from misskaty.helper.localization import use_chat_lang
from misskaty.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
@ -97,7 +96,6 @@ async def cek_mataa(_, ctx: Message, strings):
& ~filters.via_bot & ~filters.via_bot
) )
@adminsOnly("can_change_info") @adminsOnly("can_change_info")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def set_mataa(_, ctx: Message, strings): async def set_mataa(_, ctx: Message, strings):
if len(ctx.command) == 1: if len(ctx.command) == 1:

View file

@ -9,11 +9,9 @@ from pyrogram.errors import MessageEmpty
from pyrogram.types import Message from pyrogram.types import Message
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
@app.on_message(filters.regex(r"^s/(.+)?/(.+)?(/.+)?") & filters.reply) @app.on_message(filters.regex(r"^s/(.+)?/(.+)?(/.+)?") & filters.reply)
@ratelimiter
async def sed(self: Client, ctx: Message): async def sed(self: Client, ctx: Message):
exp = regex.split(r"(?<![^\\]\\)/", ctx.text) exp = regex.split(r"(?<![^\\]\\)/", ctx.text)
pattern = exp[1] pattern = exp[1]

View file

@ -23,7 +23,6 @@ from telethon.errors import (
from telethon.sessions import StringSession from telethon.sessions import StringSession
from misskaty import app from misskaty import app
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.vars import API_HASH, API_ID, COMMAND_HANDLER from misskaty.vars import API_HASH, API_ID, COMMAND_HANDLER
@ -75,7 +74,6 @@ async def is_batal(msg):
@app.on_callback_query( @app.on_callback_query(
filters.regex(pattern=r"^(genstring|pyrogram|pyrogram_bot|telethon_bot|telethon)$") filters.regex(pattern=r"^(genstring|pyrogram|pyrogram_bot|telethon_bot|telethon)$")
) )
@ratelimiter
async def callbackgenstring(bot, callback_query): async def callbackgenstring(bot, callback_query):
query = callback_query.matches[0].group(1) query = callback_query.matches[0].group(1)
if query == "genstring": if query == "genstring":
@ -115,7 +113,6 @@ async def callbackgenstring(bot, callback_query):
@app.on_message( @app.on_message(
filters.private & ~filters.forwarded & filters.command("genstring", COMMAND_HANDLER) filters.private & ~filters.forwarded & filters.command("genstring", COMMAND_HANDLER)
) )
@ratelimiter
async def genstringg(_, msg): async def genstringg(_, msg):
await msg.reply(ask_ques, reply_markup=InlineKeyboardMarkup(buttons_ques)) await msg.reply(ask_ques, reply_markup=InlineKeyboardMarkup(buttons_ques))

View file

@ -16,7 +16,6 @@ from pyrogram.types import (
) )
from misskaty import BOT_NAME, BOT_USERNAME, HELPABLE, app from misskaty import BOT_NAME, BOT_USERNAME, HELPABLE, app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper import bot_sys_stats, paginate_modules from misskaty.helper import bot_sys_stats, paginate_modules
from misskaty.helper.localization import use_chat_lang from misskaty.helper.localization import use_chat_lang
from misskaty.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
@ -105,7 +104,6 @@ async def start(_, ctx: Message, strings):
@app.on_callback_query(filters.regex("bot_commands")) @app.on_callback_query(filters.regex("bot_commands"))
@ratelimiter
async def commands_callbacc(_, cb: CallbackQuery): async def commands_callbacc(_, cb: CallbackQuery):
text, keyb = await help_parser(cb.from_user.mention) text, keyb = await help_parser(cb.from_user.mention)
await app.send_message( await app.send_message(
@ -117,14 +115,12 @@ async def commands_callbacc(_, cb: CallbackQuery):
@app.on_callback_query(filters.regex("stats_callback")) @app.on_callback_query(filters.regex("stats_callback"))
@ratelimiter
async def stats_callbacc(_, cb: CallbackQuery): async def stats_callbacc(_, cb: CallbackQuery):
text = await bot_sys_stats() text = await bot_sys_stats()
await app.answer_callback_query(cb.id, text, show_alert=True) await app.answer_callback_query(cb.id, text, show_alert=True)
@app.on_message(filters.command("help", COMMAND_HANDLER)) @app.on_message(filters.command("help", COMMAND_HANDLER))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def help_command(_, ctx: Message, strings): async def help_command(_, ctx: Message, strings):
if ctx.chat.type.value != "private": if ctx.chat.type.value != "private":
@ -189,7 +185,6 @@ If you want give coffee to my owner you can send /donate command for more info.
@app.on_callback_query(filters.regex(r"help_(.*?)")) @app.on_callback_query(filters.regex(r"help_(.*?)"))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def help_button(self: Client, query: CallbackQuery, strings): async def help_button(self: Client, query: CallbackQuery, strings):
home_match = re.match(r"help_home\((.+?)\)", query.data) home_match = re.match(r"help_home\((.+?)\)", query.data)

View file

@ -28,7 +28,6 @@ from pyrogram.raw.types import (
from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup, Message from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup, Message
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper import fetch, use_chat_lang from misskaty.helper import fetch, use_chat_lang
from misskaty.vars import COMMAND_HANDLER, LOG_CHANNEL from misskaty.vars import COMMAND_HANDLER, LOG_CHANNEL
@ -60,7 +59,6 @@ SUPPORTED_TYPES = ["jpeg", "png", "webp"]
@app.on_cmd("getsticker") @app.on_cmd("getsticker")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def getsticker_(self: Client, ctx: Message, strings): async def getsticker_(self: Client, ctx: Message, strings):
if not ctx.reply_to_message or ctx.reply_to_message.sticker: if not ctx.reply_to_message or ctx.reply_to_message.sticker:
@ -86,7 +84,6 @@ async def getsticker_(self: Client, ctx: Message, strings):
@app.on_message(filters.command("stickerid", COMMAND_HANDLER) & filters.reply) @app.on_message(filters.command("stickerid", COMMAND_HANDLER) & filters.reply)
@ratelimiter
async def getstickerid(_, ctx: Message): async def getstickerid(_, ctx: Message):
if ctx.reply_to_message.sticker: if ctx.reply_to_message.sticker:
await ctx.reply_msg( await ctx.reply_msg(
@ -97,7 +94,6 @@ async def getstickerid(_, ctx: Message):
@app.on_message(filters.command("unkang", COMMAND_HANDLER) & filters.reply) @app.on_message(filters.command("unkang", COMMAND_HANDLER) & filters.reply)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def unkangs(self: Client, ctx: Message, strings): async def unkangs(self: Client, ctx: Message, strings):
if not ctx.from_user: if not ctx.from_user:
@ -122,7 +118,6 @@ async def unkangs(self: Client, ctx: Message, strings):
@app.on_cmd(["curi", "kang"]) @app.on_cmd(["curi", "kang"])
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def kang_sticker(self: Client, ctx: Message, strings): async def kang_sticker(self: Client, ctx: Message, strings):
if not ctx.from_user: if not ctx.from_user:

View file

@ -13,7 +13,6 @@ from pyrogram import filters
from pyrogram.types import CallbackQuery, Message from pyrogram.types import CallbackQuery, Message
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper.subscene_helper import down_page from misskaty.helper.subscene_helper import down_page
from misskaty.vars import COMMAND_HANDLER from misskaty.vars import COMMAND_HANDLER
@ -114,7 +113,6 @@ async def getListSub(msg, link, CurrentPage, user):
# Subscene CMD # Subscene CMD
@app.on_message(filters.command(["subscene"], COMMAND_HANDLER)) @app.on_message(filters.command(["subscene"], COMMAND_HANDLER))
@ratelimiter
async def subscene_cmd(_, ctx: Message): async def subscene_cmd(_, ctx: Message):
if not ctx.input: if not ctx.input:
return await ctx.reply_msg( return await ctx.reply_msg(
@ -147,7 +145,6 @@ async def subscene_cmd(_, ctx: Message):
@app.on_callback_query( @app.on_callback_query(
filters.create(lambda _, __, query: "subscenepage#" in query.data) filters.create(lambda _, __, query: "subscenepage#" in query.data)
) )
@ratelimiter
async def subpage_callback(_, callback_query: CallbackQuery): async def subpage_callback(_, callback_query: CallbackQuery):
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) return await callback_query.answer("Not yours..", True)
@ -185,7 +182,6 @@ async def subpage_callback(_, callback_query: CallbackQuery):
# Callback list title # Callback list title
@app.on_callback_query(filters.create(lambda _, __, query: "sublist#" in query.data)) @app.on_callback_query(filters.create(lambda _, __, query: "sublist#" in query.data))
@ratelimiter
async def subdlpage_callback(_, callback_query: CallbackQuery): async def subdlpage_callback(_, callback_query: CallbackQuery):
if callback_query.from_user.id != int(callback_query.data.split("#")[4]): if callback_query.from_user.id != int(callback_query.data.split("#")[4]):
return await callback_query.answer("Not yours..", True) return await callback_query.answer("Not yours..", True)
@ -226,7 +222,6 @@ async def subdlpage_callback(_, callback_query: CallbackQuery):
@app.on_callback_query( @app.on_callback_query(
filters.create(lambda _, __, query: "extractsubs#" in query.data) filters.create(lambda _, __, query: "extractsubs#" in query.data)
) )
@ratelimiter
async def dlsub_callback(_, callback_query: CallbackQuery): async def dlsub_callback(_, callback_query: CallbackQuery):
if callback_query.from_user.id != int(callback_query.data.split("#")[4]): if callback_query.from_user.id != int(callback_query.data.split("#")[4]):
return await callback_query.answer("Not yours..", True) return await callback_query.answer("Not yours..", True)

View file

@ -2,7 +2,6 @@ from pykeyboard import InlineKeyboard
from pyrogram.types import CallbackQuery, Message from pyrogram.types import CallbackQuery, Message
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper.http import fetch from misskaty.helper.http import fetch
@ -40,7 +39,6 @@ async def getData(chat_id, message_id, GetWord, CurrentPage):
@app.on_cmd("ud", no_channel=True) @app.on_cmd("ud", no_channel=True)
@ratelimiter
async def urbanDictionary(_, ctx: Message): async def urbanDictionary(_, ctx: Message):
message_id = ctx.id message_id = ctx.id
chat_id = ctx.chat.id chat_id = ctx.chat.id
@ -61,7 +59,6 @@ async def urbanDictionary(_, ctx: Message):
@app.on_cb("pagination_urban#") @app.on_cb("pagination_urban#")
@ratelimiter
async def ud_callback(_, callback_query: CallbackQuery): async def ud_callback(_, callback_query: CallbackQuery):
message_id = callback_query.message.id message_id = callback_query.message.id
chat_id = callback_query.message.chat.id chat_id = callback_query.message.chat.id

View file

@ -16,7 +16,6 @@ from pyrogram.types import Message
from database import dbname from database import dbname
from misskaty import app from misskaty import app
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper import Cache, Kusonime, fetch, use_chat_lang from misskaty.helper import Cache, Kusonime, fetch, use_chat_lang
__MODULE__ = "WebScraper" __MODULE__ = "WebScraper"
@ -531,7 +530,6 @@ async def getSame(msg, query, current_page, strings):
# SameHada CMD # SameHada CMD
@app.on_cmd("samehadaku", no_channel=True) @app.on_cmd("samehadaku", no_channel=True)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def same_search(_, msg, strings): async def same_search(_, msg, strings):
query = msg.text.split(" ", 1)[1] if len(msg.command) > 1 else None query = msg.text.split(" ", 1)[1] if len(msg.command) > 1 else None
@ -549,7 +547,6 @@ async def same_search(_, msg, strings):
# Terbit21 CMD # Terbit21 CMD
@app.on_cmd("terbit21", no_channel=True) @app.on_cmd("terbit21", no_channel=True)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def terbit21_s(_, message, strings): async def terbit21_s(_, message, strings):
kueri = " ".join(message.command[1:]) kueri = " ".join(message.command[1:])
@ -574,7 +571,6 @@ async def terbit21_s(_, message, strings):
# LK21 CMD # LK21 CMD
@app.on_cmd("lk21", no_channel=True) @app.on_cmd("lk21", no_channel=True)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def lk21_s(_, message, strings): async def lk21_s(_, message, strings):
kueri = " ".join(message.command[1:]) kueri = " ".join(message.command[1:])
@ -597,7 +593,6 @@ async def lk21_s(_, message, strings):
# Pahe CMD # Pahe CMD
@app.on_cmd("pahe", no_channel=True) @app.on_cmd("pahe", no_channel=True)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def pahe_s(_, message, strings): async def pahe_s(_, message, strings):
kueri = " ".join(message.command[1:]) kueri = " ".join(message.command[1:])
@ -620,7 +615,6 @@ async def pahe_s(_, message, strings):
# Gomov CMD # Gomov CMD
@app.on_cmd("gomov", no_channel=True) @app.on_cmd("gomov", no_channel=True)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def gomov_s(_, message, strings): async def gomov_s(_, message, strings):
kueri = " ".join(message.command[1:]) kueri = " ".join(message.command[1:])
@ -647,7 +641,6 @@ async def gomov_s(_, message, strings):
# MelongMovie CMD # MelongMovie CMD
@app.on_cmd("melongmovie", no_channel=True) @app.on_cmd("melongmovie", no_channel=True)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def melong_s(_, message, strings): async def melong_s(_, message, strings):
kueri = " ".join(message.command[1:]) kueri = " ".join(message.command[1:])
@ -681,7 +674,6 @@ async def melong_s(_, message, strings):
# Savefilm21 CMD # Savefilm21 CMD
@app.on_cmd("savefilm21", no_channel=True) @app.on_cmd("savefilm21", no_channel=True)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def savefilm_s(_, message, strings): async def savefilm_s(_, message, strings):
kueri = " ".join(message.command[1:]) kueri = " ".join(message.command[1:])
@ -710,7 +702,6 @@ async def savefilm_s(_, message, strings):
# Kusonime CMD # Kusonime CMD
@app.on_cmd("kusonime", no_channel=True) @app.on_cmd("kusonime", no_channel=True)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def kusonime_s(_, message, strings): async def kusonime_s(_, message, strings):
kueri = " ".join(message.command[1:]) kueri = " ".join(message.command[1:])
@ -739,7 +730,6 @@ async def kusonime_s(_, message, strings):
# Lendrive CMD # Lendrive CMD
@app.on_cmd("lendrive", no_channel=True) @app.on_cmd("lendrive", no_channel=True)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def lendrive_s(_, ctx: Message, strings): async def lendrive_s(_, ctx: Message, strings):
kueri = ctx.input kueri = ctx.input
@ -766,7 +756,6 @@ async def lendrive_s(_, ctx: Message, strings):
# Movieku CMD # Movieku CMD
@app.on_cmd("movieku", no_channel=True) @app.on_cmd("movieku", no_channel=True)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def movieku_s(_, ctx: Message, strings): async def movieku_s(_, ctx: Message, strings):
kueri = ctx.input kueri = ctx.input
@ -791,7 +780,6 @@ async def movieku_s(_, ctx: Message, strings):
# Savefillm21 Page Callback # Savefillm21 Page Callback
@app.on_cb("page_sf21#") @app.on_cb("page_sf21#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def sf21page_callback(_, callback_query, strings): async def sf21page_callback(_, callback_query, strings):
try: try:
@ -836,7 +824,6 @@ async def sf21page_callback(_, callback_query, strings):
# Kuso Page Callback # Kuso Page Callback
@app.on_cb("page_kuso#") @app.on_cb("page_kuso#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def kusopage_callback(_, callback_query, strings): async def kusopage_callback(_, callback_query, strings):
try: try:
@ -881,7 +868,6 @@ async def kusopage_callback(_, callback_query, strings):
# Lendrive Page Callback # Lendrive Page Callback
@app.on_cb("page_lendrive#") @app.on_cb("page_lendrive#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def lendrivepage_callback(_, callback_query, strings): async def lendrivepage_callback(_, callback_query, strings):
try: try:
@ -924,7 +910,6 @@ async def lendrivepage_callback(_, callback_query, strings):
# Movieku Page Callback # Movieku Page Callback
@app.on_cb("page_movieku#") @app.on_cb("page_movieku#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def moviekupage_callback(_, callback_query, strings): async def moviekupage_callback(_, callback_query, strings):
try: try:
@ -961,7 +946,6 @@ async def moviekupage_callback(_, callback_query, strings):
# Samehada Page Callback # Samehada Page Callback
@app.on_cb("page_same#") @app.on_cb("page_same#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def samepg(_, query, strings): async def samepg(_, query, strings):
try: try:
@ -993,7 +977,6 @@ async def samepg(_, query, strings):
# Terbit21 Page Callback # Terbit21 Page Callback
@app.on_cb("page_terbit21#") @app.on_cb("page_terbit21#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def terbit21page_callback(_, callback_query, strings): async def terbit21page_callback(_, callback_query, strings):
try: try:
@ -1030,7 +1013,6 @@ async def terbit21page_callback(_, callback_query, strings):
# Page Callback Melong # Page Callback Melong
@app.on_cb("page_melong#") @app.on_cb("page_melong#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def melongpage_callback(_, callback_query, strings): async def melongpage_callback(_, callback_query, strings):
try: try:
@ -1073,7 +1055,6 @@ async def melongpage_callback(_, callback_query, strings):
# Lk21 Page Callback # Lk21 Page Callback
@app.on_cb("page_lk21#") @app.on_cb("page_lk21#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def lk21page_callback(_, callback_query, strings): async def lk21page_callback(_, callback_query, strings):
try: try:
@ -1110,7 +1091,6 @@ async def lk21page_callback(_, callback_query, strings):
# Pahe Page Callback # Pahe Page Callback
@app.on_cb("page_pahe#") @app.on_cb("page_pahe#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def pahepage_callback(_, callback_query, strings): async def pahepage_callback(_, callback_query, strings):
try: try:
@ -1147,7 +1127,6 @@ async def pahepage_callback(_, callback_query, strings):
# Gomov Page Callback # Gomov Page Callback
@app.on_cb("page_gomov#") @app.on_cb("page_gomov#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def gomovpage_callback(_, callback_query, strings): async def gomovpage_callback(_, callback_query, strings):
try: try:
@ -1191,7 +1170,6 @@ async def gomovpage_callback(_, callback_query, strings):
### Scrape DDL Link From Web ### ### Scrape DDL Link From Web ###
# Kusonime DDL # Kusonime DDL
@app.on_cb("kusoextract#") @app.on_cb("kusoextract#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def kusonime_scrap(client, callback_query, strings): async def kusonime_scrap(client, callback_query, strings):
try: try:
@ -1244,7 +1222,6 @@ async def kusonime_scrap(client, callback_query, strings):
# Savefilm21 DDL # Savefilm21 DDL
@app.on_cb("sf21extract#") @app.on_cb("sf21extract#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def savefilm21_scrap(_, callback_query, strings): async def savefilm21_scrap(_, callback_query, strings):
try: try:
@ -1281,7 +1258,6 @@ async def savefilm21_scrap(_, callback_query, strings):
# Scrape Link Download Movieku.CC # Scrape Link Download Movieku.CC
@app.on_cmd("movieku_scrap#") @app.on_cmd("movieku_scrap#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def muviku_scrap(_, message, strings): async def muviku_scrap(_, message, strings):
try: try:
@ -1310,7 +1286,6 @@ async def muviku_scrap(_, message, strings):
# Scrape DDL Link Melongmovie # Scrape DDL Link Melongmovie
@app.on_cb("melongextract#") @app.on_cb("melongextract#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def melong_scrap(_, callback_query, strings): async def melong_scrap(_, callback_query, strings):
try: try:
@ -1350,7 +1325,6 @@ async def melong_scrap(_, callback_query, strings):
# Scrape DDL Link Gomov # Scrape DDL Link Gomov
@app.on_cb("gomovextract#") @app.on_cb("gomovextract#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def gomov_dl(_, callback_query, strings): async def gomov_dl(_, callback_query, strings):
try: try:
@ -1390,7 +1364,6 @@ async def gomov_dl(_, callback_query, strings):
@app.on_cb("lendriveextract#") @app.on_cb("lendriveextract#")
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def lendrive_dl(_, callback_query, strings): async def lendrive_dl(_, callback_query, strings):
if callback_query.from_user.id != int(callback_query.data.split("#")[3]): if callback_query.from_user.id != int(callback_query.data.split("#")[3]):

View file

@ -10,7 +10,6 @@ from pySmartDL import SmartDL
from misskaty import app from misskaty import app
from misskaty.core.decorator import new_task from misskaty.core.decorator import new_task
from misskaty.core.decorator.ratelimiter import ratelimiter
from misskaty.helper.localization import use_chat_lang from misskaty.helper.localization import use_chat_lang
__MODULE__ = "WebSS" __MODULE__ = "WebSS"
@ -20,7 +19,6 @@ __HELP__ = """
@app.on_cmd("webss") @app.on_cmd("webss")
@ratelimiter
@new_task @new_task
@use_chat_lang() @use_chat_lang()
async def take_ss(_, ctx: Message, strings): async def take_ss(_, ctx: Message, strings):

View file

@ -26,7 +26,7 @@ from pyrogram.types import (
from misskaty import app from misskaty import app
from misskaty.core import pyro_cooldown from misskaty.core import pyro_cooldown
from misskaty.core.decorator import capture_err, new_task, ratelimiter from misskaty.core.decorator import capture_err, new_task
from misskaty.helper import fetch, use_chat_lang from misskaty.helper import fetch, use_chat_lang
from misskaty.vars import COMMAND_HANDLER, LOG_CHANNEL, SUDO from misskaty.vars import COMMAND_HANDLER, LOG_CHANNEL, SUDO
@ -40,7 +40,6 @@ def rand_key():
@app.on_cmd("ytsearch", no_channel=True) @app.on_cmd("ytsearch", no_channel=True)
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def ytsearch(_, ctx: Message, strings): async def ytsearch(_, ctx: Message, strings):
if len(ctx.command) == 1: if len(ctx.command) == 1:
@ -91,7 +90,6 @@ async def ytsearch(_, ctx: Message, strings):
& pyro_cooldown.wait(60) & pyro_cooldown.wait(60)
) )
@capture_err @capture_err
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def ytdownv2(_, ctx: Message, strings): async def ytdownv2(_, ctx: Message, strings):
if not ctx.from_user: if not ctx.from_user:
@ -133,7 +131,6 @@ async def ytdownv2(_, ctx: Message, strings):
@app.on_cb(filters.regex(r"^yt_listall")) @app.on_cb(filters.regex(r"^yt_listall"))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def ytdl_listall_callback(_, cq: CallbackQuery, strings): async def ytdl_listall_callback(_, cq: CallbackQuery, strings):
if cq.from_user.id != cq.message.reply_to_message.from_user.id: if cq.from_user.id != cq.message.reply_to_message.from_user.id:
@ -149,7 +146,6 @@ async def ytdl_listall_callback(_, cq: CallbackQuery, strings):
@app.on_callback_query(filters.regex(r"^yt_extract_info")) @app.on_callback_query(filters.regex(r"^yt_extract_info"))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def ytdl_extractinfo_callback(_, cq: CallbackQuery, strings): async def ytdl_extractinfo_callback(_, cq: CallbackQuery, strings):
if cq.from_user.id != cq.message.reply_to_message.from_user.id: if cq.from_user.id != cq.message.reply_to_message.from_user.id:
@ -187,7 +183,6 @@ async def ytdl_extractinfo_callback(_, cq: CallbackQuery, strings):
@app.on_callback_query(filters.regex(r"^yt_(gen|dl)")) @app.on_callback_query(filters.regex(r"^yt_(gen|dl)"))
@ratelimiter
@use_chat_lang() @use_chat_lang()
@new_task @new_task
async def ytdl_gendl_callback(self: Client, cq: CallbackQuery, strings): async def ytdl_gendl_callback(self: Client, cq: CallbackQuery, strings):
@ -245,7 +240,6 @@ async def ytdl_gendl_callback(self: Client, cq: CallbackQuery, strings):
@app.on_callback_query(filters.regex(r"^yt_cancel")) @app.on_callback_query(filters.regex(r"^yt_cancel"))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def ytdl_cancel_callback(_, cq: CallbackQuery, strings): async def ytdl_cancel_callback(_, cq: CallbackQuery, strings):
if cq.from_user.id != cq.message.reply_to_message.from_user.id: if cq.from_user.id != cq.message.reply_to_message.from_user.id:
@ -264,7 +258,6 @@ async def ytdl_cancel_callback(_, cq: CallbackQuery, strings):
@app.on_callback_query(filters.regex(r"^ytdl_scroll")) @app.on_callback_query(filters.regex(r"^ytdl_scroll"))
@ratelimiter
@use_chat_lang() @use_chat_lang()
async def ytdl_scroll_callback(_, cq: CallbackQuery, strings): async def ytdl_scroll_callback(_, cq: CallbackQuery, strings):
if cq.from_user.id != cq.message.reply_to_message.from_user.id: if cq.from_user.id != cq.message.reply_to_message.from_user.id: