Esempio n. 1
0
async def inline_alive(o):
    MSG = "• **Ultroid Userbot •**"
    WEB0 = InputWebDocument(
        "https://telegra.ph/file/acd4f5d61369f74c5e7a7.jpg", 0, "image/jpg",
        [])
    RES = [
        await o.builder.article(
            type="photo",
            text=MSG,
            include_media=True,
            buttons=SUP_BUTTONS,
            title="Ultroid Userbot",
            description="Userbot | Telethon",
            url=TLINK,
            thumb=WEB0,
            content=InputWebDocument(TLINK, 0, "image/jpg", []),
        )
    ]
    await o.answer(
        RES,
        private=True,
        cache_time=300,
        switch_pm="👥 ULTROID PORTAL",
        switch_pm_param="start",
    )
Esempio n. 2
0
async def inline_handler(event: telethon.events.InlineQuery.Event):
    cache_time = config['TG API'].getint('cache_time')

    offset = int(event.offset) if event.offset.isdigit() else 0
    next_offset = offset + pixiv.RESULTS_PER_QUERY
    if next_offset > pixiv.MAX_PIXIV_RESULTS:
        await event.answer(cache_time=cache_time)
        return
    nsfw = bool(event.pattern_match.group(1))

    logger.info("Inline query %d: text='%s' offset=%s", event.id, event.text, offset)

    pixiv_data = await pixiv.get_pixiv_results(offset, query=event.pattern_match.group(2), nsfw=nsfw)

    results = []
    for i, img in enumerate(pixiv_data):
        thumb = InputWebDocument(img['thumb_url'], 0, 'image/jpeg', [])
        content = InputWebDocument(img['url'], 0, 'image/jpeg', [])
        text = f"<a href='{img['url']}'>{img['title']}</a>\nUser: <a href='{img['user_link']}'>{img['user_name']}</a>"
        # not sure of a better way to get the entities since I can't use event.builder
        msg = InputBotInlineMessageMediaAuto(*await event._client._parse_message_text(text, 'HTML'))
        results.append(
            InputBotInlineResult(str(i + offset), 'photo', msg, thumb=thumb, content=content, url=img['url'])
        )
    logger.debug("Inline query %d: Processed %d results", event.id, len(results))

    try:
        await event.client(SetInlineBotResultsRequest(event.id, results, gallery=True, next_offset=str(next_offset),
                                                      cache_time=cache_time))  # half day
    except telethon.errors.QueryIdInvalidError:
        pass
    except telethon.errors.RPCError:
        logger.warning("Inline query %d: Sending results failed", event.id, exc_info=True)
    else:
        logger.debug("Inline query %d: Complete", event.id)
Esempio n. 3
0
async def inline_alive(o):
    if o.text or not str(o.sender_id) in owner_and_sudos():
        return
    b = o.builder
    MSG = "• **Ultroid Userbot •**"
    WEB0 = InputWebDocument(
        "https://telegra.ph/file/55dd0f381c70e72557cb1.jpg", 0, "image/jpg",
        [])
    RES = [
        InputBotInlineResult(
            str(o.id),
            "photo",
            send_message=await b._message(
                text=MSG,
                media=True,
                buttons=SUP_BUTTONS,
            ),
            title="Ultroid Userbot",
            description="Userbot | Telethon",
            url=TLINK,
            thumb=WEB0,
            content=InputWebDocument(TLINK, 0, "image/jpg", []),
        )
    ]
    await o.answer(RES, switch_pm="👥 ULTROID PORTAL", switch_pm_param="start")
Esempio n. 4
0
async def inline_alive(o):
    if len(o.text) == 0:
        b = o.builder
        MSG = "• **Ultroid Userbot •**"
        uptime = grt(time.time() - start_time)
        MSG += f"\n\n• **Uptime** - `{uptime}`\n"
        MSG += f"• **OWNER** - `{OWNER_NAME}`"
        WEB0 = InputWebDocument(
            "https://telegra.ph/file/55dd0f381c70e72557cb1.jpg", 0,
            "image/jpg", [])
        RES = [
            InputBotInlineResult(
                str(o.id),
                "photo",
                send_message=await b._message(
                    text=MSG,
                    media=True,
                    buttons=SUP_BUTTONS,
                ),
                title="Ultroid Userbot",
                description="Userbot | Telethon",
                url=TLINK,
                thumb=WEB0,
                content=InputWebDocument(TLINK, 0, "image/jpg", []),
            )
        ]
        await o.answer(RES,
                       switch_pm=f"👥 ULTROID PORTAL",
                       switch_pm_param="start")
Esempio n. 5
0
async def inline_test(event):
    query = event.pattern_match.group(1)
    variables = {'search': query}
    json = requests.post(GRAPHQL, json={'query': anime_query, 'variables': variables}).json()[
        'data'].get('Media', None)
    if json:
        msg, info, trailer, image = format_results(json)
    results=[InputBotInlineResult(
        id=event.id,
        type='photo',
        send_message=InputBotInlineMessageMediaAuto(msg),
        title=json['title']['romaji'],
        description='Nothin',
        url=info,
        thumb=InputWebDocument(
            url=image,
            size=42,
            mime_type='image/png',
            attributes=[DocumentAttributeImageSize(w=42, h=42)]
        ),
        content=InputWebDocument(
            url=image,
            size=42,
            mime_type='image/png',
            attributes=[DocumentAttributeImageSize(w=42, h=42)]
        )
    )]
    await AnimeBot(SetInlineBotResultsRequest(event.id,
        results=results,
        cache_time=0))
