Exemple #1
0
async def scam(event):
    """ Sahte sohbet eylemleri için küçük bir komut !! """
    options = [
        'typing', 'contact', 'game', 'location', 'voice', 'round', 'video',
        'photo', 'document', 'cancel'
    ]
    input_str = extract_args(event)
    args = input_str.split()
    if len(args) == 0:
        scam_action = choice(options)
        scam_time = randint(30, 60)
    elif len(args) == 1:
        try:
            scam_action = str(args[0]).lower()
            scam_time = randint(30, 60)
        except ValueError:
            scam_action = choice(options)
            scam_time = int(args[0])
    elif len(args) == 2:
        scam_action = str(args[0]).lower()
        scam_time = int(args[1])
    else:
        await event.edit("`Invalid Syntax !!`")
        return
    try:
        if (scam_time > 0):
            await event.delete()
            async with event.client.action(event.chat_id, scam_action):
                await sleep(scam_time)
    except BaseException:
        return
async def lang(value):
    """ .lang komutu birkaç modül için varsayılan dili değiştirir. """
    arr = extract_args(value).split(' ', 1)
    util = arr[0].lower()
    arg = arr[1].lower()
    if util == "trt":
        scraper = "Translator"
        global TRT_LANG
        if arg in LANGUAGES:
            TRT_LANG = arg
            LANG = LANGUAGES[arg]
        else:
            await value.edit(
                f"`Geçersiz dil kodu!`\n`Geçerli dil kodları`:\n\n`{LANGUAGES}`"
            )
            return
    elif util == "tts":
        scraper = "Yazıdan Sese"
        global TTS_LANG
        if arg in tts_langs():
            TTS_LANG = arg
            LANG = tts_langs()[arg]
        else:
            await value.edit(
                f"`Geçersiz dil kodu!`\n`Geçerli dil kodları`:\n\n`{LANGUAGES}`"
            )
            return
    await value.edit(
        f"`{scraper} modülü için varsayılan dil {LANG.title()} diline çevirildi.`"
    )
    if BOTLOG:
        await value.client.send_message(
            BOTLOG_CHATID,
            f"`{scraper} modülü için varsayılan dil {LANG.title()} diline çevirildi.`"
        )
Exemple #3
0
async def payf(event):
    paytext = extract_args(event)
    pay = "{}\n{}\n{}\n{}\n{}\n{}\n{}\n{}\n{}\n{}\n{}\n{}".format(
        paytext * 8, paytext * 8, paytext * 2, paytext * 2, paytext * 2,
        paytext * 6, paytext * 6, paytext * 2, paytext * 2, paytext * 2,
        paytext * 2, paytext * 2)
    await event.edit(pay)
async def get_wttr(weather):
    """ .havadurumu komutu bir bölgenin konumunu wttr üzerinden alır. """

    args = extract_args(weather)

    if len(args) < 1:
        CITY = DEFCITY
        if not CITY:
            await weather.edit(
                "`WEATHER_DEFCITY değişkeniyle bir şehri varsayılan olarak belirt, ya da komutu yazarken hangi şehrin hava durumunu istediğini de belirt!`"
            )
            return
    else:
        CITY = args

    if ',' in CITY:
        CITY = CITY[:CITY.find(',')].strip()

    try:
        req = get(f'http://wttr.in/{CITY}?mqT0',
                  headers={
                      'User-Agent': 'curl/7.66.0',
                      'Accept-Language': 'tr'
                  })
        data = req.text
        if '===' in data:
            raise Exception
        await weather.edit(f'```{data}```')
    except:
        await weather.edit('`Hava durumu bilgisi alınamadı.`')
