Esempio n. 1
0
async def gkick(request):
    if not request.text[0].isalpha() and request.text[0] in ("."):
        if GBANS:
            message = request.pattern_match.group(1)
            args = message.split()
            user = ''
            reason = ''
            response = ''
            user = await get_user(request)
            if str(type(user)) != '<class \'telethon.tl.types.UserFull\'>':
                await request.edit("`Lemme gban you for not giving a proper username!`")
                return
            user = str(user.user.id)
            if len(args) >= 2 and not request.reply_to_msg_id:
                reason = str(message.split(' ', 1)[1])
            elif len(args) == 1 and not request.reply_to_msg_id:
                reason = ""
            elif len(args) == 0 and not request.reply_to_msg_id:
                await request.edit("`Lemme gban you for not giving a proper username!`")
                return
            else:
                reason = message
            gbantext = '/gkick ' + user + ' ' + reason
            for GBAN_BOT in GBAN_BOTS:
                async with bot.conversation(GBAN_BOT) as conv:
                    await conv.send_message(gbantext)
                    x = await conv.get_response()
                    if x:
                        pass
                    else:
                        x = GBAN_BOT + '  didn\'t respond'
                response += GBAN_BOT + ': ' + x.text.replace("**", "").replace("`", "").replace("tg://user?id=", "") + '\n\n'
            await request.edit("```" + response + "```")
        else:
            await request.edit("`You haven't enabled GBANS!`")
Esempio n. 2
0
async def gkick(request):
    if not request.text[0].isalpha() and request.text[0] in ("."):
        if GBANS:
            message = request.pattern_match.group(1)
            args = message.split()
            user = ''
            reason = ''
            response = ''
            if request.reply_to_msg_id:
                previous_message = await request.get_reply_message()
                user = await request.client(
                    GetFullUserRequest(previous_message.from_id))
                user = str(user.user.id)
                reason = message
                gbantext = '/gkick ' + user + ' ' + reason
            else:
                user = str(message.split(' ', 1)[0])
                user = await get_id(request, user)
                if str(type(user)) != '<class \'telethon.tl.types.UserFull\'>':
                    await request.edit("`Dafaq am i gonna gkick you?!`")
                    return
                user = str(user.user.id)
                if len(args) == 2:
                    reason = str(message.split(' ', 1)[1])
                if len(args) == 1:
                    reason = ""
                if len(args) == 0:
                    await request.edit("`Dafaq am i gonna gkick you?!`")
                gbantext = '/gkick ' + user + ' ' + reason
            for GBAN_BOT in GBAN_BOTS:
                async with bot.conversation(GBAN_BOT) as conv:
                    await conv.send_message(gbantext)
                    x = await conv.get_response()
                    if x:
                        pass
                    else:
                        x = GBAN_BOT + '  didn\'t respond'
                    response += GBAN_BOT + ': ' + x.text.replace(
                        "**", "").replace("`", "").replace(
                            "tg://user?id=", "") + '\n\n'
            await request.edit("```" + response + "```")
        else:
            await request.edit("`You haven't enabled GBANS!`")
