Ejemplo n.º 1
0
def wiki(message):
    args = extract_args(message)
    if len(args) < 1:
        edit(message, f'`{get_translation("wrongCommand")}`')
        return
    set_lang(SEDEN_LANG)
    try:
        summary(args)
    except DisambiguationError as error:
        edit(message, get_translation('wikiError', [error]))
        return
    except PageError as pageerror:
        edit(message, get_translation('wikiError2', [pageerror]))
        return
    result = summary(args)
    if len(result) >= 4096:
        file = open('wiki.txt', 'w+')
        file.write(result)
        file.close()
        reply_doc(
            message,
            'wiki.txt',
            caption=f'`{get_translation("outputTooLarge")}`',
            delete_after_send=True,
        )
    edit(message, get_translation('sedenQuery', ['**', '`', args, result]))

    send_log(get_translation('wikiLog', ['`', args]))
Ejemplo n.º 2
0
def shippingTrack(message):
    edit(message, f"`{get_translation('processing')}`")
    trackId = extract_args(message)
    comp = parse_cmd(message.text)
    if not trackId or len(trackId.split(' ')) > 1:
        edit(message, f"`{get_translation('wrongCommand')}`")
        return
    match comp.replace('ç', 'c').replace('ü', 'u'):
        case 'yurtici':
            kargo_data = getShipEntity(company='yurtici', trackId=trackId)
        case 'aras':
            kargo_data = getShipEntity(company='aras', trackId=trackId)
        case 'ptt':
            kargo_data = getShipEntity(company='ptt', trackId=trackId)
        case 'mng':
            kargo_data = getShipEntity(company='mng', trackId=trackId)
        case 'ups':
            kargo_data = getShipEntity(company='ups', trackId=trackId)
        case 'surat':
            kargo_data = getShipEntity(company='surat', trackId=trackId)
        case 'trendyol':
            kargo_data = getShipEntity(company='trendyolexpress', trackId=trackId)
        case 'hepsijet':
            kargo_data = getShipEntity(company='hepsijet', trackId=trackId)
    if kargo_data:
        text = parseShipEntity(kargo_data)
        edit(message, text, parse=enums.ParseMode.HTML)
        return
    edit(message, f"`{get_translation('shippingNoResult')}`")
Ejemplo n.º 3
0
def disapprovepm(message):
    try:
        from sedenecem.sql.pm_permit_sql import dissprove
    except BaseException:
        edit(message, f'`{get_translation("nonSqlMode")}`')
        return

    if message.reply_to_message:
        reply = message.reply_to_message
        replied_user = reply.from_user
        if replied_user.is_self:
            edit(message, f'`{get_translation("cannotDisapproveMyself")}`')
            return
        aname = replied_user.id
        name0 = str(replied_user.first_name)
        uid = replied_user.id
    else:
        aname = message.chat
        if not aname.type == enums.ChatType.PRIVATE:
            edit(message, f'`{get_translation("pmApproveError")}`')
            return
        name0 = aname.first_name
        uid = aname.id

    dissprove(uid)

    edit(message, get_translation('pmDisapprove', [name0, uid, '`']))

    send_log(get_translation('pmDisapprove', [name0, uid, '`']))
Ejemplo n.º 4
0
def set_afk(message):
    args = extract_args(message)
    if len(args) > 0:
        TEMP_SETTINGS['AFK_REASON'] = args
        edit(
            message,
            get_translation('afkStartReason',
                            ['**', '`', TEMP_SETTINGS['AFK_REASON']]),
        )
    else:
        edit(message, f'**{get_translation("afkStart")}**')
    send_log(get_translation('afkLog'))
    TEMP_SETTINGS['IS_AFK'] = True
    raise StopPropagation