Exemple #5
0
async def twrp(request):
    """ Android cihazlar için TWRP """
    textx = await request.get_reply_message()
    device = extract_args(request)
    if device:
        pass
    elif textx:
        device = textx.text.split(' ')[0]
    else:
        await request.edit("`Kullanım: .twrp <kod adı>`")
        return
    url = get(f'https://dl.twrp.me/{device}/')
    if url.status_code == 404:
        reply = f"`{device} için resmi twrp bulunamadı!`\n"
        await request.edit(reply)
        return
    page = BeautifulSoup(url.content, 'html.parser')
    download = page.find('table').find('tr').find('a')
    dl_link = f"https://dl.twrp.me{download['href']}"
    dl_file = download.text
    size = page.find("span", {"class": "filesize"}).text
    date = page.find("em").text.strip()
    reply = f'**{device} için güncel twrp:**\n' \
        f'[{dl_file}]({dl_link}) - __{size}__\n' \
        f'**Güncelleme tarihi:** __{date}__\n'
    await request.edit(reply)
async def wiki(wiki_q):
    """ .wiki komutu Vikipedi üzerinden bilgi çeker. """
    wikipedia.set_lang("tr")
    match = extract_args(wiki_q)
    try:
        summary(match)
    except DisambiguationError as error:
        await wiki_q.edit(f"Belirsiz bir sayfa bulundu.\n\n{error}")
        return
    except PageError as pageerror:
        await wiki_q.edit(f"Aradığınız sayfa bulunamadı.\n\n{pageerror}")
        return
    result = summary(match)
    if len(result) >= 4096:
        file = open("wiki.txt", "w+")
        file.write(result)
        file.close()
        await wiki_q.client.send_file(
            wiki_q.chat_id,
            "wiki.txt",
            reply_to=wiki_q.id,
            caption="`Sonuç çok uzun, dosya yoluyla gönderiliyor...`",
        )
        if os.path.exists("wiki.txt"):
            os.remove("wiki.txt")
        return
    await wiki_q.edit("**Arama:**\n`" + match + "`\n\n**Sonuç:**\n" + result)
    if BOTLOG:
        await wiki_q.client.send_message(
            BOTLOG_CHATID,
            f"{match}` teriminin Wikipedia sorgusu başarıyla gerçekleştirildi!`"
        )
Exemple #7
0
async def get_user(event):
    """ Kullanıcıyı argümandan veya yanıtlanan mesajdan alın. """
    if event.reply_to_msg_id:
        previous_message = await event.get_reply_message()
        replied_user = await event.client(
            GetFullUserRequest(previous_message.from_id))
    else:
        user = extract_args(event)

        if user.isnumeric():
            user = int(user)

        if not user:
            self_user = await event.client.get_me()
            user = self_user.id

        if event.message.entities:
            probable_user_mention_entity = event.message.entities[0]

            if isinstance(probable_user_mention_entity,
                          MessageEntityMentionName):
                user_id = probable_user_mention_entity.user_id
                replied_user = await event.client(GetFullUserRequest(user_id))
                return replied_user
        try:
            user_object = await event.client.get_entity(user)
            replied_user = await event.client(
                GetFullUserRequest(user_object.id))
        except (TypeError, ValueError) as err:
            await event.edit(str(err))
            return None

    return replied_user
Exemple #8
0
async def get_chatinfo(event):
    chat = extract_args(event)
    chat_info = None
    if len(chat) > 0 and search('^-?\d+$', chat):
        chat = int(chat)
    elif event.reply_to_msg_id:
        replied_msg = await event.get_reply_message()
        if replied_msg.fwd_from and replied_msg.fwd_from.channel_id :
            chat = replied_msg.fwd_from.channel_id
    elif event.message.entities:
        entity = event.message.entities[0]
        if isinstance(entity, MessageEntityMentionName):
            chat = entity.user_id
    else:
        chat = event.chat_id

    try:
        chat_info = await event.client(GetFullChatRequest(chat))
    except:
        try:
            chat_info = await event.client(GetFullChannelRequest(chat))
        except ChannelInvalidError:
            await event.edit("`Geçersiz kanal/grup`")
            return None
        except ChannelPrivateError:
            await event.edit("`Bu özel bir kanal/grup veya oradan yasaklandım`")
            return None
        except ChannelPublicGroupNaError:
            await event.edit("`Kanal veya süpergrup mevcut değil`")
            return None
        except (TypeError, ValueError) as err:
            await event.edit("`Baktığım şey bir kanal/grup olmayabilir`")
            return None
    return chat_info
