def quotly(client, message):
    reply = message.reply_to_message
    if reply and (reply.text or reply.photo or reply.sticker):
        edit(message, f'`{get_translation("makeQuote")}`')
    else:
        edit(message, f'`{get_translation("replyMessage")}`')
        return

    sleep(1)
    chat = 'QuotLyBot'

    with PyroConversation(client, chat) as conv:
        response = None
        try:
            conv.forward_msg(reply)
            response = conv.recv_msg()
        except YouBlockedUser:
            edit(message, get_translation('unblockChat', ['**', '`', chat]))
            return
        except Exception:

            if not response:
                edit(message, f'`{get_translation("answerFromBot")}`')
                return

        response.forward(message.chat.id)

    message.delete()
Example #2
0
def sangmata(client, message):
    reply = message.reply_to_message
    if reply and reply.text:
        edit(message, f'`{get_translation("processing")}`')
    else:
        edit(message, f'`{get_translation("replyMessage")}`')
        return

    chat = 'SangMataInfo_bot'

    with PyroConversation(client, chat) as conv:
        response = None
        try:
            conv.forward_msg(reply)
            response = conv.recv_msg()
        except YouBlockedUser:
            edit(message, get_translation('unblockChat', ['**', '`', chat]))
            return
        except Exception as e:
            raise e

        if not response:
            edit(message, f'`{get_translation("answerFromBot")}`')
        elif response.text and response.text.startswith('Forward'):
            edit(message, f'`{get_translation("privacySettings")}`')
        else:
            edit(message, response.text)
Example #3
0
def ximiui(client, message):
    reply = message.text
    if reply:
        edit(message, f'`{get_translation("processing")}`')
    else:
        edit(message, f'`{get_translation("replyMessage")}`')
        return

    chat = 'xiaomiui_bot'

    with PyroConversation(client, chat) as conv:
        response = None
        try:
            conv.send_msg(reply.replace('.getota', '/getota'))
            response = conv.recv_msg()
        except YouBlockedUser:
            edit(message, get_translation('unblockChat', ['**', '`', chat]))
            return
        except Exception as e:
            raise e

        if not response:
            edit(message, f'`{get_translation("answerFromBot")}`')
        else:
            edit(message, response.text)
Example #4
0
def kang(client, message):
    myacc = TEMP_SETTINGS['ME']
    kanger = myacc.username or myacc.first_name
    if myacc.username:
        kanger = f'@{kanger}'
    args = extract_args(message)

    reply = message.reply_to_message
    if not reply:
        edit(message, f'`{get_translation("stickerUsage")}`')
        return

    anim = False
    media = None

    if reply.photo or reply.document or reply.sticker:
        edit(message, f'`{choice(DIZCILIK)}`')
        anim = reply.sticker and reply.sticker.is_animated
        media = download_media_wc(reply, sticker_orig=anim)
    else:
        edit(message, f'`{get_translation("stickerError")}`')
        return

    if len(args) < 1:
        args = '1'

    emoji = '🤤'
    pack = 1

    for item in args.split():
        if item.isdigit():
            pack = int(item)
            args = args.replace(item, '').strip()
        elif 'e=' in item.lower():
            emoji = item.replace('e=', '')
            args = args.replace(item, '').strip()

    pname = (
        PACKNAME.replace(' ', '')
        if PACKNAME
        else f'a{myacc.id}_by_{myacc.username}_{pack}'
    )
    pnick = PACKNICK or f"{kanger}'s UserBot pack {pack}"

    limit = '50' if anim else '120'

    def pack_created(name):
        try:
            set_name = InputStickerSetShortName(short_name=name)
            set = GetStickerSet(stickerset=set_name)
            client.send(data=set)
            return True
        except BaseException as e:
            return False

    def create_new(conv, pname, pnick):
        cmd = f'/new{"animated" if anim else "pack"}'

        try:
            send_recv(conv, cmd)
        except Exception as e:
            raise e
        msg = send_recv(conv, pnick)
        if msg.text == 'Invalid pack selected.':
            pack += 1
            return create_new(conv)
        msg = send_recv(conv, media, doc=True)
        if 'Sorry, the file type is invalid.' in msg.text:
            edit(message, f'`{get_translation("stickerError")}`')
            return
        send_recv(conv, emoji)
        send_recv(conv, '/publish')
        if anim:
            send_recv(conv, f'<{pnick}>')
        send_recv(conv, '/skip')
        send_recv(conv, pname)

    def add_exist(conv, pack, pname, pnick):
        try:
            send_recv(conv, '/addsticker')
        except Exception as e:
            raise e

        status = send_recv(conv, pname)

        if limit in status.text:
            pack += 1
            pname = (
                PACKNAME.replace(' ', '')
                if PACKNAME
                else f'a{myacc.id}_by_{myacc.username}_{pack}'
            )
            pnick = PACKNICK or f"{kanger}'s UserBot pack {pack}"
            edit(message, get_translation('packFull', ['`', '**', str(pack)]))
            if pack_created(pname):
                return add_exist(conv, pack, pname, pnick)
            else:
                return create_new(conv, pname, pnick)

        send_recv(conv, media, doc=True)
        send_recv(conv, emoji)
        send_recv(conv, '/done')
        return True

    if anim:
        pname += '_anim'
        pnick += ' (Animated)'
    else:
        if not reply.sticker:
            media = resizer(media)

    with PyroConversation(client, 'Stickers') as conv:
        send_recv(conv, '/cancel')
        if pack_created(pname):
            ret = add_exist(conv, pack, pname, pnick)
            if not ret:
                return
        else:
            create_new(conv, pname, pnick)

    edit(message, get_translation('stickerAdded', ['`', pname]))
