File size: 2,967 Bytes
80287e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
from pyrogram import filters
from pyrogram.types import Message

from Devine import app
from Devine.misc import SUDOERS
from Devine.utils.database import add_gban_user, remove_gban_user
from Devine.utils.decorators.language import language
from Devine.utils.extraction import extract_user
from config import BANNED_USERS, BOT_ID, OWNER_ID


@app.on_message(filters.command(["block"]) & SUDOERS)
@language
async def useradd(client, message: Message, _):
    if not message.reply_to_message:
        if len(message.command) != 2:
            return await message.reply_text("ʀᴇᴘʟʏ ᴛᴏ ᴀ ᴜsᴇʀ's ᴍᴇssᴀɢᴇ ᴏʀ ɢɪᴠᴇ ᴜsᴇʀɴᴀᴍᴇ ᴏʀ ᴜsᴇʀ ɪᴅ ғᴏʀ ʙʟᴏᴄᴋ ᴛʜᴇᴍ.")
    user = await extract_user(message)
    if user.id == BOT_ID:
        return await message.reply_text("ᴡʜʏ sʜᴏᴜʟᴅ ɪ ʙʟᴏᴄᴋ ᴍʏsᴇʟғ?")
    if user.id == OWNER_ID:
        return await message.reply_text("ᴀʀᴇ ʏᴏᴜ sᴇʀɪᴏᴜs? ʜᴏᴡ ᴄᴀɴ ɪ ʙʟᴏᴄᴋ ᴍʏ ʟᴏʀᴅ?")
    if user.id in BANNED_USERS:
        return await message.reply_text(f"{user.mention} ɪs ᴀʟʀᴇᴀᴅʏ ʙʟᴏᴄᴋᴇᴅ.")
    await add_gban_user(user.id)
    BANNED_USERS.add(user.id)
    await message.reply_text(f"{user.mention} ʜᴀs ʙᴇᴇɴ ʙʟᴏᴄᴋᴇᴅ.")


@app.on_message(filters.command(["unblock"]) & SUDOERS)
@language
async def userdel(client, message: Message, _):
    if not message.reply_to_message:
        if len(message.command) != 2:
            return await message.reply_text("ʀᴇᴘʟʏ ᴛᴏ ᴀ ᴜsᴇʀ's ᴍᴇssᴀɢᴇ ᴏʀ ɢɪᴠᴇ ᴜsᴇʀɴᴀᴍᴇ ᴏʀ ᴜsᴇʀ ɪᴅ ғᴏʀ ʙʟᴏᴄᴋ ᴛʜᴇᴍ.")
    user = await extract_user(message)
    if user.id not in BANNED_USERS:
        return await message.reply_text(f"{user.mention} ɪs ɴᴏᴛ ʙʟᴏᴄᴋᴇᴅ.")
    await remove_gban_user(user.id)
    BANNED_USERS.remove(user.id)
    await message.reply_text(f"{user.mention} ʜᴀs ʙᴇᴇɴ ᴜɴʙʟᴏᴄᴋᴇᴅ.")


@app.on_message(filters.command(["blocked", "blockedusers", "blusers"]) & SUDOERS)
@language
async def sudoers_list(client, message: Message, _):
    if not BANNED_USERS:
        return await message.reply_text("ɴᴏ ᴜsᴇʀs ᴀʀᴇ ᴄᴜʀʀᴇɴᴛʟʏ ʙʟᴏᴄᴋᴇᴅ.")
    mystic = await message.reply_text("ᴀᴄᴄᴇssɪɴɢ ʙʟᴏᴄᴋᴇᴅ ᴜsᴇʀs ᴅᴇᴛᴀɪʟs...")
    msg = "<b>ʙʟᴏᴄᴋᴇᴅ ᴜsᴇʀs ʟɪsᴛ:</b>\n\n"
    count = 0
    for users in BANNED_USERS:
        try:
            user = await app.get_users(users)
            user = user.first_name if not user.mention else user.mention
            count += 1
        except:
            continue
        msg += f"{count}{user}\n"
    if count == 0:
        return await mystic.edit_text("ɴᴏ ᴜsᴇʀs ᴀʀᴇ ᴄᴜʀʀᴇɴᴛʟʏ ʙʟᴏᴄᴋᴇᴅ.")
    else:
        return await mystic.edit_text(msg)