Exemple #9
0
async def get_chatinfo(event):
    chat = extract_args(event)
    chat_info = None
    if chat.isdigit():
        chat = int(chat)
    else:
        if event.reply_to_msg_id:
            replied_msg = await event.get_reply_message()
            if replied_msg.fwd_from and replied_msg.fwd_from.channel_id :
                chat = replied_msg.fwd_from.channel_id
        else:
            chat = event.chat_id
    try:
        chat_info = await event.client(GetFullChatRequest(chat))
    except:
        try:
            chat_info = await event.client(GetFullChannelRequest(chat))
        except ChannelInvalidError:
            await event.edit("`Geçersiz kanal/grup`")
            return None
        except ChannelPrivateError:
            await event.edit("`Bu özel bir kanal/grup veya oradan yasaklandım`")
            return None
        except ChannelPublicGroupNaError:
            await event.edit("`Kanal veya süpergrup mevcut değil`")
            return None
        except (TypeError, ValueError) as err:
            await event.edit(str(err))
            return None
    return chat_info
Exemple #10
0
async def kick_marie_filter(event):
    """ .rmfilters komutu Marie'de (ya da onun tabanındaki botlarda) \
        kayıtlı olan notları silmeye yarar. """
    bot_type = extract_args(event).lower()
    if bot_type not in ["marie", "rose"]:
        await event.edit("`Bu bot henüz desteklenmiyor.`")
        return
    await event.edit("```Tüm filtreler temizleniyor...```")
    await sleep(3)
    resp = await event.get_reply_message()
    if not resp:
        await event.edit("`Komut kullanımı hatalı.`")
        return
    filters = resp.text.split("-")[1:]
    for i in filters:
        if bot_type.lower() == "marie":
            await event.reply("/stop %s" % (i.strip()))
        elif bot_type.lower() == "rose":
            i = i.replace('`', '')
            await event.reply("/stop %s" % (i.strip()))
        await sleep(0.3)
    await event.respond("```Botlardaki filtreler başarıyla temizlendi.```")
    if BOTLOG:
        await event.client.send_message(
            BOTLOG_CHATID,
            "Şu sohbetteki tüm filtreleri temizledim: " + str(event.chat_id))
Exemple #11
0
async def upload_dir_to_gdrive(event):
    if not CLIENT_ID or not CLIENT_SECRET:
        await event.edit("`Bu özelliği kullanmanız için gereken anahtarlar eksik.`")
        return
    await event.edit("`İşleniyor ...`")
    input_str = extract_args(event)
    if os.path.isdir(input_str):
        # Yapılacaklar: Gereksiz kodlar kaldırılacak.
        if G_DRIVE_AUTH_TOKEN_DATA :
            with open(G_DRIVE_TOKEN_FILE, "w") as t_file:
                t_file.write(G_DRIVE_AUTH_TOKEN_DATA)
        # Token dosyasının olup olmadığını kontrol eder, eğer yoksa yetkilendirme kodunu isteyerek oluşturur.
        storage = None
        if not os.path.isfile(G_DRIVE_TOKEN_FILE):
            storage = await create_token_file(G_DRIVE_TOKEN_FILE, event)
        http = authorize(G_DRIVE_TOKEN_FILE, storage)
        # Yetkilendirir, dosya parametrelerini edinir, dosyayı uploadlar ve URL'yi indirme için paylaşır.
        # Öncelikle alt dizin oluşturur.
        dir_id = await create_directory(
            http, os.path.basename(os.path.abspath(input_str)), parent_id)
        await DoTeskWithDir(http, input_str, event, dir_id)
        dir_link = "https://drive.google.com/folderview?id={}".format(dir_id)
        await event.edit(f"Google Drive bağlantın [burada]({dir_link})")
    else:
        await event.edit(f"{input_str} dizini bulunamadı.")
