PMGuard: Allow bots
This commit is contained in:
@@ -6,13 +6,12 @@ import sys
|
||||
import traceback
|
||||
from io import BytesIO
|
||||
|
||||
from pyrogram import Client, filters, idle
|
||||
from pyrogram.enums import ParseMode
|
||||
from pyrogram.types import Message as Msg
|
||||
|
||||
from app import DB_CLIENT, LOGGER, Config, Message
|
||||
from app.core.decorators.add_cmd import AddCmd
|
||||
from app.utils.aiohttp_tools import aio
|
||||
from pyrogram import Client, filters, idle
|
||||
from pyrogram.enums import ParseMode
|
||||
from pyrogram.types import Message as Msg
|
||||
|
||||
|
||||
def import_modules():
|
||||
@@ -126,5 +125,6 @@ class BOT(Client, AddCmd):
|
||||
return Message.parse_message(message=message)
|
||||
doc = BytesIO(bytes(text, encoding="utf-8"))
|
||||
doc.name = name
|
||||
# fmt:skip
|
||||
return await super().send_document(chat_id=chat_id, document=doc, **kwargs)
|
||||
return (await super().send_document(
|
||||
chat_id=chat_id, document=doc, **kwargs
|
||||
)) # fmt: skip
|
||||
|
||||
@@ -29,7 +29,9 @@ async def init_task():
|
||||
|
||||
|
||||
@bot.on_message(
|
||||
(guard_check & filters.private & filters.incoming) & ~allowed_filter, group=0
|
||||
(guard_check & filters.private & filters.incoming)
|
||||
& (~allowed_filter & ~filters.bot),
|
||||
group=0,
|
||||
)
|
||||
async def handle_new_pm(bot: BOT, message: Message):
|
||||
user_id = message.from_user.id
|
||||
@@ -55,14 +57,16 @@ async def handle_new_pm(bot: BOT, message: Message):
|
||||
)
|
||||
|
||||
|
||||
@bot.on_message(guard_check & filters.private & filters.outgoing, group=2)
|
||||
@bot.on_message(
|
||||
(guard_check & filters.private & filters.outgoing) & ~filters.bot, group=2
|
||||
)
|
||||
async def auto_approve(bot: BOT, message: Message):
|
||||
if message.chat.id in ALLOWED_USERS:
|
||||
return
|
||||
message = Message.parse_message(message=message)
|
||||
await message.reply("Auto-Approved to PM.", del_in=5)
|
||||
await PM_USERS.insert_one({"_id": message.chat.id})
|
||||
ALLOWED_USERS.append(message.chat.id)
|
||||
await PM_USERS.insert_one({"_id": message.chat.id})
|
||||
|
||||
|
||||
@bot.add_cmd(cmd="pmguard")
|
||||
@@ -99,6 +103,8 @@ async def allow_pm(bot: BOT, message: Message):
|
||||
await message.reply(f"{name} is already approved.")
|
||||
return
|
||||
ALLOWED_USERS.append(user_id)
|
||||
if user_id in RECENT_USERS:
|
||||
RECENT_USERS.remove(user_id)
|
||||
await asyncio.gather(
|
||||
message.reply(text=f"{name} allowed to PM.", del_in=8),
|
||||
PM_USERS.insert_one({"_id": user_id}),
|
||||
|
||||
Reference in New Issue
Block a user