Example #5
0
def kang(client, message):
    myacc = TEMP_SETTINGS['ME']
    kanger = myacc.username or myacc.first_name
    if myacc.username:
        kanger = f'@{kanger}'
    args = extract_args(message)

    reply = message.reply_to_message
    if not reply:
        edit(message, f'`{get_translation("stickerUsage")}`')
        return

    anim = False
    video = False
    media = None
    chat = 'Stickers'

    if reply.photo or reply.video or reply.animation or reply.document or reply.sticker:
        edit(message, f'`{choice(DIZCILIK)}`')
        anim = reply.sticker and reply.sticker.is_animated
        video = (reply.animation or reply.video
                 or reply.sticker and reply.sticker.is_video)
        media = download_media_wc(reply, sticker_orig=anim or video)
    else:
        edit(message, f'`{get_translation("stickerError")}`')
        return

    if not reply.sticker:
        try:
            if (reply.video or reply.animation or
                (reply.document and 'video' in reply.document.mime_type)):
                media = video_convert(media)
                video = True
            else:
                media = sticker_resize(media)
        except BaseException:
            edit(message, f'`{get_translation("stickerError")}`')
            return

    if len(args) < 1:
        args = '1'

    emoji = reply.sticker.emoji if reply.sticker and reply.sticker.emoji else '🤤'
    pack = 1

    for item in args.split():
        if item.isdigit():
            pack = int(item)
            args = args.replace(item, '').strip()
        else:
            emoji = args.strip()

    ptime = time()
    pname = f'PNAME_{ptime}'
    pnick = f'PNICK_{ptime}'

    name_suffix = (('_anim', ' (Animated)') if anim else
                   ('_video', ' (Video)') if video else ('', ''))

    TEMP_SETTINGS[pname] = (
        PACKNAME.replace(' ', '') if PACKNAME else
        f'a{myacc.id}_by_{myacc.username}_{pack}{name_suffix[0]}')
    TEMP_SETTINGS[f'{pname}_TEMPLATE'] = f'a{myacc.id}_by_{myacc.username}_'
    TEMP_SETTINGS[pnick] = (PACKNICK or
                            f'{kanger}\'s UserBot pack {pack}{name_suffix[1]}')
    TEMP_SETTINGS[f'{pnick}_TEMPLATE'] = f'{kanger}\'s UserBot pack '

    limit = '50' if anim or video else '120'

    def pack_created(pname):
        try:
            set_name = InputStickerSetShortName(
                short_name=TEMP_SETTINGS[pname])
            set = GetStickerSet(stickerset=set_name, hash=0)
            client.invoke(query=set)
            return True
        except BaseException:
            return False

    def create_new(conv, pack, pname, pnick):
        cmd = f'/new{"animated" if anim else "video" if video else "pack"}'

        try:
            send_recv(conv, cmd)
        except Exception as e:
            raise e
        msg = send_recv(conv, TEMP_SETTINGS[pnick])
        if 'Invalid pack selected.' in msg.text:
            pack += 1
            TEMP_SETTINGS[
                pname] = f"{TEMP_SETTINGS[f'{pname}_TEMPLATE']}{pack}{name_suffix[0]}"
            TEMP_SETTINGS[
                pnick] = f"{TEMP_SETTINGS[f'{pnick}_TEMPLATE']}{pack}{name_suffix[1]}"
            return create_new(conv, pack, pname, pnick)
        msg = send_recv(conv, media, doc=True)
        if 'Sorry' in msg.text:
            edit(message, f'`{get_translation("stickerError")}`')
            return
        send_recv(conv, emoji)
        send_recv(conv, '/publish')
        if anim or video:
            send_recv(conv, f'<{TEMP_SETTINGS[pnick]}>')
        send_recv(conv, '/skip')
        ret = send_recv(conv, TEMP_SETTINGS[pname])
        while 'already taken' in ret.text:
            pack += 1
            TEMP_SETTINGS[
                pname] = f"{TEMP_SETTINGS[f'{pname}_TEMPLATE']}{pack}{name_suffix[0]}"
            TEMP_SETTINGS[
                pnick] = f"{TEMP_SETTINGS[f'{pnick}_TEMPLATE']}{pack}{name_suffix[1]}"
            ret = send_recv(conv, TEMP_SETTINGS[pname])
        return True

    def add_exist(conv, pack, pname, pnick):
        try:
            send_recv(conv, '/addsticker')
        except Exception as e:
            raise e

        status = send_recv(conv, TEMP_SETTINGS[pname])

        if limit in status.text:
            pack += 1
            TEMP_SETTINGS[
                pname] = f"{TEMP_SETTINGS[f'{pname}_TEMPLATE']}{pack}{name_suffix[0]}"
            TEMP_SETTINGS[
                pnick] = f"{TEMP_SETTINGS[f'{pnick}_TEMPLATE']}{pack}{name_suffix[1]}"
            edit(message, get_translation('packFull', ['`', '**', str(pack)]))
            if pack_created(pname):
                return add_exist(conv, pack, pname, pnick)
            else:
                return create_new(conv, pack, pname, pnick)

        status = send_recv(conv, media, doc=True)
        if ('Sorry' or
            ('duration is too long' or 'File is too big')) in status.text:
            edit(message, get_translation('botError', ['`', '**', chat]))
            return
        send_recv(conv, emoji)
        send_recv(conv, '/done')
        return True

    with PyroConversation(client, chat) as conv:
        try:
            send_recv(conv, '/cancel')
        except YouBlockedUser:
            return edit(message,
                        get_translation('unblockChat', ['**', '`', chat]))
        if pack_created(pname):
            ret = add_exist(conv, pack, pname, pnick)
            if not ret:
                return
        else:
            create_new(conv, pack, pname, pnick)

    edit(message, get_translation('stickerAdded', ['`', TEMP_SETTINGS[pname]]))
    del TEMP_SETTINGS[pname]
    del TEMP_SETTINGS[pnick]
    del TEMP_SETTINGS[f'{pname}_TEMPLATE']
    del TEMP_SETTINGS[f'{pnick}_TEMPLATE']