Exemple #12
0
async def _(event):
    if event.fwd_from:
        return
    input_str = extract_args(event)
    message_id = event.message.id
    if event.reply_to_msg_id:
        message_id = event.reply_to_msg_id
    if input_str.startswith("#"):
        try:
            usercolor = ImageColor.getrgb(input_str)
        except Exception as e:
            await event.edit(str(e))
            return False
        else:
            im = Image.new(mode="RGB", size=(1280, 720), color=usercolor)
            im.save("sedencik.png", "PNG")
            input_str = input_str.replace("#", "#RENK_")
            await bot.send_file(event.chat_id,
                                "sedencik.png",
                                force_document=False,
                                caption=input_str,
                                reply_to=message_id)
            os.remove("sedencik.png")
            await event.delete()
    else:
        await event.edit("Belki burayı okuyarak bir şeyler öğrenebilirsin.. \
                         `.color <renk kodu>`")
Exemple #13
0
async def purgeme(delme):
    """ .purgeme komutu belirtilen miktarda kullanıcın mesajlarını siler. """
    count = extract_args(delme)
    if not count.isdigit():
        await delme.edit("`Temizlik yapılamadı, sayı geçersiz.`")
        return
    i = 1

    async for message in delme.client.iter_messages(delme.chat_id,
                                                    from_user='******'):
        if i > int(count) + 1:
            break
        i = i + 1
        await message.delete()

    smsg = await delme.client.send_message(
        delme.chat_id,
        "`Temizlik tamamlandı` " + str(count) + " tane mesaj silindi.",
    )
    if BOTLOG:
        await delme.client.send_message(
            BOTLOG_CHATID,
            "Hedeflenen " + str(count) + " mesaj başarıyla silindi.")
    await sleep(2)
    i = 1
    await smsg.delete()
async def moni(event):
    input_str = extract_args(event)
    input_sgra = input_str.split(" ")
    if len(input_sgra) == 3:
        try:
            number = float(input_sgra[0])
            currency_from = input_sgra[1].upper()
            currency_to = input_sgra[2].upper()
            request_url = "https://api.exchangeratesapi.io/latest?base={}".format(
                currency_from)
            current_response = get(request_url).json()
            if currency_to in current_response["rates"]:
                current_rate = float(current_response["rates"][currency_to])
                rebmun = round(number * current_rate, 2)
                await event.edit("{} {} = {} {}".format(
                    number, currency_from, rebmun, currency_to))
            else:
                await event.edit(
                    "`Yazdığın şey uzaylıların kullandığı bir para birimine benziyor, bu yüzden dönüştüremiyorum.`"
                )
        except Exception as e:
            await event.edit(str(e))
    else:
        await event.edit("`Sözdizimi hatası.`")
        return
Exemple #15
0
async def get_usersdel(show):
    """ .usersdel komutu grup içinde ki silinen hesapları gösterir """
    info = await show.client.get_entity(show.chat_id)
    title = info.title if info.title else "this chat"
    mentions = '{} grubunda bulunan silinmiş hesaplar: \n'.format(title)
    try:
        searchq = extract_args(show)
        if len(searchq) < 1:
            async for user in show.client.iter_participants(show.chat_id):
                if user.deleted:
                    mentions += f"\nDeleted Account `{user.id}`"
        else:
            async for user in show.client.iter_participants(
                    show.chat_id, search=f'{searchq}'):
                if user.deleted:
                    mentions += f"\nDeleted Account `{user.id}`"
    except ChatAdminRequiredError as err:
        mentions += " " + str(err) + "\n"
    try:
        await show.edit(mentions)
    except MessageTooLongError:
        await show.edit(
            "Lanet olsun, bu büyük bir grup. Silinen kullanıcılar listesini dosya olarak gönderiyorum."
        )
        file = open("userslist.txt", "w+")
        file.write(mentions)
        file.close()
        await show.client.send_file(
            show.chat_id,
            "deleteduserslist.txt",
            caption='{} grubuna ait olan silinmiş hesaplar:'.format(title),
            reply_to=show.id,
        )
        remove("deleteduserslist.txt")