Esempio n. 3
0
async def kang(args):
    if not args.text[0].isalpha() and args.text[0] in ("."):
        user = await bot.get_me()
        if not user.username:
            user.username = user.first_name
        message = await args.get_reply_message()
        photo = None
        emojibypass = False
        is_anim = False
        emoji = None

        if message and message.media:
            if isinstance(message.media, MessageMediaPhoto):
                await args.edit(f"`{random.choice(KANGING_STR)}`")
                photo = io.BytesIO()
                photo = await bot.download_media(message.photo, photo)
            elif "image" in message.media.document.mime_type.split('/'):
                await args.edit(f"`{random.choice(KANGING_STR)}`")
                photo = io.BytesIO()
                await bot.download_file(message.media.document, photo)
                if (DocumentAttributeFilename(file_name='sticker.webp')
                        in message.media.document.attributes):
                    emoji = message.media.document.attributes[1].alt
                    emojibypass = True
            elif "tgsticker" in message.media.document.mime_type:
                await args.edit(f"`{random.choice(KANGING_STR)}`")
                await bot.download_file(message.media.document,
                                        'AnimatedSticker.tgs')

                attributes = message.media.document.attributes
                for attribute in attributes:
                    if isinstance(attribute, DocumentAttributeSticker):
                        emoji = attribute.alt

                emojibypass = True
                is_anim = True
                photo = 1
            else:
                await args.edit("`Unsupported File!`")
                return
        else:
            await args.edit("`I can't kang that...`")
            return

        if photo:
            splat = args.text.split()
            if not emojibypass:
                emoji = "🤔"
            pack = 1
            if len(splat) == 3:
                pack = splat[2]  # User sent both
                emoji = splat[1]
            elif len(splat) == 2:
                if splat[1].isnumeric():
                    # User wants to push into different pack, but is okay with
                    # thonk as emote.
                    pack = int(splat[1])
                else:
                    # User sent just custom emote, wants to push to default
                    # pack
                    emoji = splat[1]

            packname = f"a{user.id}_by_{user.username}_{pack}"
            packnick = f"@{user.username}'s kang pack Vol.{pack}"
            cmd = '/newpack'
            file = io.BytesIO()

            if not is_anim:
                image = await resize_photo(photo)
                file.name = "sticker.png"
                image.save(file, "PNG")
            else:
                packname += "_anim"
                packnick += " (Animated)"
                cmd = '/newanimated'

            response = urllib.request.urlopen(
                urllib.request.Request(f'http://t.me/addstickers/{packname}'))
            htmlstr = response.read().decode("utf8").split('\n')

            if "  A <strong>Telegram</strong> user has created the <strong>Sticker&nbsp;Set</strong>." not in htmlstr:
                async with bot.conversation('Stickers') as conv:
                    await conv.send_message('/addsticker')
                    await conv.get_response()
                    # Ensure user doesn't get spamming notifications
                    await bot.send_read_acknowledge(conv.chat_id)
                    await conv.send_message(packname)
                    x = await conv.get_response()
                    while "120" in x.text:
                        pack += 1
                        packname = f"a{user.id}_by_{user.username}_{pack}"
                        packnick = f"@{user.username}'s kang pack Vol.{pack}"
                        await args.edit("`Switching to Pack " + str(pack) +
                                        " due to insufficient space`")
                        await conv.send_message(packname)
                        x = await conv.get_response()
                        if x.text == "Invalid pack selected.":
                            await conv.send_message(cmd)
                            await conv.get_response()
                            # Ensure user doesn't get spamming notifications
                            await bot.send_read_acknowledge(conv.chat_id)
                            await conv.send_message(packnick)
                            await conv.get_response()
                            # Ensure user doesn't get spamming notifications
                            await bot.send_read_acknowledge(conv.chat_id)
                            if is_anim:
                                await conv.send_file('AnimatedSticker.tgs')
                                remove('AnimatedSticker.tgs')
                            else:
                                file.seek(0)
                                await conv.send_file(file, force_document=True)
                            await conv.get_response()
                            await conv.send_message(emoji)
                            # Ensure user doesn't get spamming notifications
                            await bot.send_read_acknowledge(conv.chat_id)
                            await conv.get_response()
                            await conv.send_message("/publish")
                            if is_anim:
                                await conv.get_response()
                                await conv.send_message(f"<{packnick}>")
                            # Ensure user doesn't get spamming notifications
                            await conv.get_response()
                            await bot.send_read_acknowledge(conv.chat_id)
                            await conv.send_message("/skip")
                            # Ensure user doesn't get spamming notifications
                            await bot.send_read_acknowledge(conv.chat_id)
                            await conv.get_response()
                            await conv.send_message(packname)
                            # Ensure user doesn't get spamming notifications
                            await bot.send_read_acknowledge(conv.chat_id)
                            await conv.get_response()
                            # Ensure user doesn't get spamming notifications
                            await bot.send_read_acknowledge(conv.chat_id)
                            await args.edit(
                                f"`Sticker added in a Different Pack !\
                                \nThis Pack is Newly created!\
                                \nYour pack can be found [here](t.me/addstickers/{packname})",
                                parse_mode='md')
                            return
                    if is_anim:
                        await conv.send_file('AnimatedSticker.tgs')
                        remove('AnimatedSticker.tgs')
                    else:
                        file.seek(0)
                        await conv.send_file(file, force_document=True)
                    rsp = await conv.get_response()
                    if "Sorry, the file type is invalid." in rsp.text:
                        await args.edit(
                            "`Failed to add sticker, use` @Stickers `bot to add the sticker manually.`"
                        )
                        return
                    await conv.send_message(emoji)
                    # Ensure user doesn't get spamming notifications
                    await bot.send_read_acknowledge(conv.chat_id)
                    await conv.get_response()
                    await conv.send_message('/done')
                    await conv.get_response()
                    # Ensure user doesn't get spamming notifications
                    await bot.send_read_acknowledge(conv.chat_id)
            else:
                await args.edit("`Brewing a new Pack...`")
                async with bot.conversation('Stickers') as conv:
                    await conv.send_message(cmd)
                    await conv.get_response()
                    # Ensure user doesn't get spamming notifications
                    await bot.send_read_acknowledge(conv.chat_id)
                    await conv.send_message(packnick)
                    await conv.get_response()
                    # Ensure user doesn't get spamming notifications
                    await bot.send_read_acknowledge(conv.chat_id)
                    if is_anim:
                        await conv.send_file('AnimatedSticker.tgs')
                        remove('AnimatedSticker.tgs')
                    else:
                        file.seek(0)
                        await conv.send_file(file, force_document=True)
                    rsp = await conv.get_response()
                    if "Sorry, the file type is invalid." in rsp.text:
                        await args.edit(
                            "`Failed to add sticker, use` @Stickers `bot to add the sticker manually.`"
                        )
                        return
                    await conv.send_message(emoji)
                    # Ensure user doesn't get spamming notifications
                    await bot.send_read_acknowledge(conv.chat_id)
                    await conv.get_response()
                    await conv.send_message("/publish")
                    if is_anim:
                        await conv.get_response()
                        await conv.send_message(f"<{packnick}>")
                    # Ensure user doesn't get spamming notifications
                    await conv.get_response()
                    await bot.send_read_acknowledge(conv.chat_id)
                    await conv.send_message("/skip")
                    # Ensure user doesn't get spamming notifications
                    await bot.send_read_acknowledge(conv.chat_id)
                    await conv.get_response()
                    await conv.send_message(packname)
                    # Ensure user doesn't get spamming notifications
                    await bot.send_read_acknowledge(conv.chat_id)
                    await conv.get_response()
                    # Ensure user doesn't get spamming notifications
                    await bot.send_read_acknowledge(conv.chat_id)

            await args.edit(f"`Sticker kanged successfully!`\
                \nPack can be found [here](t.me/addstickers/{packname})",
                            parse_mode='md')