File size: 3,070 Bytes
21bc372
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
from pyrogram import Client as ren
from pyrogram import *
from pyrogram.enums import *
from pyrogram.errors import *
from pyrogram.types import *

from akn import log_detailed_error
from akn.Akeno.help import add_command_help
from akn.utils.handler import *
from akn.utils.prefixprem import command

@Akeno(
    ~filters.scheduled
    & command(["invite"])
    & filters.me
    & ~filters.forwarded
)
async def invite_user(client: Client, message: Message):
    mg = await message.reply_text("`Adding Users!`")
    user_add = message.text.split(" ", 1)[1] if len(message.command) > 1 else None
    if not user_add:
        await mg.edit_text("`Give Me Users To Add!`")
        return
    try:
        await client.add_chat_members(message.chat.id, user_add, forward_limit=100)
    except BaseException as e:
        await log_detailed_error(e, where=client.me.id, who=message.chat.title)
        await mg.edit(f"`Unable To Add Users! \nTraceBack : {e}`")
        return
    await mg.edit(f"`Sucessfully Added {len(user_add)} To This Group / Channel!`")

@Akeno(
    ~filters.scheduled
    & command(["inviteall"])
    & filters.me
    & ~filters.forwarded
)
async def invite_all(client: Client, message: Message):
    ex = await message.reply_text("`Processing . . .`")
    query = message.text.split(" ", 1)[1] if len(message.command) > 1 else None
    if not query:
        return await ex.edit_text("ok gay")
    chat = await client.get_chat(query)
    tgchat = message.chat
    await ex.edit_text(f"inviting users from {chat.username}")
    async for member in client.get_chat_members(chat.id):
        user = member.user
        zxb = [
            UserStatus.ONLINE,
            UserStatus.OFFLINE,
            UserStatus.RECENTLY,
            UserStatus.LAST_WEEK,
        ]
        if user.status in zxb:
            try:
                await client.add_chat_members(tgchat.id, user.id)
            except FloodWait as e:
                await log_detailed_error(e, where=client.me.id, who=message.chat.title)
                continue
            except Exception:
                pass

@Akeno(
    ~filters.scheduled
    & command(["invitelink"])
    & filters.me
    & ~filters.forwarded
)
async def invite_link(client, message):
    um = await message.edit_text("`Processing...`")
    if message.chat.type in [ChatType.GROUP, ChatType.SUPERGROUP]:
        message.chat.title
        try:
            link = await client.export_chat_invite_link(message.chat.id)
            await um.edit(f"**Link Invite:** {link}")
        except Exception:
            await um.edit("Denied permission")
            
add_command_help(
    "scraper",
    [
        ["invite [username]", "to add invite"],
        ["inviteall [username]", "to add inviteall members"],
        ["invitelink", "to export invitelink group"],
    ],
)
module = modules_help.add_module("scraper", __file__)
module.add_command("invite [username]", "to add invite.")
module.add_command("inviteall [username]", "to add inviteall members")
module.add_command("invitelink", "to export invitelink group")