Ejemplo n.º 5
0
def packinfo(client, message):
    reply = message.reply_to_message
    if not reply:
        edit(message, f'`{get_translation("packinfoError")}`')
        return

    if not reply.sticker:
        edit(message, f'`{get_translation("packinfoError2")}`')
        return

    edit(message, f'`{get_translation("processing")}`')

    get_stickerset = client.send(
        GetStickerSet(stickerset=InputStickerSetShortName(
            short_name=reply.sticker.set_name)))
    pack_emojis = []
    for document_sticker in get_stickerset.packs:
        if document_sticker.emoticon not in pack_emojis:
            pack_emojis.append(document_sticker.emoticon)

    out = get_translation('packinfoResult', [
        '**', '`', get_stickerset.set.title, get_stickerset.set.short_name,
        get_stickerset.set.official, get_stickerset.set.archived,
        get_stickerset.set.animated, get_stickerset.set.count,
        ' '.join(pack_emojis)
    ])

    edit(message, out)
Ejemplo n.º 6
0
def tts(message):
    textx = message.reply_to_message
    ttsx = extract_args(message)
    if ttsx:
        pass
    elif textx:
        ttsx = textx.text
    else:
        edit(message, f'`{get_translation("ttsUsage")}`')
        return

    try:
        gTTS(ttsx, lang=TTS_LANG)
    except AssertionError:
        edit(message, f'`{get_translation("ttsBlank")}`')
        return
    except ValueError:
        edit(message, f'`{get_translation("ttsNoSupport")}`')
        return
    except RuntimeError:
        edit(message, f'{get_translation("ttsError")}')
        return
    tts = gTTS(ttsx, lang=TTS_LANG)
    tts.save('h.mp3')
    with open('h.mp3', 'rb') as audio:
        linelist = list(audio)
        linecount = len(linelist)
    if linecount == 1:
        tts = gTTS(ttsx, lang=TTS_LANG)
        tts.save('h.mp3')
    with open('h.mp3', 'r'):
        reply_voice(message, 'h.mp3', delete_orig=True)
        remove('h.mp3')

    send_log(get_translation('ttsLog'))
Ejemplo n.º 7
0
def lang(message):
    arr = extract_args(message).split(' ', 1)

    if len(arr) != 2:
        edit(message, f'`{get_translation("wrongCommand")}`')
        return

    util = arr[0].lower()
    arg = arr[1].lower()
    if util == 'trt':
        scraper = get_translation('scraper1')
        global TRT_LANG
        if arg in LANGUAGES:
            TRT_LANG = arg
            LANG = LANGUAGES[arg]
        else:
            edit(message, get_translation('scraperTrt', ['`', LANGUAGES]))
            return
    elif util == 'tts':
        scraper = get_translation('scraper2')
        global TTS_LANG
        if arg in tts_langs():
            TTS_LANG = arg
            LANG = tts_langs()[arg]
        else:
            edit(message, get_translation('scraperTts', ['`', tts_langs()]))
            return
    edit(message, get_translation(
        'scraperResult', ['`', scraper, LANG.title()]))

    send_log(get_translation('scraperLog', ['`', scraper, LANG.title()]))
Ejemplo n.º 8
0
def name(client, message):
    newname = extract_args(message)
    if ' ' not in newname:
        firstname = newname
        lastname = ''
    else:
        namesplit = newname.split(' ', 1)
        firstname = namesplit[0]
        lastname = namesplit[1]

    client.send(
        functions.account.UpdateProfile(first_name=firstname,
                                        last_name=lastname))
    edit(message, NAME_OK)
Ejemplo n.º 9
0
def clap(message):
    textx = message.reply_to_message
    clap = extract_args(message)
    if clap:
        pass
    elif textx:
        clap = textx.text
    else:
        edit(message, f'`{get_translation("clapUsage")}`')
        return
    reply_text = "👏 "
    reply_text += clap.replace(" ", " 👏 ")
    reply_text += " 👏"
    edit(message, reply_text)
Ejemplo n.º 10
0
def dyno_logs(message):
    if not HEROKU_KEY:
        edit(message, f"`{get_translation('notHeroku')}`")
        return

    edit(message, f"`{get_translation('processing')}`")

    heroku = from_key(HEROKU_KEY)
    heroku_app = None
    heroku_applications = heroku.apps()
    if not HEROKU_APPNAME:
        edit(
            message,
            f'`{get_translation("updateHerokuVariables", ["HEROKU_APPNAME "])}`'
        )

    for app in heroku_applications:
        if app.name == HEROKU_APPNAME:
            heroku_app = app
            break

    if heroku_app is None:
        edit(
            message,
            f'`{get_translation("updateHerokuVariables", ["HEROKU_APPNAME "])}`'
        )
        return

    filename = 'seden_heroku_log.txt'

    with open(filename, 'w+') as log:
        log.write(heroku_app.get_log())

    reply_doc(message, filename, delete_after_send=True, delete_orig=True)