Esempio n. 6
0
async def inline_id_handler(event: telethon.events.InlineQuery.Event):
    illust_id = int(event.pattern_match.group(1))
    logger.info('Inline query %d: id=%d', event.id, illust_id)
    pixiv_data = await pixiv.illust_detail(illust_id)
    if pixiv_data.get('error'):
        return  # allows other handler to take over
    illust = pixiv_data['illust']
    images = illust['image_urls']
    thumb = InputWebDocument(images['medium'], 0, 'image/jpeg', [])
    content = InputWebDocument(
        illust['meta_single_page'].get('original_image_url') or illust['meta_pages'][0]['image_urls']['original'],
        0, 'image/jpeg', []
    )
    result = InputBotInlineResult('0', 'photo', InputBotInlineMessageMediaAuto(
        "Title: {}\nUser: {}".format(illust['title'], illust['user']['name'])), thumb=thumb, content=content)
    try:
        await event.client(SetInlineBotResultsRequest(event.id, [result], gallery=True,
                                                      cache_time=config['TG API'].getint('cache_time')))
    except telethon.errors.QueryIdInvalidError:
        pass
    except telethon.errors.RPCError:
        logger.warning("Inline query %d: Sending results failed", event.id, exc_info=True)
    else:
        logger.debug("Inline query %d: Complete", event.id)
    raise telethon.events.StopPropagation()
Esempio n. 7
0
async def reply(event):
    if event.text.startswith('.v'):
        items = await items_request(type='video', search_query=event.text[2:])
        await event.answer([
            event.builder.article(
                title=item['snippet']['title'],
                description=f"Published by: {item['snippet']['channelTitle']}",
                thumb=InputWebDocument(
                    url=item['snippet']['thumbnails']['default']['url'],
                    size=0,
                    mime_type='image/jpg',
                    attributes=[]),
                text=f"https://www.youtube.com/watch?v={item['id']['videoId']}"
            ) for item in items
        ])
    elif event.text.startswith('.p'):
        items = await items_request(type='playlist',
                                    search_query=event.text[2:])
        await event.answer([
            event.builder.article(
                title=item['snippet']['title'],
                description=f"Published by: {item['snippet']['channelTitle']}",
                thumb=InputWebDocument(
                    url=item['snippet']['thumbnails']['default']['url'],
                    size=0,
                    mime_type='image/jpg',
                    attributes=[]),
                text=
                f"https://www.youtube.com/playlist?list={item['id']['playlistId']}"
            ) for item in items
        ])
    elif event.text.startswith('.c'):
        items = await items_request(type='channel',
                                    search_query=event.text[2:])
        await event.answer([
            event.builder.article(
                title=item['snippet']['title'],
                description=f"Published by: {item['snippet']['channelTitle']}",
                thumb=InputWebDocument(
                    url=item['snippet']['thumbnails']['default']['url'],
                    size=0,
                    mime_type='image/jpg',
                    attributes=[]),
                text=
                f"https://www.youtube.com/channel/{item['id']['channelId']}")
            for item in items
        ])
    else:
        await event.answer([
            event.builder.article(
                'No switch detected',
                text='Available switches:'
                '\n.v for videos'
                '\n.p for playlists'
                '\n.c for channels'
                '\nPattern: `@youtubehandybot <switch> <search query>`')
        ])
Esempio n. 8
0
 async def inline_handler(event):
     builder = event.builder
     result = None
     query = event.text
     if event.query.user_id == uid and query.startswith(
             "@SharingUserbot"):
         buttons = paginate_help(0, dugmeler, "helpme")
         result = builder.photo(
             file=logoman,
             link_preview=False,
             text=
             f"**✗ Man-Userbot Inline Menu ✗**\n\n✣ **Owner** [{user.first_name}](tg://user?id={user.id})\n✣ **Jumlah** `{len(dugmeler)}` Modules",
             buttons=buttons,
         )
     elif query.startswith("repo"):
         result = builder.article(
             title="Repository",
             description="Repository Man - Userbot",
             url="https://t.me/SharingUserbot",
             thumb=InputWebDocument(INLINE_PIC, 0, "image/jpeg", []),
             text=
             "**Man - UserBot**\n➖➖➖➖➖➖➖➖➖➖\n✣ **UserMode: :** **Owner Repo :** [Risman](https://t.me/mrismanaziz)\n✣ **Support :** @Lunatic0de\n✣ **Repository :** [Man-Userbot](https://github.com/mrismanaziz/Man-Userbot)\n➖➖➖➖➖➖➖➖➖➖",
             buttons=[
                 [
                     custom.Button.url("ɢʀᴏᴜᴘ",
                                       "https://t.me/SharingUserbot"),
                     custom.Button.url(
                         "ʀᴇᴘᴏ",
                         "https://github.com/mrismanaziz/Man-Userbot"),
                 ],
             ],
             link_preview=False,
         )
     else:
         result = builder.article(
             title="✗ Man-Userbot ✗",
             description="Man - UserBot | Telethon",
             url="https://t.me/SharingUserbot",
             thumb=InputWebDocument(INLINE_PIC, 0, "image/jpeg", []),
             text=
             f"**Man - UserBot**\n➖➖➖➖➖➖➖➖➖➖\n✣ **UserMode:** [{user.first_name}](tg://user?id={user.id})\n✣ **Assistant:** {BOT_USERNAME}\n➖➖➖➖➖➖➖➖➖➖\n**Support:** @Lunatic0de\n➖➖➖➖➖➖➖➖➖➖",
             buttons=[
                 [
                     custom.Button.url("ɢʀᴏᴜᴘ",
                                       "https://t.me/SharingUserbot"),
                     custom.Button.url(
                         "ʀᴇᴘᴏ",
                         "https://github.com/mrismanaziz/Man-Userbot"),
                 ],
             ],
             link_preview=False,
         )
     await event.answer([result],
                        switch_pm="👥 USERBOT PORTAL",
                        switch_pm_param="start")