Exemple #16
0
async def shout(sht):
    textx = await sht.get_reply_message()
    message = extract_args(sht)
    if len(message) > 0:
        pass
    elif textx:
        message = textx.text
    else:
        await sht.edit("`Yazı nerede!`")
        return

    if sht.fwd_from:
        return
    else:
        msg = "```"
        messagestr = sht.text
        messagestr = messagestr[7:]
        text = "".join(messagestr)
        result = []
        result.append(' '.join([s for s in text]))
        for pos, symbol in enumerate(text[1:]):
            result.append(symbol + ' ' + '  ' * pos + symbol)
        result = list("\n".join(result))
        result[0] = text[0]
        result = "".join(result)
        msg = "\n" + result
        await sht.edit("`" + msg + "`")
Exemple #17
0
async def img_sampler(event):
    """ .img komutu Google'da resim araması yapar. """
    await event.edit("İşleniyor...")
    query = extract_args(event)
    lim = findall(r"lim=\d+", query)
    try:
        lim = lim[0]
        lim = lim.replace("lim=", "")
        query = query.replace("lim=" + lim[0], "")
    except IndexError:
        lim = 5
    response = googleimagesdownload()

    # creating list of arguments
    arguments = {
        "keywords": query,
        "limit": lim,
        "format": "jpg",
        "no_directory": "no_directory"
    }

    # passing the arguments to the function
    paths = response.download(arguments)
    lst = paths[0][query]
    await event.client.send_file(
        await event.client.get_input_entity(event.chat_id), lst)
    shutil.rmtree(os.path.dirname(os.path.abspath(lst[0])))
    await event.delete()
Exemple #18
0
async def copypasta(cp_e):
    """ copypasta """
    textx = await cp_e.get_reply_message()
    message = extract_args(cp_e)

    if len(message) > 0:
        pass
    elif textx:
        message = textx.text
    else:
        await cp_e.edit("`😂Bana💯BIR✌️mE🅱️In👐Ver👏`")
        return

    reply_text = choice(EMOJIS)
    b_char = choice(message).lower()
    for owo in message:
        if owo == " ":
            reply_text += choice(EMOJIS)
        elif owo in EMOJIS:
            reply_text += owo
            reply_text += choice(EMOJIS)
        elif owo.lower() == b_char:
            reply_text += "🅱️"
        else:
            if bool(getrandbits(1)):
                reply_text += owo.upper()
            else:
                reply_text += owo.lower()
    reply_text += choice(EMOJIS)
    await cp_e.edit(reply_text)