Ejemplo n.º 11
0
def iqless(message):
    edit(
        message,
        'DÜÜÜT DÜÜÜTT AÇ YOLU AÇÇ HADİ ASLAN PARÇASI YOLU AÇ \n'
        'HADİ BAK ENGELLİ BEKLİYO BURDA HADİ DÜÜÜTTT ♿️ BAK \n'
        'SİNİRLENDİ ARKADAŞ HADİ YOLU AÇ HADİİ DÜÜÜT DÜÜTT BİİİPP \n'
        'HADİ BE HIZLI OLL DÜÜÜTT BİİİPPP ♿️♿️ BAK HIZLANDI ENGELLİ \n'
        'KARDEŞİMİZ SERİ KÖZ GETİR SERİ DÜÜÜTT DÜÜÜT DÜÜÜÜTTTTT \n'
        'BİİİİPPP BİİİİİPPP DÜÜÜTTT ♿️♿️♿️♿️ BAK ARTIYO SAYILARI \n'
        'AÇTIN MI YOLU AÇMADIN PÜÜÜÜ REZİİİLL DÜÜÜÜTTT ♿️♿️♿️ \n'
        '♿️♿️♿️ BAK KALABALIKLASTI BAK DELI GELIYOR DELIRDI DELI \n'
        'AC YOLU DUTDUTDURURURUDUTTT♿️♿️♿️♿️♿️♿️♿️♿️♿️ \n'
        '♿️♿️♿️♿️♿️KAFAYI YEDI BUNLAR AC LAAAAN YOLU',
    )
Ejemplo n.º 12
0
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()
Ejemplo n.º 13
0
def rbg(message):
    if not RBG_APIKEY:
        return edit(
            message,
            get_translation('rbgApiMissing', ['**', 'Remove.BG', '`']),
            preview=False,
        )
    reply = message.reply_to_message

    if reply and (reply.photo or
                  (reply.document and 'image' in reply.document.mime_type)):
        edit(message, f'`{get_translation("processing")}`')
    else:
        edit(message, f'`{get_translation("rbgUsage")}`')
        return

    IMG_PATH = f'{DOWNLOAD_DIRECTORY}/image.png'

    if path.exists(IMG_PATH):
        remove(IMG_PATH)
    download_media_wc(reply, IMG_PATH)
    edit(message, f'`{get_translation("rbgProcessing")}`')
    try:
        remove_bg = RemoveBg(RBG_APIKEY, get_translation('rbgLog'))
        remove_bg.remove_background_from_img_file(IMG_PATH)
        rbg_img = f'{IMG_PATH}_no_bg.png'
        reply_doc(reply,
                  rbg_img,
                  caption=get_translation('rbgResult'),
                  delete_after_send=True)
        message.delete()
    except Exception as e:
        return edit(message, get_translation('banError', ['`', '**', e]))
def sanisveamed(message):
    edit(
        message, "⠀⠀`.-----.    .-----.    `\n"
        r"` /       '..'       \   `\n"
        "`|                    |  `\n"
        "`|       Ahmet        |  `\n"
        r"` \      Saniş       /   `\n"
        r"`  \                /    `\n"
        r"`   '\            /'     `\n"
        r"`     '\        /'       `\n"
        r"`       '\    /'         `\n"
        r"`         '\/'           `\n"
        "            [Saniş](tg://user?id=623847224) 💘 [NaytSeyd](tg://user?id=551728027)"
    )
Ejemplo n.º 15
0
def getsticker(message):
    reply = message.reply_to_message
    if not reply or not reply.sticker:
        edit(message, f'`{get_translation("replySticker")}`')
        return

    photo = download_media_wc(reply)

    reply_doc(message,
              photo,
              caption=f'**Sticker ID:** `{reply.sticker.file_id}'
              f'`\n**Emoji**: `{reply.sticker.emoji}`',
              delete_after_send=True,
              delete_orig=True)