Example #6
0
def kang(client, message):
    myacc = me[0]
    kanger = myacc.username or myacc.first_name
    if myacc.username:
        kanger = f'@{kanger}'
    args = extract_args(message)

    reply = message.reply_to_message
    if not reply:
        edit(message, f'`{get_translation("stickerUsage")}`')
        return

    anim = False
    media = None

    if (reply.photo or reply.document or reply.sticker):
        edit(message, f'`{choice(DIZCILIK)}`')
        anim = reply.sticker and reply.sticker.is_animated
        media = download_media_wc(reply, sticker_orig=anim)
    else:
        edit(message, f'`{get_translation("stickerError")}`')
        return

    if len(args) < 1:
        args = 1

    emoji = '🤤'

    if ' ' in str(args):
        emoji, args = args.split(' ', 1)

    pack = 1 if not str(args).isdigit() else int(args)

    pname = PACKNAME.replace(
        ' ', '') if PACKNAME else f'a{myacc.id}_by_{myacc.username}_{pack}'
    pnick = PACKNICK or f"{kanger}'s UserBot pack {pack}"

    limit = '50' if anim else '120'

    def pack_created():
        created = get(f'https://telegram.me/addstickers/{pname}')
        created = (('A <strong>Telegram</strong> user has created the '
                    '<strong>Sticker&nbsp;Set</strong>') not in created.text)
        return created

    def create_new(conv, pack):
        cmd = f'/new{"animated" if anim else "pack"}'

        try:
            send_recv(conv, cmd)
        except Exception as e:
            raise e
        msg = send_recv(conv, pnick)
        if msg.text == 'Invalid pack selected.':
            pack += 1
            return create_new(conv)
        msg = send_recv(conv, media, doc=True)
        if 'Sorry, the file type is invalid.' in msg.text:
            edit(message, f'`{get_translation("stickerError")}`')
            return
        send_recv(conv, emoji)
        send_recv(conv, '/publish')
        if anim:
            send_recv(conv, f'<{pnick}>')
        send_recv(conv, '/skip')
        send_recv(conv, pname)

    def add_exist(conv, pack, pname, pnick):
        try:
            send_recv(conv, '/addsticker')
        except Exception as e:
            raise e

        status = send_recv(conv, pname)

        if limit in status.text:
            pack += 1
            pname = PACKNAME.replace(
                ' ',
                '') if PACKNAME else f'a{myacc.id}_by_{myacc.username}_{pack}'
            pnick = PACKNICK or f"{kanger}'s UserBot pack {pack}"
            edit(message, get_translation('packFull', ['`', '**', str(pack)]))
            return add_exist(conv, pack, pname, pnick)

        send_recv(conv, media, doc=True)
        send_recv(conv, emoji)
        send_recv(conv, '/done')
        return True

    if anim:
        pname += '_anim'
        pnick += ' (Animated)'
    else:
        if not reply.sticker:
            media = resizer(media)

    with PyroConversation(client, 'Stickers') as conv:
        if pack_created():
            ret = add_exist(conv, pack, pname, pnick)
            if not ret:
                return
        else:
            create_new(conv, pack)

    edit(message, get_translation('stickerAdded', ['`', pname]))