Exemple #19
0
async def _(event):
    if event.fwd_from:
        return
    input_str = extract_args(event)
    as_text = False
    as_document = True
    if input_str == "image":
        as_document = False
    elif input_str == "file":
        as_document = True
    elif input_str == "text":
        as_text = True
    await event.edit("**İnternet hızımı hesaplıyorum. Lütfen bekle!**")
    start = datetime.now()
    s = speedtest.Speedtest()
    s.get_best_server()
    s.download()
    s.upload()
    end = datetime.now()
    ms = (end - start).microseconds / 1000
    response = s.results.dict()
    download_speed = response.get("download")
    upload_speed = response.get("upload")
    ping_time = response.get("ping")
    client_infos = response.get("client")
    i_s_p = client_infos.get("isp")
    i_s_p_rating = client_infos.get("isprating")
    reply_msg_id = event.message.id
    if event.reply_to_msg_id:
        reply_msg_id = event.reply_to_msg_id
    try:
        response = s.results.share()
        speedtest_image = response
        if as_text:
            await event.edit("""**SpeedTest**, {} saniye içinde tamamlandı
İndirme Hızı: {}
Yükleme Hızı: {}
Ping: {}
İnternet Servis Sağlayıcısı: {}
ISP Rating: {}""".format(ms, convert_from_bytes(download_speed),
                         convert_from_bytes(upload_speed), ping_time, i_s_p,
                         i_s_p_rating))
        else:
            await bot.send_file(
                event.chat_id,
                speedtest_image,
                caption="**SpeedTest**, {} saniye içinde tamamlandı".format(
                    ms),
                force_document=as_document,
                reply_to=reply_msg_id,
                allow_cache=False)
            await event.delete()
    except Exception as exc:
        await event.edit("""**SpeedTest**, {} saniye içinde tamamlandı
İndirme Hızı: {}
Yükleme Hızı: {}
Ping: {}
__With the Following ERRORs__
{}""".format(ms, convert_from_bytes(download_speed),
             convert_from_bytes(upload_speed), ping_time, str(exc)))
Exemple #20
0
async def save_welcome(event):
    try:
        from sedenbot.moduller.sql_helper.welcome_sql import add_welcome_setting
    except:
        await event.edit("`SQL dışı modda çalışıyor!`")
        return
    msg = await event.get_reply_message()
    string = extract_args(event)
    msg_id = None
    if msg and msg.media and not string:
        if BOTLOG_CHATID:
            await event.client.send_message(
                BOTLOG_CHATID, f"#KARSILAMA_NOTU\
            \nGRUP ID: {event.chat_id}\
            \nAşağıdaki mesaj sohbet için yeni Karşılama notu olarak kaydedildi, lütfen silmeyin !!"
            )
            msg_o = await event.client.forward_messages(
                entity=BOTLOG_CHATID,
                messages=msg,
                from_peer=event.chat_id,
                silent=True)
            msg_id = msg_o.id
        else:
            await event.edit(
                "`Karşılama notunu kaydetmek için BOTLOG_CHATID ayarlanması gerekir.`"
            )
            return
    elif event.reply_to_msg_id and not string:
        rep_msg = await event.get_reply_message()
        string = rep_msg.text
    success = "`Karşılama mesajı bu sohbet için {} `"
    if add_welcome_setting(event.chat_id, 0, string, msg_id) is True:
        await event.edit(success.format('kaydedildi'))
    else:
        await event.edit(success.format('güncellendi'))
async def translateme(trans):
    """ .trt komutu verilen metni Google Çeviri kullanarak çevirir. """
    translator = Translator()
    textx = await trans.get_reply_message()
    message = extract_args(trans)
    if message:
        pass
    elif textx:
        message = textx.text
    else:
        await trans.edit("`Bana çevirilecek bir metin wer!`")
        return

    try:
        reply_text = translator.translate(deEmojify(message), dest=TRT_LANG)
    except ValueError:
        await trans.edit("Ayarlanan hedef dil geçersiz.")
        return

    source_lan = LANGUAGES[f'{reply_text.src.lower()}']
    transl_lan = LANGUAGES[f'{reply_text.dest.lower()}']
    reply_text = f"Şu dilden: **{source_lan.title()}**\nŞu dile: **{transl_lan.title()}:**\n\n{reply_text.text}"

    await trans.edit(reply_text)
    if BOTLOG:
        await trans.client.send_message(
            BOTLOG_CHATID,
            f"Birkaç {source_lan.title()} kelime az önce {transl_lan.title()} diline çevirildi.",
        )
async def alivename(kullanici):
    message = extract_args(kullanici)
    output = 'Kullanım: .alives <alive mesajı>'
    if len(message) > 0:
        global KULLANICIMESAJI
        KULLANICIMESAJI = message
        output = f'Alive mesajı, {KULLANICIMESAJI} olarak ayarlandı!'
    await kullanici.edit("`" f"{output}" "`")