Esempio n. 9
0
async def inline(event):
    builder = event.builder
    s = []

    if event.text.startswith(".a "):
        album_name = event.text.replace(".a", "").strip()
        if len(album_name) < 1:
            return
        logger.debug(f'Searching for album: {album_name}')
        api_search_link = "https://api.deezer.com/search/album?q=" + album_name

        data = await fetch_json(api_search_link)

        for match in data["data"]:
            s += (
                builder.article(
                    title=match["title"],
                    text=match["link"],
                    description=f"Artist: {match['artist']['name']}\nTracks: {match['nb_tracks']}",
                    thumb=InputWebDocument(
                        url=match["cover_medium"],
                        size=0,
                        mime_type="image/jpeg",
                        attributes=[],
                    ),
                ),
            )

    elif len(event.text) > 1:
        logger.debug(f'Searching for track: {event.text}')
        api_search_link = "https://api.deezer.com/search?q=" + event.text

        data = await fetch_json(api_search_link)

        for match in data["data"]:
            s += (
                builder.article(
                    title=match["title"],
                    text=match["link"],
                    description=f"Artist: {match['artist']['name']}\nAlbum: {match['album']['title']}",
                    thumb=InputWebDocument(
                        url=match["album"]["cover_medium"],
                        size=0,
                        mime_type="image/jpeg",
                        attributes=[],
                    ),
                ),
            )
    if s:
        try:
            await event.answer(s)
        except TypeError:
            pass
Esempio n. 10
0
async def e(o):
    if len(o.text) == 0:
        b = o.builder
        uptime = grt(time.time() - start_time)
        header = udB.get("ALIVE_TEXT") if udB.get("ALIVE_TEXT") else "Hey,  I am alive."
        ALIVEMSG = get_string("alive_1").format(
            header,
            OWNER_NAME,
            ultroid_version,
            UltVer,
            uptime,
            PyVer(),
            __version__,
            Repo().active_branch,
        )
        res = [
            await b.article(
                title="TG-Troid Userbot",
                url="https://t.me/danumabots",
                description="Userbot | Telethon ",
                text=ALIVEMSG,
                thumb=InputWebDocument(ULTROID_PIC, 0, "image/jpeg", []),
                buttons=[
                    [Button.url(text="Support Group", url="t.me/danuma01")],
                    [
                        Button.url(
                            text="Repo",
                            url="https://github.com/SLdevilX/TG-Troid",
                        ),
                    ],
                ],
            ),
        ]
        await o.answer(res, switch_pm=f"👥 TG-Troid PORTAL", switch_pm_param="start")
