Team Ai
Apppublic

azils3/bash

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
_wspr.py205 linesDownload Raw Back to plugins
1# Ultroid - UserBot2# Copyright (C) 2021-2025 TeamUltroid3#4# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >5# PLease read the GNU Affero General Public License in6# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>.7 8import re9 10from telethon import Button11from telethon.errors.rpcerrorlist import (12    BotInlineDisabledError,13    BotResponseTimeoutError,14    MessageNotModifiedError,15)16from telethon.tl import types17from telethon.tl.functions.users import GetFullUserRequest as gu18 19from . import (20    HNDLR,21    LOGS,22    asst,23    callback,24    get_string,25    in_pattern,26    inline_mention,27    ultroid_bot,28    ultroid_cmd,29)30 31buddhhu = {}32 33 34@ultroid_cmd(35    pattern="wspr( (.*)|$)",36)37async def _(e):38    if e.reply_to_msg_id:39        okk = await e.get_reply_message()40        put = f"@{okk.sender.username}" if okk.sender.username else okk.sender_id41    else:42        put = e.pattern_match.group(1).strip()43    if put:44        try:45            results = await e.client.inline_query(asst.me.username, f"msg {put}")46        except BotResponseTimeoutError:47            return await e.eor(48                get_string("help_2").format(HNDLR),49            )50        except BotInlineDisabledError:51            return await e.eor(get_string("help_3"))52        await results[0].click(e.chat_id, reply_to=e.reply_to_msg_id, hide_via=True)53        return await e.delete()54    await e.eor(get_string("wspr_3"))55 56 57@in_pattern("wspr", owner=True)58async def _(e):59    iuser = e.query.user_id60    zzz = e.text.split(maxsplit=2)61    try:62        query = zzz[1]63        if query.isdigit():64            query = int(query)65        logi = await ultroid_bot.get_entity(query)66        if not isinstance(logi, types.User):67            raise ValueError("Invalid Username.")68    except IndexError:69        sur = await e.builder.article(70            title="Give Username",71            description="You Didn't Type Username or id.",72            text="You Didn't Type Username or id.",73        )74        return await e.answer([sur])75    except ValueError as er:76        LOGS.exception(er)77        sur = await e.builder.article(78            title="User Not Found",79            description="Make sure username or id is correct.",80            text="Make sure username or id is correct.",81        )82        return await e.answer([sur])83    try:84        desc = zzz[2]85    except IndexError:86        sur = await e.builder.article(87            title="Type ur msg", text="You Didn't Type Your Msg"88        )89        return await e.answer([sur])90    button = [91        [92            Button.inline("Secret Msg", data=f"dd_{e.id}"),93            Button.inline("Delete Msg", data=f"del_{e.id}"),94        ],95        [96            Button.switch_inline(97                "New", query=f"wspr {logi.username or logi.id}", same_peer=True98            )99        ],100    ]101    us = logi.username or logi.first_name102    sur = await e.builder.article(103        title=logi.first_name,104        description=desc,105        text=get_string("wspr_1").format(us),106        buttons=button,107    )108    buddhhu.update({e.id: [logi.id, iuser, desc]})109    await e.answer([sur])110 111 112@in_pattern("msg", owner=True)113async def _(e):114    zzz = e.text.split(maxsplit=1)115    desc = "Touch me"116    try:117        query = zzz[1]118        if query.isdigit():119            query = int(query)120        logi = await ultroid_bot(gu(id=query))121        user = logi.users[0]122        mention = inline_mention(user)123        x = user.status124        if isinstance(x, types.UserStatusOnline):125            status = "Online"126        elif isinstance(x, types.UserStatusOffline):127            status = "Offline"128        elif isinstance(x, types.UserStatusRecently):129            status = "Last Seen Recently"130        elif isinstance(x, types.UserStatusLastMonth):131            status = "Last seen months ago"132        elif isinstance(x, types.UserStatusLastWeek):133            status = "Last seen weeks ago"134        else:135            status = "Can't Tell"136        text = f"**Name:**    `{user.first_name}`\n"137        text += f"**Id:**    `{user.id}`\n"138        if user.username:139            text += f"**Username:**    `{user.username}`\n"140            url = f"https://t.me/{user.username}"141        else:142            text += f"**Mention:**    `{mention}`\n"143            url = f"tg://user?id={user.id}"144        text += f"**Status:**    `{status}`\n"145        text += f"**About:**    `{logi.full_user.about}`"146        button = [147            Button.url("Private", url=url),148            Button.switch_inline(149                "Secret msg",150                query=f"wspr {query} Hello ๐Ÿ‘‹",151                same_peer=True,152            ),153        ]154        sur = e.builder.article(155            title=user.first_name,156            description=desc,157            text=text,158            buttons=button,159        )160    except IndexError:161        sur = e.builder.article(162            title="Give Username",163            description="You Didn't Type Username or id.",164            text="You Didn't Type Username or id.",165        )166    except BaseException as er:167        LOGS.exception(er)168        name = get_string("wspr_4").format(query)169        sur = e.builder.article(170            title=name,171            text=name,172        )173 174    await e.answer([sur])175 176 177@callback(178    re.compile(179        "dd_(.*)",180    ),181)182async def _(e):183    ids = int(e.pattern_match.group(1).strip().decode("UTF-8"))184    if buddhhu.get(ids):185        if e.sender_id in buddhhu[ids]:186            await e.answer(buddhhu[ids][-1], alert=True)187        else:188            await e.answer("Not For You", alert=True)189    else:190        await e.answer(get_string("wspr_2"), alert=True)191 192 193@callback(re.compile("del_(.*)"))194async def _(e):195    ids = int(e.pattern_match.group(1).strip().decode("UTF-8"))196    if buddhhu.get(ids):197        if e.sender_id in buddhhu[ids]:198            buddhhu.pop(ids)199            try:200                await e.edit(get_string("wspr_2"))201            except MessageNotModifiedError:202                pass203        else:204            await e.answer(get_string("wspr_5"), alert=True)205