Exemple #23
0
async def update_username(username):
    """ .username komutu Telegram'da yeni bir kullanıcı adı belirlemenizi sağlar. """
    newusername = extract_args(username)
    try:
        await username.client(UpdateUsernameRequest(newusername))
        await username.edit(USERNAME_SUCCESS)
    except UsernameOccupiedError:
        await username.edit(USERNAME_TAKEN)
Exemple #24
0
async def _(event):
    if event.fwd_from:
        return
    input_str = extract_args(event)
    deq = deque(list("️❤️🧡💛💚💙💜🖤"))
    for _ in range(32):
        await asyncio.sleep(0.1)
        await event.edit("".join(deq))
        deq.rotate(1)
    await event.edit("❤️🧡💛" + input_str + "💚💙💜🖤")
Exemple #25
0
async def paste(pstl):
    """ .paste komutu metni doğrudan dogbine yapıştırır """
    dogbin_final_url = ""
    match = extract_args(pstl)
    reply_id = pstl.reply_to_msg_id

    if not match and not reply_id:
        await pstl.edit("`Elon Musk boşluğu yapıştıramayacağımı söyledi.`")
        return

    if match:
        message = match
    elif reply_id:
        message = (await pstl.get_reply_message())
        if message.media:
            downloaded_file_name = await pstl.client.download_media(
                message,
                TEMP_DOWNLOAD_DIRECTORY,
            )
            m_list = None
            with open(downloaded_file_name, "rb") as fd:
                m_list = fd.readlines()
            message = ""
            for m in m_list:
                message += m.decode("UTF-8") + "\r"
            os.remove(downloaded_file_name)
        else:
            message = message.message

    # Dogbin
    await pstl.edit("`Metin yapıştırılıyor . . .`")
    resp = post(DOGBIN_URL + "documents", data=message.encode('utf-8'))

    if resp.status_code == 200:
        response = resp.json()
        key = response['key']
        dogbin_final_url = DOGBIN_URL + key

        if response['isUrl']:
            reply_text = ("`Başarıyla yapıştırıldı!`\n\n"
                          f"`Kısaltılmış URL:` {dogbin_final_url}\n\n"
                          "`Orijinal (kısaltılmamış) URL`\n"
                          f"`Dogbin URL`: {DOGBIN_URL}v/{key}\n")
        else:
            reply_text = ("`Pasted successfully!`\n\n"
                          f"`Dogbin URL`: {dogbin_final_url}")
    else:
        reply_text = ("`Dogbine ulaşılamadı`")

    await pstl.edit(reply_text)
    if BOTLOG:
        await pstl.client.send_message(
            BOTLOG_CHATID,
            f"Dogbine metin yapıştırma başarıyla yürütüldü",
        )
Exemple #26
0
async def terminal_runner(term):
    """ .term komutu sunucunuzda bash komutlarını ve komut dosyalarını çalıştırır. """
    curruser = getuser()
    command = extract_args(term)
    try:
        from os import geteuid
        uid = geteuid()
    except ImportError:
        uid = "Bu değil şef!"

    if term.is_channel and not term.is_group:
        await term.edit("`Term komutlarına kanallarda izin verilmiyor`")
        return

    if not command:
        await term.edit("``` Yardım almak için .seden term yazarak \
            örneğe bakabilirsin.```")
        return

    if command in ("userbot.session", "config.env"):
        await term.edit("`Bu tehlikeli bir operasyon! İzin verilemedi!`")
        return

    process = await asyncio.create_subprocess_shell(
        command,
        stdout=asyncio.subprocess.PIPE,
        stderr=asyncio.subprocess.PIPE)
    stdout, stderr = await process.communicate()
    result = str(stdout.decode().strip()) \
        + str(stderr.decode().strip())

    if len(result) > 4096:
        output = open("output.txt", "w+")
        output.write(result)
        output.close()
        await term.client.send_file(
            term.chat_id,
            "output.txt",
            reply_to=term.id,
            caption="`Çıktı çok büyük, dosya olarak gönderiliyor`",
        )
        remove("output.txt")
        return

    if uid == 0:
        await term.edit("`" f"{curruser}:~# {command}" f"\n{result}" "`")
    else:
        await term.edit("`" f"{curruser}:~$ {command}" f"\n{result}" "`")

    if BOTLOG:
        await term.client.send_message(
            BOTLOG_CHATID,
            "Terminal Komutu " + command + " başarıyla yürütüldü",
        )