Ejemplo n.º 16
0
def wiki(message):
    match = extract_args(message)
    if len(match) < 1:
        edit(message, f'`{get_translation("wrongCommand")}`')
        return
    set_lang(SEDEN_LANG)
    match = extract_args(message)
    try:
        summary(match)
    except DisambiguationError as error:
        edit(message, get_translation('wikiError', [error]))
        return
    except PageError as pageerror:
        edit(message, get_translation('wikiError2', [pageerror]))
        return
    result = summary(match)
    if len(result) >= 4096:
        file = open('wiki.txt', 'w+')
        file.write(result)
        file.close()
        reply_doc(message, 'wiki.txt',
                  caption=f'`{get_translation("outputTooLarge")}`')
        if path.exists('wiki.txt'):
            remove('wiki.txt')
        return
    edit(message, get_translation('sedenQuery', ['**', '`', match, result]))

    send_log(get_translation('wikiLog', ['`', match]))
def rbg(client, message):
    if not RBG_APIKEY:
        edit(message,
             get_translation("rbgApiMissing", ['**', 'Remove.BG', '`']),
             preview=False)
        return

    reply = message.reply_to_message

    if reply and (reply.photo or
                  (reply.document
                   and 'image' in reply.document.mime_typereply.document)):
        edit(message, f'`{get_translation("processing")}`')
    else:
        edit(message, f'`{get_translation("rbgUsage")}`')
        return

    IMG_PATH = f'{DOWNLOAD_DIRECTORY}/image.png'

    if path.exists(IMG_PATH):
        remove(IMG_PATH)
    client.download_media(message=reply, file_name=IMG_PATH)
    edit(message, f'`{get_translation("rbgProcessing")}`')
    try:
        remove_bg = RemoveBg(RBG_APIKEY, f'{get_translation("rbgLog")}')
        remove_bg.remove_background_from_img_file(IMG_PATH)
        rbg_img = IMG_PATH + '_no_bg.png'
        reply_doc(reply, rbg_img, caption=f'{get_translation("rbgResult")}')
        message.delete()
    except Exception as e:
        raise e
Ejemplo n.º 18
0
def kick_user(message):
    reply = message.reply_to_message
    edit(message, f'`{get_translation("kickProcess")}`')

    find_user = extract_user(message)
    if len(find_user) < 1:
        return edit(message, f'`{get_translation("banFailUser")}`')

    reason = get_reason(message)

    try:
        replied_user = reply.from_user
        if replied_user.is_self:
            return edit(message, f'`{get_translation("cannotKickMyself")}`')
    except BaseException:
        pass

    for user in find_user:
        if user.id in BRAIN:
            return edit(
                message,
                get_translation('brainError',
                                ['`', '**', user.first_name, user.id]),
            )
        try:
            chat = message.chat
            chat.ban_member(user.id)
            chat.unban_member(user.id)
            edit(
                message,
                get_translation(
                    'kickResult',
                    [
                        '**', user.first_name, user.id, '`',
                        reason if reason else ''
                    ],
                ),
            )
            sleep(1)
            send_log(
                get_translation(
                    'kickLog',
                    [
                        user.first_name,
                        user.id,
                        chat.title,
                        '`',
                        chat.id,
                        reason if reason else '',
                    ],
                ))
        except Exception as e:
            edit(message, get_translation('banError', ['`', '**', e]))
            return