Esempio n. 11
0
async def e(o):
    if len(o.text) == 0:
        b = o.builder
        uptime = grt((time.time() - start_time))
        ALIVEMSG = """
**The Ultra Userbot...**\n\n
✵ **Owner** - `{}`
✵ **UpTime** - `{}`
✵ **Python** - `{}`
✵ **Telethon** - `{}`
✵ **Branch** - `{}`
""".format(
            OWNER_NAME,
            uptime,
            pyver(),
            __version__,
            Repo(https://github.com/Khushmeet-op/Ultrabot).active_branch,
        )
        res = [
            b.article(
                title="Ultra Userbot",
                url="https://t.me/Movies_hubs_1",
                description="Userbot | Telethon ",
                text=ALIVEMSG,
                thumb=InputWebDocument(ULTROID_PIC, 0, "image/jpeg", []),
            )
        ]
        await o.answer(res, switch_pm=f"👥 ULTROID PORTAL", switch_pm_param="start")
Esempio n. 12
0
async def e(o):
    if len(o.text) == 0:
        b = o.builder
        uptime = grt((time.time() - start_time))
        ALIVEMSG = """
"**  𝑾𝒉𝒊𝒕𝒆 𝑫𝒆𝒗𝒊𝒍 𝑰𝒔 𝑶𝒏𝒍𝒊𝒏𝒆**\n\n"
 "**Yes Master, Am Alive And Systems Are Working Perfectly As It Should Be...**\n\n"
 "✘ About My System ✘\n\n"
**ᴛᴇʟᴇᴛʜᴏɴ ᴠᴇʀꜱɪᴏɴ** ☞ {version.__version__}\n"
**ꜱᴜᴘᴘᴏʀᴛ ᴄʜᴀɴɴᴇʟ** ☞ [ᴊᴏɪɴ](https://t.me/WhiteDevilUserBot)\n"
**ʟɪᴄᴇɴꜱᴇ**  ☞ [ᴛᴇᴀᴍ ᴡʜɪᴛᴇ](https://github.com/DARK-COBRA)\n"
**ᴄᴏᴘʏʀɪɢʜᴛ ʙʏ**☞ [ᴡʜɪᴛᴇ-ᴅᴇᴠɪʟ](https://github.com/Deviilboi/WhiteDevil)\n\n"
**ᴜᴘᴛɪᴍᴇ**    ☞ {uptime}\n\n"
**ᴍʏ ᴍᴀsᴛᴇʀ** ☞ [{DEFAULTUSER}](tg://user?id={ghanti})\n"
**ᴄʀᴇᴀᴛᴏʀ** ☞ [ᴄʀᴇᴀᴛᴏʀ](https://t.me/theshashank)\n"
""".format(
            OWNER_NAME,
            ultroid_version,
            uptime,
            pyver(),
            __version__,
            Repo().active_branch,
        )
        res = [
            b.article(
                title="White Devil",
                url="https://t.me/WhiteDeviluserbot",
                description="Userbot | Telethon ",
                text=ALIVEMSG,
                thumb=InputWebDocument(ULTROID_PIC, 0, "image/jpeg", []),
            )
        ]
        await o.answer(res,
                       switch_pm=f"👥 Devil Portal",
                       switch_pm_param="start")
Esempio n. 13
0
 async def wrapper(event):
     if event.sender_id in sed:
         try:
             await function(event)
         except BaseException as be:
             pass
     else:
         try:
             builder = event.builder
             sur = builder.article(
                 title="King Userbot",
                 url="https://t.me/KingUserbotSupport",
                 description="(c) KingUserbot",
                 text=MSG,
                 thumb=InputWebDocument(KING_PIC, 0, "image/jpeg", []),
                 buttons=[[
                     Button.url(
                         "Repository",
                         url="https://github.com/DoellBarr/King-Userbot"
                     ),
                     Button.url("Support",
                                url="https://t.me/KingUserbotSupport"),
                 ]],
             )
             await event.answer(
                 [sur],
                 switch_pm=f"🤖: Asisten dari {OWNER_NAME}",
                 switch_pm_param="start",
             )
         except BaseException as bexc:
             pass
Esempio n. 14
0
 async def wrapper(event):
     if event.sender_id in sed:
         await function(event)
     else:
         try:
             builder = event.builder
             sur = builder.article(
                 title="Ultroid Userbot",
                 url="https://t.me/ULTROID_OP",
                 description="(c) ULTROID_OP",
                 text=MSG,
                 thumb=InputWebDocument(ULTROID_PIC, 0, "image/jpeg",
                                        []),
                 buttons=[[
                     Button.url(
                         "Repository",
                         url="https://github.com/ULTROID-OP/ULTROID-BOT",
                     ),
                     Button.url("Support",
                                url="https://t.me/ULTROID_OP"),
                 ]],
             )
             await event.answer(
                 [sur],
                 switch_pm=f"🤖: Assistant of {OWNER_NAME}",
                 switch_pm_param="start",
             )
         except BaseException:
             pass
Esempio n. 15
0
 async def inline_handler(event):
     builder = event.builder
     result = None
     query = event.text
     if event.query.user_id in sed and query.startswith("ultd"):
         z = []
         for x in LIST.values():
             for y in x:
                 z.append(y)
         cmd = len(z) + 10
         bn = Var.BOT_USERNAME
         if bn.startswith("@"):
             bnn = bn.replace("@", "")
         else:
             bnn = bn
         result = builder.article(
             title="Help Menu",
             description="Help Menu - UserBot | Telethon ",
             url="https://t.me/TheUltroid",
             thumb=InputWebDocument(ULTROID_PIC, 0, "image/jpeg", []),
             text=get_string("inline_4").format(
                 OWNER_NAME,
                 len(PLUGINS) - 5,
                 len(ADDONS),
                 cmd,
             ),
             buttons=[
                 [
                     Button.inline("• Pʟᴜɢɪɴs", data="hrrrr"),
                     Button.inline("• Aᴅᴅᴏɴs", data="frrr"),
                 ],
                 [
                     Button.inline("Oᴡɴᴇʀ•ᴛᴏᴏʟꜱ", data="ownr"),
                     Button.inline("Iɴʟɪɴᴇ•Pʟᴜɢɪɴs", data="inlone"),
                 ],
                 [
                     Button.url(
                         "⚙️Sᴇᴛᴛɪɴɢs⚙️",
                         url=f"https://t.me/{bnn}?start=set",
                     ),
                 ],
                 [Button.inline("••Cʟᴏꜱᴇ••", data="close")],
             ],
         )
         await event.answer([result] if result else None)
     elif event.query.user_id in sed and query.startswith("paste"):
         ok = query.split("-")[1]
         link = f"https://nekobin.com/{ok}"
         link_raw = f"https://nekobin.com/raw/{ok}"
         result = builder.article(
             title="Paste",
             text="Pᴀsᴛᴇᴅ Tᴏ Nᴇᴋᴏʙɪɴ!",
             buttons=[
                 [
                     Button.url("NekoBin", url=f"{link}"),
                     Button.url("Raw", url=f"{link_raw}"),
                 ],
             ],
         )
         await event.answer([result] if result else None)
Esempio n. 16
0
async def bhoot_ayaa(event):
    if not udB.get_key("INSTA_SET"):
        return await event.answer(
            [],
            switch_pm="Fill Instagram Credentials First.",
            switch_pm_param="start")
    insta = await create_instagram_client(event)
    posts = insta.get_timeline_feed()
    res = []
    switch_pm = f"Showing {posts['num_results']} Feeds.."
    for rp in posts["feed_items"]:
        try:
            me = rp["media_or_ad"]
            url = me["image_versions2"]["candidates"][1]["url"] + ".jpg"
            text = (
                f"| Instagram Inline Search |\n~ https://instagram.com/p/{me['code']}"
            )
            file = InputWebDocument(url, 0, "image/jpeg", [])
            res.append(await event.builder.article(
                title="Instagram",
                type="photo",
                content=file,
                thumb=file,
                text=text,
                include_media=True,
            ))
        except Exception as er:
            LOGS.exception(er)
    await event.answer(res,
                       gallery=True,
                       switch_pm=switch_pm,
                       switch_pm_param="start")
Esempio n. 17
0
async def e(o):
    if len(o.text) == 0:
        b = o.builder
        uptime = grt((time.time() - start_time))
        ALIVEMSG = get_string("alive_1").format(
            OWNER_NAME,
            ultroid_version,
            uptime,
            pyver(),
            __version__,
            Repo().active_branch,
        )
        res = [
            b.article(
                title="Ultroid Userbot",
                url="https://t.me/TeamUltroid",
                description="Userbot | Telethon ",
                text=ALIVEMSG,
                thumb=InputWebDocument(ULTROID_PIC, 0, "image/jpeg", []),
                buttons=[
                    [
                        Button.url(text="Support Group",
                                   url="t.me/UltroidSupport")
                    ],
                    [
                        Button.url(
                            text="Repo",
                            url="https://github.com/Teamultroid/Ultroid")
                    ],
                ],
            )
        ]
        await o.answer(res,
                       switch_pm=f"👥 ULTROID PORTAL",
                       switch_pm_param="start")
Esempio n. 18
0
async def e(o):
    if len(o.text) == 0:
        b = o.builder
        uptime = grt(time.time() - start_time)
        header = udB.get("ALIVE_TEXT") if udB.get(
            "ALIVE_TEXT") else "Hey,  I am alive."
        ALIVEMSG = get_string("alive_1").format(
            header,
            OWNER_NAME,
            infinato_version,
            uptime,
            PyVer(),
            __version__,
            Repo().active_branch,
        )
        res = [
            await b.article(
                title="« 𝐈𝐍𝐅𝐈𝐍𝐀𝐓𝐎 »",
                url="https://t.me/INFINITY_I_i_I_i_I_i_I_i_I_i_I_i",
                description="A Simple Private Bot.",
                text=ALIVEMSG,
                thumb=InputWebDocument(ULTROID_PIC, 0, "image/jpeg", []),
            ),
        ]
        await o.answer(
            res,
            switch_pm=f"👥 ASSISTANT OF [{OWNER_NAME}](tg://user?id={OWNER_ID})",
            switch_pm_param="start")
Esempio n. 19
0
        async def inline_handler(event):
            if not event.text or len(event.text) < 2:
                await event.answer()
                return
            

            try:
                resp = await http_sess.get("https://www.userbenchmark.com/Search", params={
                    "searchTerm": event.text
                })
                
                # TODO: handle case with only one result (redirect to result page - eg. ryzen 5800)
                
                results = await resp.text()
            except aiohttp.ClientResponseError:
                await event.answer([builder.article("Error occured while searching", description="Oops ;/", text="Oops ;/")])
                return

            results = BeautifulSoup(results, features="html.parser").find_all(class_='tl-tag')

            await event.answer(
                [builder.article(
                    title=r.find(class_="tl-title").text,
                    description=f'{r.find(class_="tl-caption").text}\n{r.find(class_="tl-desc").text}',
                    text=r['href'],
                    thumb=InputWebDocument(
                        url=r.find(class_="tl-icon")['src'],
                        mime_type="image/jpeg",
                        size=0,
                        attributes=[]
                    )
                ) for r in results] or 
                [builder.article("No search results found", description="Try another query", text="No search results found.")]
            )
Esempio n. 20
0
async def inline_query(event):
    builder = event.builder
    ans = []
    if not event.text or len(event.text) < 3:
        for entry, value in commands.items():
            value_json = json.loads(value)
            ans.append(await builder.article(entry,
                                             text=value_json['text'],
                                             description=value_json['desc']))
        await event.answer(ans)
        return
    else:
        ans_list = await create_answer(event.text)
        for entry, value in ans_list.items():
            value_json = json.loads(value)
            if value_json['withImage'] == 'True':
                ans.append(await builder.article(
                    entry,
                    text=value_json['text'],
                    description=value_json['desc'],
                    thumb=InputWebDocument(
                        url=value_json['imageUrl'],
                        size=0,
                        mime_type=value_json['imageType'],
                        attributes=[],
                    )))
            else:
                ans.append(await
                           builder.article(entry,
                                           text=value_json['text'],
                                           description=value_json['desc']))
        await event.answer(ans)
        return
Esempio n. 21
0
async def inline (event):
  if event.query.user_id != bot.me.id or event.query.user_id ==bot.me.id and event.text == '' :
     Buttonss = [[Button.url("Rᴇᴘᴏsɪᴛᴏʀʏ","https://github.com/ULTRA-OP/ULTRA-X"),Button.url("Dᴇᴘʟᴏʏ","https://dashboard.heroku.com/new?button-url=https%3A%2F%2Fgithub.com%2FULTRA-OP%2FHEROKU&template=https%3A%2F%2Fgithub.com%2FULTRA-OP%2FHEROKU")]]
     f**k = f"**UʟᴛʀᴀX - Usᴇʀʙᴏᴛ**\n**➖➖➖➖➖➖➖➖➖➖**\n**Oᴡɴᴇʀ: [{MASTER}](tg://user?id={madboi})**\n**Cʜᴀɴɴᴇʟ: @UltraX_Support**\n**Sᴜᴘᴘᴏʀᴛ: @UltraXChat**\n**➖➖➖➖➖➖➖➖➖➖**"
     op = event.builder
     omg = op.article(title='UʟᴛʀᴀX Usᴇʀʙᴏᴛ', text=f**k, thumb=InputWebDocument(omk, 0, "image/jpeg", []), url="t.me/UltraXOT", description="© TᴇᴀᴍUʟᴛʀᴀX | Usᴇʀʙᴏᴛ | UʟᴛʀᴀX", buttons=Buttonss)
     await event.answer([omg], switch_pm=f'👤 Assɪsᴛᴀɴᴛ ᴏғ : {k}', switch_pm_param='start')
  else:
    pass
Esempio n. 22
0
async def inline_test2(event):
    query = event.pattern_match.group(1)
    variables = {'search': query}
    json = requests.post(GRAPHQL, json={'query': anime_query, 'variables': variables}).json()[
        'data'].get('Media', None)
    if json:
        msg, info, trailer, image = format_results(json)
        if trailer:
            buttons =[
                        [
                            Button.url("More Info", url=info),
                            Button.url("Trailer 🎬", url=trailer)
                        ]
                    ]
        else:
            buttons =[
                        [
                            Button.url("More Info", url=info)
                        ]
                    ]
    builder = event.builder
    size = DocumentAttributeImageSize(w=42, h=42)
    results = []
    results.append(builder.article(
        title=json['title']['romaji'],
        description=f"{json['format']} | {json.get('episodes', 'N/A')} Episodes",
        url=info,
        thumb=InputWebDocument(
            url=image,
            size=42,
            attributes=size,
            mime_type="image/png"
        ),
        content=InputWebDocument(
            url=image,
            size=42,
            attributes=size,
            mime_type="image/png"
        ),
        text=msg,
        buttons=buttons
    ))
    await event.answer(results if results else None)
Esempio n. 23
0
 async def inline_handler(event):
     builder = event.builder
     result = None
     query = event.text
     if event.query.user_id in sed and query.startswith("ultd"):
         z = []
         for x in LIST.values():
             for y in x:
                 z.append(y)
         cmd = len(z) + 10
         bn = Var.BOT_USERNAME
         if bn.startswith("@"):
             bnn = bn.replace("@", "")
         else:
             bnn = bn
         result = builder.article(
             title="Callystaa",
             description="Why | Try ",
             url="https://t.me/Sihyeon3",
             thumb=InputWebDocument(ULTROID_PIC, 0, "image/jpeg", []),
             text=
             f"** 𝔅𝔬𝔱 𝔬𝔣 {OWNER_NAME}\n\n𝔪𝔞𝔦𝔫 𝔪𝔢𝔫𝔲\n\n𝔭𝔩𝔲𝔤𝔦𝔫𝔰 ⇀ {len(PLUGINS) - 4}\n𝔞𝔡𝔡𝔬𝔫𝔰 ⇀ {len(ADDONS)}\n𝔗𝔬𝔱𝔞𝔩 ℭ𝔬𝔪𝔪𝔞𝔫𝔡𝔰 ⇀ {cmd}**",
             buttons=[
                 [
                     Button.inline("𝔭𝔩𝔲𝔤𝔦𝔫𝔰", data="hrrrr"),
                     Button.inline("𝔞𝔡𝔡𝔬𝔫𝔰", data="frrr"),
                 ],
                 [
                     Button.inline("𝔒𝔴𝔫𝔢𝔯 𝔗𝔬𝔬𝔩𝔰", data="ownr"),
                     Button.inline("ℑ𝔫𝔩𝔦𝔫𝔢 𝔭𝔩𝔲𝔤𝔦𝔫𝔰", data="inlone"),
                 ],
                 [
                     Button.url(
                         "⚙️𝔖𝔢𝔱𝔱𝔦𝔫𝔤𝔰⚙️",
                         url=f"https://t.me/{bnn}?start={ultroid_bot.me.id}",
                     )
                 ],
                 [Button.inline("ℭ𝔩𝔬𝔰𝔢", data="close")],
             ],
         )
         await event.answer([result] if result else None)
     elif event.query.user_id in sed and query.startswith("paste"):
         ok = query.split("-")[1]
         link = f"https://nekobin.com/{ok}"
         link_raw = f"https://nekobin.com/raw/{ok}"
         result = builder.article(
             title="Paste",
             text="Paste To Nekobin!",
             buttons=[[
                 Button.url("NekoBin", url=f"{link}"),
                 Button.url("Raw", url=f"{link_raw}"),
             ]],
         )
         await event.answer([result] if result else None)
Esempio n. 24
0
 async def inline_handler(event):
     builder = event.builder
     query = event.text
     if event.query.user_id in sed and query.startswith("kingd"):
         z = []
         for x in LIST.values():
             for y in x:
                 z.append(y)
         cmd = len(z) + 10
         bnn = await asst.get_me()
         bnn = bnn.username
         result = builder.article(
             title="Menu Help",
             description="Menu Help - Userbot | Telethon ",
             url="https://t.me/TeamKingUserbot",
             thumb=InputWebDocument(BOT_PIC, 0, "image/jpeg", []),
             text=(f"╔=**OWNER** {OWNER_NAME}\n\n"
                   f"╠=**Main Menu**\n\n"
                   f"╠=**Plugin - {len(PLUGINS) - 5}**\n"
                   f"╠=**Custom Plugin - {len(ADDONS)}**\n"
                   f"╚=**Total Perintah{cmd}**\n", ),
             buttons=[
                 [
                     Button.inline("• Pʟᴜɢɪɴ", data="plug_data"),
                     Button.inline("• Aᴅᴅᴏɴ", data="addons_data"),
                 ],
                 [
                     Button.inline("Oᴡɴᴇʀ•Tᴏᴏʟ", data="ownr_tools"),
                     Button.inline("Iɴʟɪɴᴇ•Pʟᴜɢɪɴ", data="inline_tools"),
                 ],
                 [
                     Button.url("Sᴇᴛᴛɪɴɢ𝚜",
                                url=f"https://t.me/{bnn}?start=set"),
                 ],
                 [Button.inline("Cʟᴏ𝚜ᴇ", data="close")],
             ],
         )
         await event.answer([result] if result else None)
     elif event.query.user_id in sed and query.startswith("paste"):
         ok = query.split("-")[1]
         link = f"https://nekobin.com/{ok}"
         link_raw = f"https://nekobin.com/raw/{ok}"
         result = builder.article(
             title="Paste",
             text="Pᴀsᴛᴇᴅ Tᴏ Nᴇᴋᴏʙɪɴ!",
             buttons=[
                 [
                     Button.url("NekoBin", url=f"{link}"),
                     Button.url("Raw", url=f"{link_raw}"),
                 ],
             ],
         )
         await event.answer([result] if result else None)
Esempio n. 25
0
async def inline_query(event):
    builder = event.builder
    if not event.text or len(event.text) < 3:
        ans = builder.article('Wrong command', text='Usage: @YTmusicRipperBot <.p/.v> <video or playlist query>')
        await event.answer([ans])
        return
    else:
        if event.text.startswith('.p'):
            results = await youtube_search(type='playlist', search_query=event.text[2:], amount=10)
            await event.answer([event.builder.article(title=item['snippet']['title'],
                                                      description=f"Published by: {item['snippet']['channelTitle']}",
                                                      thumb=InputWebDocument(
                                                          url=item['snippet']['thumbnails']['default']['url'],
                                                          size=0,
                                                          mime_type='image/jpg',
                                                          attributes=[]),
                                                      text=f"https://www.youtube.com/playlist?list={item['id']['playlistId']}")
                                for item in results])
        elif event.text.startswith('.v'):
            results = await youtube_search(type='video', search_query=event.text[2:], amount=10)
            await event.answer([event.builder.article(title=item['snippet']['title'],
                                                      description=f"Published by: {item['snippet']['channelTitle']}",
                                                      thumb=InputWebDocument(
                                                          url=item['snippet']['thumbnails']['default']['url'],
                                                          size=0, mime_type='image/jpeg', attributes=[]),
                                                      text=f"https://www.youtube.com/watch?v={item['id']['videoId']}")
                                for item in results])
        else:
            results = await youtube_search(type='video', search_query=event.text, amount=10)
            await event.answer([event.builder.article(title=item['snippet']['title'],
                                                      description=f"Published by: {item['snippet']['channelTitle']}",
                                                      thumb=InputWebDocument(
                                                          url=item['snippet']['thumbnails']['default']['url'],
                                                          size=0, mime_type='image/jpeg', attributes=[]),
                                                      text=f"https://www.youtube.com/watch?v={item['id']['videoId']}")
                                for item in results])
Esempio n. 26
0
async def inline_handler(event):
    try:   
        sender = await event.get_sender()
        name = utils.get_display_name(sender)
        logging.info("Inline Query: " +  name +  ", Event id:" + str(event.id))
        builder = event.builder
        result = None
        next3 = None
        query = event.text.lower()

        if query == '':
            file_in_bytes=51000
            thumb_link = 'https://i.imgur.com/VY44NqO.jpg' # lightning logo
            icon = InputWebDocument(thumb_link, file_in_bytes, 'image/jpeg',[])

            newevents = get_inline_data()
            NEXT3 = parse_content(get_event_content(3, newevents))
            NEW_EVENTS = parse_content(get_event_content(-1, newevents))
                        
            addevent = await builder.article(
                'Add an Event',
                text=feedback_msg,
                thumb= icon,
                link_preview=False,
                buttons=custom.Button.url("Send a message", 't.me/btcfeedbackbot')
                )
            next3 = await builder.article(
                'Next 3 Events',
                text=NEXT3,
                thumb= icon,
                link_preview=False, 
                buttons=custom.Button.url('Visit the Bot for more', 't.me/bitcoin_events_bot')
                ) 
            result = await builder.article(
                'Upcoming Events',
                text=NEW_EVENTS,
                thumb= icon,
                link_preview=False
                )
        # NOTE: You should always answer, but we want plugins to be able to answer
        #       too (and we can only answer once), so we don't always answer here.
        if result:
            await event.answer([addevent, result, next3])
        else:
            await event.answer("bot offline")
    except Exception as e:
        logger.error(e)
Esempio n. 27
0
async def e(o):
    if len(o.text) == 0:
        b = o.builder
        uptime = grt(time.time() - start_time)
        header = udB.get("ALIVE_TEXT") if udB.get(
            "ALIVE_TEXT") else "Hallo, Saya hidup."
        ALIVEMSG = ("**{}**\n\n"
                    "┏━━━━━━━━━━━━━━━━━━━━━\n"
                    "┣ **Pemilik** - `{}`\n"
                    "┣ **Versi** - `{}`\n"
                    "┣ **Versi pyking** - `{}`\n"
                    "┣ **UpTime** - `{}`\n"
                    "┣ **Python** - `{}`\n"
                    "┣ **Telethon** - `{}`\n"
                    "┣ **Branch** - `{}`\n"
                    "┗━━━━━━━━━━━━━━━━━━━━━").format(
                        header,
                        OWNER_NAME,
                        king_version,
                        KingVer,
                        uptime,
                        pyver(),
                        __version__,
                        Repo().active_branch,
                    )
        ress = [
            await b.article(
                title="King-Userbot",
                url="https://t.me/TeamKingUserbot",
                description="Userbot | Telethon ",
                text=ALIVEMSG,
                thumb=InputWebDocument(BOT_PIC, 0, "image/jpeg", []),
                buttons=[
                    [
                        Button.url(text="Grup Support",
                                   url="t.me/KingUserbotSupport")
                    ],
                    [Button.url(text="Repository", url="https://github.com")],
                ])
        ]
        await o.answer(ress,
                       switch_pm=f"KingUserbot Portal",
                       switch_pm_param="start")
Esempio n. 28
0
async def build_answer(switch: str, event: events.InlineQuery.Event):
    return [
        event.builder.article(
            title=result['snippet']['title'],
            description=f"Published by: {result['snippet']['channelTitle']}",
            thumb=InputWebDocument(
                url=result['snippet']['thumbnails']['default']['url'],
                size=0,
                mime_type='image/jpg',
                attributes=[]),
            text=
            f"https://www.youtube.com/playlist?list={result['id']['playlistId']}"
            if switch == '.p' else
            f"https://www.youtube.com/watch?v={result['id']['videoId']}")
        for result in await youtube_search(
            search_type='video' if switch == '.v' else 'playlist',
            search_query=event.text[2:] if not switch else event.text,
            amount=10)
    ]
Esempio n. 29
0
async def e(o):
    if len(o.text) == 0:
        b = o.builder
        uptime = grt((time.time() - start_time))
        ALIVEMSG = """
**Yahaha Wahyu...**\n
━━━━━ • ✿ • ━━━━━
✵ **Owner** - `{}`
✵ **Version** - `{}`
✵ **UpTime** - `{}`
✵ **Python** - `{}`
✵ **Telethon** - `{}`
✵ **Branch** - `{}`
━━━━━ • ✿ • ━━━━━
""".format(
            OWNER_NAME,
            ultroid_version,
            uptime,
            pyver(),
            __version__,
            Repo().active_branch,
        )
        res = [
            b.article(
                title="Callystaa",
                url="https://t.me/Sihyeon3",
                description="Why | Try ",
                text=ALIVEMSG,
                thumb=InputWebDocument(ULTROID_PIC, 0, "image/jpeg", []),
                buttons=[
                    [
                        Button.url(text="Support Group",
                                   url="t.me/joinchat/WBMKhp4g42xF_b1B")
                    ],
                    [Button.url(text="Contact", url="https://t.me/Sihyeon3")],
                ],
            )
        ]
        await o.answer(res,
                       switch_pm=f"🌀 PORTAL ISEKAI",
                       switch_pm_param="start")
Esempio n. 30
0
async def inline_id_handler(event):
    builder = event.builder
    if event.query.user_id != bot.uid:
        resultm = builder.article(
            title="- Not Allowded -",
            text=
            f"You Can't Use This Bot. \nDeploy Friday To Get Your Own Assistant, Repo Link [Here](https://github.com/StarkGang/FridayUserbot)",
        )
        await event.answer([resultm])
        return
    results = []
    input_str = event.pattern_match.group(1)
    link = f"https://api.deezer.com/search?q={input_str}&limit=7"
    dato = requests.get(url=link).json()
    #data_s = json.loads(data_s)
    for match in dato.get("data"):
        hmm_m = (
            f"Title : {match['title']} \nLink : {match['link']} \nBy : {match['artist']['name']}"
        )
        results.append(
            await event.builder.article(
                title=match["title"],
                text=hmm_m,
                description=
                f"Artist: {match['artist']['name']}\nAlbum: {match['album']['title']}",
                thumb=InputWebDocument(
                    url=match["album"]["cover_medium"],
                    size=0,
                    mime_type="image/jpeg",
                    attributes=[],
                ),
            ), )
    if results:
        try:
            await event.answer(results)
        except TypeError:
            pass