Exemple #27
0
async def lastlog(lstlog):
    arg = extract_args(lstlog).lower()
    global LastLog
    LastLog = False
    if arg == "on":
        LastLog = True
        await lstlog.edit(LFM_LOG_ENABLED)
    elif arg == "off":
        LastLog = False
        await lstlog.edit(LFM_LOG_DISABLED)
    else:
        await lstlog.edit(LFM_LOG_ERR)
Exemple #28
0
async def lyrics(lyric):
    args = extract_args(lyric)
    if r"-" in args:
        pass
    else:
        await lyric.edit(
            "`Hata: lütfen <sanatçı> ve <şarkı> için bölücü olarak '-' kullanın`\n"
            "Örnek: `Stabil - Reenkarne`")
        return

    if not GENIUS_API_TOKEN:
        await lyric.edit("`Lütfen Genius tokeni ayarlayınız. Teşekkürler!`")
    else:
        genius = lyricsgenius.Genius(GENIUS_API_TOKEN)
        try:
            args = args.split('-')
            artist = args[0].strip()
            song = args[1].strip()
        except:
            await lyric.edit("`Lütfen sanatçı ve şarkı ismini veriniz`")
            return

    if len(args) < 1:
        await lyric.edit("`Lütfen sanatçı ve şarkı ismini veriniz`")
        return

    await lyric.edit(f"`{artist} - {song} için şarkı sözleri aranıyor...`")

    try:
        songs = genius.search_song(song, artist)
    except TypeError:
        songs = None

    if not songs:
        await lyric.edit(f"Şarkı **{artist} - {song}** bulunamadı!")
        return
    if len(songs.lyrics) > 4096:
        await lyric.edit(
            "`Şarkı sözleri çok uzun, görmek için dosyayı görüntüleyin.`")
        with open("lyrics.txt", "w+") as f:
            f.write(f"Arama sorgusu: \n{artist} - {song}\n\n{songs.lyrics}")
        await lyric.client.send_file(
            lyric.chat_id,
            "lyrics.txt",
            reply_to=lyric.id,
        )
        os.remove("lyrics.txt")
    else:
        await lyric.edit(
            f"**Arama sorgusu**: \n`{artist} - {song}`\n\n```{songs.lyrics}```"
        )
    return
Exemple #29
0
async def torrent_download(event):
    torrent_file_path = extract_args(event)
    # Torrent'i kuyruğa ekler.
    try:
        download = aria2.add_torrent(torrent_file_path,
                                     uris=None,
                                     options=None,
                                     position=None)
    except Exception as e:
        await event.edit(str(e))
        return
    gid = download.gid
    await check_progress_for_dl(gid=gid, event=event, previous=None)
Exemple #30
0
async def remove_a_filter(r_handler):
    """ .stop komutu bir filtreyi durdurmanızı sağlar. """
    try:
        from sedenbot.moduller.sql_helper.filter_sql import remove_filter
    except:
        await r_handler.edit("`Bot Non-SQL modunda çalışıyor!!`")
        return
    filt = extract_args(r_handler)
    if not remove_filter(r_handler.chat_id, filt):
        await r_handler.edit(" **{}** `filtresi mevcut değil.`".format(filt))
    else:
        await r_handler.edit("**{}** `filtresi başarıyla silindi`".format(filt)
                             )