Ejemplo n.º 19
0
def zombie_accounts(client, message):
    args = extract_args(message).lower()
    chat_id = message.chat.id
    count = 0
    msg = f'`{get_translation("zombiesNoAccount")}`'

    if args != 'clean':
        edit(message, f'`{get_translation("zombiesFind")}`')
        for i in client.iter_chat_members(chat_id):
            if i.user.is_deleted:
                count += 1
                sleep(1)
        if count > 0:
            msg = get_translation('zombiesFound', ['**', '`', count])
        return edit(message, msg)

    if not is_admin(message):
        edit(message, f'`{get_translation("adminUsage")}`')
        return message.continue_propagation()

    edit(message, f'`{get_translation("zombiesRemove")}`')
    count = 0
    users = 0

    for i in client.iter_chat_members(chat_id):
        if i.user.is_deleted:
            try:
                client.kick_chat_member(chat_id, i.user.id)
            except UserAdminInvalid:
                count -= 1
                users += 1
            except BaseException:
                return edit(message, f'`{get_translation("zombiesError")}`')
            client.unban_chat_member(chat_id, i.user.id)
            count += 1

    if count > 0:
        msg = get_translation('zombiesResult', ['**', '`', count])

    if users > 0:
        msg = get_translation('zombiesResult2', ['**', '`', count, users])

    edit(message, msg)
    sleep(2)
    message.delete()

    send_log(
        get_translation('zombiesLog', ['**', '`', count, message.chat.title, chat_id])
    )
Ejemplo n.º 20
0
def amogus(message):
    args = extract_args(message)
    reply = message.reply_to_message
    if args:
        pass
    elif reply:
        if not reply.text:
            return edit(message, f'`{get_translation("wrongCommand")}`')
        args = reply.text
    else:
        edit(message, f'`{get_translation("wrongCommand")}`')
        return

    edit(message, f"`{get_translation('processing')}`")

    arr = randint(1, 12)
    fontsize = 100
    FONT_FILE = 'sedenecem/fonts/OpenSans.ttf'
    # https://github.com/KeyZenD/AmongUs
    url = 'https://raw.githubusercontent.com/KeyZenD/AmongUs/master/'
    font = ImageFont.truetype(FONT_FILE, size=int(fontsize))

    imposter = Image.open(BytesIO(get(f'{url}{arr}.png').content))
    text_ = '\n'.join(['\n'.join(wrap(part, 30)) for part in args.split('\n')])
    w, h = ImageDraw.Draw(Image.new('RGB',
                                    (1, 1))).multiline_textsize(text_,
                                                                font,
                                                                stroke_width=2)
    text = Image.new('RGBA', (w + 40, h + 40))
    ImageDraw.Draw(text).multiline_text((15, 15),
                                        text_,
                                        '#FFF',
                                        font,
                                        stroke_width=2,
                                        stroke_fill='#000')
    w = imposter.width + text.width + 30
    h = max(imposter.height, text.height)
    image = Image.new('RGBA', (w, h))
    image.paste(imposter, (0, h - imposter.height), imposter)
    image.paste(text, (w - text.width, 0), text)
    image.thumbnail((512, 512))

    output = BytesIO()
    output.name = 'sus.webp'
    image.save(output, 'WebP')
    output.seek(0)

    reply_sticker(reply or message, output)
    message.delete()
Ejemplo n.º 21
0
def call_notes(message):
    try:
        from sedenbot.modules.notes import get_note
        from sedenbot.modules.snips import get_snip
    except BaseException:
        edit(message, f'`{get_translation("nonSqlMode")}`')
        return

    args = extract_args(message)
    if args.startswith('#'):
        get_note(message)
    elif args.startswith('$'):
        get_snip(message)
    else:
        edit(message, f"`{get_translation('wrongCommand')}`")
Ejemplo n.º 22
0
def stretch(message):
    textx = message.reply_to_message
    stretch = extract_args(message)
    if len(stretch) > 0:
        pass
    elif textx:
        stretch = textx.text
    else:
        edit(message, f'`{get_translation("strUsage")}`')
        return

    count = randint(3, 10)
    reply_text = sub(r'([aeiouAEIOUaeiouAEIOUаеиоуюяыэё])', (r'\1' * count),
                     stretch)
    edit(message, reply_text)
Ejemplo n.º 23
0
def notes(message):
    try:
        from sedenecem.sql.notes_sql import get_notes
    except AttributeError:
        edit(message, f'`{get_translation("nonSqlMode")}`')
        return
    reply = f'`{get_translation("noNote")}`'
    notesx = get_notes(message.chat.id)
    for note in notesx:
        if reply == f'`{get_translation("noNote")}`':
            reply = f'{get_translation("notesChats")}\n'
            reply += '`#{}`\n'.format(note.keyword)
        else:
            reply += '`#{}`\n'.format(note.keyword)
    edit(message, reply)
Ejemplo n.º 24
0
def filters(message):
    try:
        from sedenecem.sql.filters_sql import get_filters
    except BaseException:
        edit(message, f'`{get_translation("nonSqlMode")}`')
        return
    transact = f'`{get_translation("noFilter")}`'
    filters = get_filters(message.chat.id)
    for filt in filters:
        if transact == f'`{get_translation("noFilter")}`':
            transact = f'{get_translation("filterChats")}\n'
            transact += '`{}`\n'.format(filt.keyword)
        else:
            transact += '`{}`\n'.format(filt.keyword)

    edit(message, transact)
def sns(message):
    animation_interval = 0.5
    animation_ttl = range(0, 7)
    edit(message, "Saniş ❤️")
    animation_chars = [
        "S_",
        "SA_",
        "SAN_",
        "SANİ_",
        "SANİŞ_",
        "SANİŞ❤_",
        "[Saniş](tg://user?id=623847224) 💘 [NaytSeyd](tg://user?id=551728027)",
    ]
    for i in animation_ttl:
        sleep(animation_interval)
        edit(message, animation_chars[i % len(animation_chars)])
Ejemplo n.º 26
0
    def add_exist(conv):
        try:
            send_recv(conv, '/addsticker')
        except Exception as e:
            raise e

        status = send_recv(conv, pname)

        if limit in status.text:
            edit(message, f'`{get_translation("stickerPackFull", [pack])}`')
            return False

        send_recv(conv, media, doc=True)
        send_recv(conv, emoji)
        send_recv(conv, '/done')
        return True
Ejemplo n.º 27
0
def getsticker(message):
    reply = message.reply_to_message
    if not reply or not reply.sticker:
        edit(message, f'`{get_translation("replySticker")}`')
        return

    photo = download_media_wc(reply)

    reply_doc(
        reply,
        photo,
        caption=
        f'**Sticker ID:** `{reply.sticker.file_id}`\n**Emoji**: `{reply.sticker.emoji}`'
    )
    message.delete()
    remove(photo)
Ejemplo n.º 28
0
def pin_message(client, message):
    reply = message.reply_to_message

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

    try:
        chat_id = message.chat.id
        message_id = reply.message_id
        client.pin_chat_message(chat_id, message_id)
        edit(message, f'`{get_translation("pinResult")}`')
        sleep(1)
        send_log(get_translation('pinLog', [message.chat.title, '`', chat_id]))
    except Exception as e:
        edit(message, get_translation('banError', ['`', '**', e]))
        return
Ejemplo n.º 29
0
def botver(message):
    if which('git'):
        from subprocess import PIPE, Popen
        degisiklik = Popen(['git', 'rev-list', '--all', '--count'],
                           stdout=PIPE,
                           stderr=PIPE,
                           universal_newlines=True)
        sonuc, _ = degisiklik.communicate()

        edit(message,
             get_translation(
                 'sedenShowBotVersion',
                 ['**', '`', 'Seden UserBot', CHANNEL, BOT_VERSION, sonuc]),
             preview=False)
    else:
        edit(message, f'`{get_translation("sedenGitNotFound")}`')
def magisk(message):
    magisk_dict = {
        "Stable":
        "https://raw.githubusercontent.com/topjohnwu/magisk_files/master/stable.json",
        "Beta":
        "https://raw.githubusercontent.com/topjohnwu/magisk_files/master/beta.json",
        "Canary (Debug)":
        "https://raw.githubusercontent.com/topjohnwu/magisk_files/canary/debug.json"
    }
    releases = f'`{get_translation("magiskReleases")}`\n'
    for name, release_url in magisk_dict.items():
        data = get(release_url).json()
        releases += f'`{name}:` [ZIP v{data["magisk"]["version"]}]({data["magisk"]["link"]}) | ' \
                    f'[APK v{data["app"]["version"]}]({data["app"]["link"]}) | ' \
                    f'[Uninstaller]({data["uninstaller"]["link"]})\n'
    edit(message, releases, preview=False)