def lyrics(message): args = extract_args(message) if r"-" in args: pass else: edit( message, "`Hata: lütfen <sanatçı> ve <şarkı> için bölücü olarak '-' kullanın`\n" "`Örnek: Rota - Belki Başka Zaman`") return if not GENIUS_TOKEN: edit(message, '`Lütfen Genius tokeni ayarlayınız. Teşekkürler!`') else: genius = lyricsgenius.Genius(GENIUS_TOKEN) try: args = args.split('-') artist = args[0].strip() song = args[1].strip() except: edit(message, '`Lütfen sanatçı ve şarkı ismini veriniz`') return if len(args) < 1: edit(message, '`Lütfen sanatçı ve şarkı ismini veriniz`') return edit(message, f'`{artist} - {song} için şarkı sözleri aranıyor...`') try: songs = genius.search_song(song, artist) except TypeError: songs = None if not songs: edit(message, f'Şarkı **{artist} - {song}** bulunamadı!') return if len(songs.lyrics) > 4096: edit(message, '`Ş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}') reply_doc(message, 'lyrics.txt') os.remove('lyrics.txt') else: edit( message, f'**Arama sorgusu**: \n`{artist} - {song}`\n\n```{songs.lyrics}```' ) return
def clap(message): textx = message.reply_to_message clap = extract_args(message) if clap: pass elif textx: clap = textx.text else: edit(message, '`Hah, anlamı olmadan alkışlamıyorum!`') return reply_text = "👏 " reply_text += clap.replace(" ", " 👏 ") reply_text += " 👏" edit(message, reply_text)
def carbon(message): match = extract_args(message) if len(match) < 1: edit(message, '`Komut kullanımı hatalı.`') return edit(message, '`İşleniyor...`') CARBON = 'https://carbon.now.sh/?l={lang}&code={code}' global CARBONLANG textx = message.reply_to_message pcode = message.text if pcode[8:]: pcode = str(pcode[8:]) elif textx: pcode = str(textx.message) code = quote_plus(pcode) edit(message, '`İşleniyor...\nTamamlanma Oranı: 25%`') if os.path.isfile("./carbon.png"): os.remove("./carbon.png") url = CARBON.format(code=code, lang=CARBONLANG) driver = get_webdriver() driver.get(url) edit(message, '`İşleniyor...\nTamamlanma Oranı: 50%`') download_path = './' driver.command_executor._commands["send_command"] = ( "POST", '/session/$sessionId/chromium/send_command') params = { 'cmd': 'Page.setDownloadBehavior', 'params': { 'behavior': 'allow', 'downloadPath': download_path } } command_result = driver.execute("send_command", params) driver.find_element_by_xpath("//button[contains(text(),'Export')]").click() edit(message, '`İşleniyor...\nTamamlanma Oranı: 75%`') while not os.path.isfile("./carbon.png"): time.sleep(0.5) edit(message, '`İşleniyor...\nTamamlanma Oranı: 100%`') file = './carbon.png' edit(message, '`Resim karşıya yükleniyor...`') reply_doc( message, file, caption= 'Bu resim [Carbon](https://carbon.now.sh/about/) kullanılarak yapıldı,\ \nbir [Dawn Labs](https://dawnlabs.io/) projesi.', delete_orig=True, delete_after_send=True) driver.quit()
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, '`Baaaaanaaaaa biiiiir meeeeetiiiiin veeeeer!`') return count = randint(3, 10) reply_text = sub(r"([aeiouAEIOUaeiouAEIOUаеиоуюяыэё])", (r"\1" * count), stretch) edit(message, reply_text)
def seden(message): seden = extract_args(message).lower() if seden: if seden in KOMUT: edit(message, str(KOMUT[seden])) else: edit(message, '**Lütfen bir Seden modülü adı belirtin.**') else: edit(message, '**Lütfen hangi Seden modülü için yardım istediğinizi belirtin !\ \nKullanım:** `.seden <modül adı>`') metin = f'**[Seden UserBot](https://telegram.dog/{SUPPORT_GROUP}) Yüklü Modüller:**\n' for liste in KOMUT: metin += '- `' + str(liste) metin += '` \n' reply(message, metin, preview=False)
def paste(client, message): dogbin_final_url = '' match = extract_args(message) reply_id = message.reply_to_message if not match and not reply_id: edit(message, '`Elon Musk boşluğu yapıştıramayacağımı söyledi.`') return if match: dogbin = match elif reply_id: dogbin = (message.reply_to_message) if dogbin.media: downloaded_file_name = client.download_media( dogbin, DOWNLOAD_DIRECTORY, ) m_list = None with open(downloaded_file_name, 'rb') as fd: m_list = fd.readlines() dogbin = '' for m in m_list: dogbin += m.decode('UTF-8') + '\r' os.remove(downloaded_file_name) else: dogbin = dogbin.dogbin edit(message, '`Metin yapıştırılıyor...`') resp = post(DOGBIN_URL + 'documents', data=dogbin.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 = ('`Başarıyla yapıştırıldı!`\n\n' f'`Dogbin URL`: {dogbin_final_url}') else: reply_text = ('`Dogbine ulaşılamadı`') edit(message, reply_text, preview=False)
def ocr(client, message): edit(message, '`Okunuyor...`') if not os.path.isdir(DOWNLOAD_DIRECTORY): os.makedirs(DOWNLOAD_DIRECTORY) lang_code = extract_args(message) downloaded_file_name = client.download_media(message.reply_to_message, DOWNLOAD_DIRECTORY) test_file = ocr_file(filename=downloaded_file_name, language=lang_code) try: ParsedText = test_file['ParsedResults'][0]['ParsedText'] except BaseException: edit(message, '`Bunu okuyamadım.`\n`Sanırım yeni gözlüklere ihtiyacım var.`') else: edit(message, f'`İşte okuyabildiğim şey:`\n\n{ParsedText}') os.remove(downloaded_file_name)
def addblacklist(client, message): if not sql: edit(message, '`SQL dışı modda çalışıyorum, bunu gerçekleştiremem`') return text = extract_args(message) if len(text) < 1: edit(message, '`Bana bir metin ver`') return to_blacklist = list(set(trigger.strip() for trigger in text.split("\n") if trigger.strip())) for trigger in to_blacklist: sql.add_to_blacklist(message.chat.id, trigger.lower()) edit(message, f'`{text}` **kelimesi bu sohbet için karalisteye alındı.**'.format(len(to_blacklist))) send_log(f"#BLACKLIST\ \nGrup ID: `{message.chat.id}`\ \nKelime: `{text}`")
def lfy(message): textx = message.reply_to_message qry = extract_args(message) if qry: query = str(qry) elif textx: query = textx else: edit(message, '`Komut kullanımı hatalı.`') return query = query.message query_encoded = query.replace(" ", "+") lfy_url = f"http://lmgtfy.com/?s=g&iie=1&q={query_encoded}" payload = {'format': 'json', 'url': lfy_url} r = requests.get('http://is.gd/create.php', params=payload) edit(message, f"İşte, keyfine bak.\ \n[{query}]({r.json()['shorturl']})")
def spam(message): spam = extract_args(message) if len(spam) < 1: edit(message, '`Bir şeyler eksik/yanlış gibi görünüyor.`') return arr = spam.split() if not arr[0].isdigit(): edit(message, '`Bir şeyler eksik/yanlış gibi görünüyor.`') return message.delete() miktar = int(arr[0]) metin = spam.replace(arr[0],'').strip() for i in range(0, miktar): reply(message, metin) send_log('#SPAM \n' 'Spam başarıyla gerçekleştirildi')
def delayspam(message): delayspam = extract_args(message) arr = delayspam.split() if len(arr) < 3 or not arr[0].isdigit() or not arr[1].isdigit(): edit(message, '`Bir şeyler eksik/yanlış gibi görünüyor.`') return gecikme = int(arr[0]) miktar = int(arr[1]) spam_message = sub(f'{arr[0]}|{arr[1]}', '', delayspam).strip() message.delete() delaySpamEvent = threading.Event() for i in range(0, miktar): message.reply(spam_message) delaySpamEvent.wait(gecikme) send_log('#DELAYSPAM \n' 'DelaySpam başarıyla gerçekleştirildi')
def terminal(message): command = extract_args(message) if len(command) < 1: edit(message, '`Lütfen bir komut yazın.`') return curruser = getuser() try: from os import geteuid uid = geteuid() except ImportError: uid = 'Bu değil şef!' if not command: edit(message, '`Yardım almak için .seden term yazarak örneğe bakabilirsin.`') return sonuc = 'Komutun sonucu alınamadı.' try: from subprocess import PIPE, Popen islem = Popen(command.split(), stdout=PIPE, stderr=PIPE, universal_newlines=True) sonuc, _ = islem.communicate() except: pass if len(sonuc) > 4096: output = open('cikti.txt', 'w+') output.write(sonuc) output.close() reply_doc(message, 'cikti.txt', caption='`Çıktı çok büyük, dosya olarak gönderiliyor`') remove('cikti.txt') return edit(message, f'`{curruser}:~{"#" if uid == 0 else "$"} {command}\n{sonuc}`', fix_markdown=True) send_log('Terminal Komutu ' + command + ' başarıyla yürütüldü')
def repeat(message): args = extract_args(message).split(' ', 1) if len(args) < 2: edit(message, '`Kullanım şekli hatalı.`') return cnt, txt = args if not cnt.isdigit(): edit(message, '`Kullanım şekli hatalı.`') return replyCount = int(cnt) toBeRepeated = txt replyText = toBeRepeated + "\n" for i in range(0, replyCount - 1): replyText += toBeRepeated + "\n" edit(message, replyText)
def owo(message): textx = message.reply_to_message owo = extract_args(message) if len(owo) > 0: pass elif textx: owo = textx.text else: edit(message, '` UwU bana bir metin ver! `') return reply_text = sub(r"(r|l)", "w", owo) reply_text = sub(r"(R|L)", "W", reply_text) reply_text = sub(r"n([aeiou])", r"ny\1", reply_text) reply_text = sub(r"N([aeiouAEIOU])", r"Ny\1", reply_text) reply_text = sub(r"\!+", " " + choice(UWUS), reply_text) reply_text = reply_text.replace("ove", "uv") reply_text += " " + choice(UWUS) edit(message, reply_text)
def google(message): match = extract_args(message) if len(match) < 1: edit(message, '`Komut kullanımı hatalı.`') return page = findall(r"page=\d+", match) try: page = page[0] page = page.replace("page=", "") match = match.replace("page=" + page[0], "") page = int(page) except: page = 1 msg = do_gsearch(match, page) edit(message, f'**Arama Sorgusu:**\n`{match}`\n\n**Sonuçlar:**\n{msg}', preview=False) send_log(f"{match} `sözcüğü başarıyla Google'da aratıldı!`")
def getpaste(message): textx = message.reply_to_message dogbin = extract_args(message) edit(message, '`Dogbin içeriği alınıyor...`') if textx: dogbin = str(textx.dogbin) format_normal = f'{DOGBIN_URL}' format_view = f'{DOGBIN_URL}v/' if dogbin.startswith(format_view): dogbin = dogbin[len(format_view):] elif dogbin.startswith(format_normal): dogbin = dogbin[len(format_normal):] elif dogbin.startswith('del.dog/'): dogbin = dogbin[len('del.dog/'):] else: edit(message, "`Bu bir Dogbin URL'si mi?`") return resp = get(f'{DOGBIN_URL}raw/{dogbin}') try: resp.raise_for_status() except exceptions.HTTPError as HTTPErr: edit(message, 'İstek başarısız bir durum kodu döndürdü.\n\n' + str(HTTPErr)) return except exceptions.Timeout as TimeoutErr: edit(message, 'İstek zaman aşımına uğradı.' + str(TimeoutErr)) return except exceptions.TooManyRedirects as RedirectsErr: edit( message, 'İstek, yapılandırılmış en fazla yönlendirme sayısını aştı.' + str(RedirectsErr)) return reply_text = '`Dogbin URL içeriği başarıyla getirildi!`\n\n`İçerik:` ' + resp.text edit(message, reply_text)
def mock(message): reply_text = list() textx = message.reply_to_message mock = extract_args(message) if mock: pass elif textx: mock = textx.text else: edit(message, '`bANa bIr mETin vEr!`') return for charac in mock: if charac.isalpha() and randint(0, 1): to_app = charac.upper() if charac.islower() else charac.lower() reply_text.append(to_app) else: reply_text.append(charac) edit(message, ''.join(reply_text))
def direct(message): edit(message, '`İşleniyor...`') textx = message.reply_to_message direct = extract_args(message) if direct: pass elif textx: direct = textx.text else: edit(message, '`Kullanım: .direct <link>`') return reply = '' links = re.findall(r'\bhttps?://.*\.\S+', direct) if not links: reply = '`Link bulunamadı!`' edit(message, reply) for link in links: if 'drive.google.com' in link: reply += gdrive(link) elif 'zippyshare.com' in link: reply += zippy_share(link) elif 'mega.' in link: reply += mega_dl(link) elif 'yadi.sk' in link: reply += yandex_disk(link) elif 'cloud.mail.ru' in link: reply += cm_ru(link) elif 'mediafire.com' in link: reply += mediafire(link) elif 'sourceforge.net' in link: reply += sourceforge(link) elif 'osdn.net' in link: reply += osdn(link) elif 'github.com' in link: reply += github(link) elif 'androidfilehost.com' in link: reply += androidfilehost(link) else: reply += re.findall(r"\bhttps?://(.*?[^/]+)", link)[0] + 'desteklenmiyor' edit(message, reply)
def vapor(message): reply_text = list() textx = message.reply_to_message vapor = extract_args(message) if len(vapor) > 0: pass elif textx: vapor = textx.text else: edit(message, '`Bana bir metin ver!`') return for charac in vapor: if 0x21 <= ord(charac) <= 0x7F: reply_text.append(chr(ord(charac) + 0xFEE0)) elif ord(charac) == 0x20: reply_text.append(chr(0x3000)) else: reply_text.append(charac) edit(message, ''.join(reply_text))
def color(message): input_str = extract_args(message) message_id = message.chat.id if message.reply_to_message: message_id = message.reply_to_message if input_str.startswith('#'): try: usercolor = ImageColor.getrgb(input_str) except Exception as e: edit(message, 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_') reply_img(message, 'sedencik.png', caption=input_str) os.remove('sedencik.png') message.delete() else: edit(message, "Belki burayı okuyarak bir şeyler öğrenebilirsin.. \ `.color <renk kodu> | Örnek: .color #330066`")
def ddgo(message): query = extract_args(message) if len(query) < 1: edit(message, '`Komut kullanımı hatalı.`') return req = get( f'https://duckduckgo.com/lite?q={query}', headers={ 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', 'Content-Type': 'text/html' }) soup = BeautifulSoup(req.text, 'html.parser') res1 = soup.findAll('table', {'border': 0}) res1 = res1[-1].findAll('tr') edit(message, f'**Arama Sorgusu:**\n`{query}`\n\n' f'**Sonuçlar:**\n{do_ddsearch(query, res1)}', preview=False) send_log(f"{query} `sözcüğü başarıyla DuckDuckGo'da aratıldı!`")
def type(message): textx = message.reply_to_message type = extract_args(message) if type: pass elif textx: type = textx.text else: edit(message, 'Bana bir metin ver!`') return sleep_time = 0.03 typing_symbol = "|" old_text = '' edit(message, typing_symbol) time.sleep(sleep_time) for character in type: old_text = old_text + "" + character typing_text = old_text + "" + typing_symbol edit(message, typing_text) time.sleep(sleep_time) edit(message, old_text) time.sleep(sleep_time)
def eval(message): args = extract_args(message) if len(args) < 1: edit(message, '`Değerlendirmek için bir ifade verin.`') return try: evaluation = safe_eval(args) if evaluation: if isinstance(evaluation, str): if len(evaluation) >= 4096: file = open('cikti.txt', 'w+') file.write(evaluation) file.close() reply_doc( message, 'cikti.txt', caption='`Çıktı çok büyük, dosya olarak gönderiliyor`', ) remove('cikti.txt') return edit( message, '**Sorgu: **\n`' f'{args}' '`\n**Sonuç: **\n`' f'{evaluation}' '`') else: edit( message, '**Sorgu: **\n`' f'{args}' '`\n**Sonuç: **\n`Sonuç döndürülemedi / Yanlış`') except Exception as err: edit(message, '**Sorgu: **\n`' f'{args}' '`\n**İstisna: **\n' f'`{err}`') send_log(f'Eval sorgusu {args} başarıyla yürütüldü')
def ss(message): input_str = extract_args(message) link_match = match(r'\bhttp(.*)?://.*\.\S+', input_str) if link_match: link = link_match.group() else: edit( message, '`Ekran görüntüsü alabilmem için geçerli bir bağlantı vermelisin.`' ) return edit(message, '`İşleniyor ...`') driver = get_webdriver() driver.get(link) height = driver.execute_script( "return Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);" ) width = driver.execute_script( "return Math.max(document.body.scrollWidth, document.body.offsetWidth, document.documentElement.clientWidth, document.documentElement.scrollWidth, document.documentElement.offsetWidth);" ) driver.set_window_size(width + 125, height + 125) wait_for = int(height / 1000) edit( message, f'`Sayfanın ekran görüntüsü oluşturuluyor ...`\ \n`Sayfanın yüksekliği: {height} piksel`\ \n`Sayfanın genişliği: {width} piksel`\ \n`Sayfanın yüklenmesi için {wait_for} saniye beklendi.`') time.sleep(wait_for) im_png = driver.get_screenshot_as_base64() # Sayfanın ekran görüntüsü kaydedilir. driver.close() message_id = message.message_id if message.reply_to_message: message_id = message.reply_to_message name = 'ekran_goruntusu.png' with open(name, 'wb') as out: out.write(b64decode(im_png)) edit(message, '`Ekran görüntüsü karşıya yükleniyor ...`') reply_doc(message, name, caption=input_str, delete_after_send=True)
def device(message): textx = message.reply_to_message codename = extract_args(message) if codename: pass elif textx: codename = textx.text else: edit(message, '`Kullanım: .device <kod adı> Örnek: .device raphael`') return data = json.loads(get("https://raw.githubusercontent.com/androidtrackers/" "certified-android-devices/master/by_device.json").text) results = data.get(codename) if results: reply = f'**{codename} için arama sonuçları**:\n\n' for item in results: reply += f"**Marka**: {item['brand']}\n" \ f"**İsim**: {item['name']}\n" \ f"**Model**: {item['model']}\n\n" else: reply = f'`{codename} cihazı için bilgi bulunamadı!`\n' edit(message, reply)
def tts(message): textx = message.reply_to_message ttsx = extract_args(message) if ttsx: pass elif textx: ttsx = textx.text else: edit(message, '`Yazıdan sese çevirmek için bir metin gir.`') return try: gTTS(ttsx, lang=TTS_LANG) except AssertionError: edit( message, 'Metin boş.\n' 'Ön işleme, tokenizasyon ve temizlikten sonra konuşacak hiçbir şey kalmadı.' ) return except ValueError: edit(message, 'Bu dil henüz desteklenmiyor.') return except RuntimeError: edit(message, 'Dilin sözlüğünü görüntülemede bir hata gerçekleşti.') 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) os.remove('h.mp3') send_log('Metin başarıyla sese dönüştürüldü!')
def zalgofy(message): reply_text = list() textx = message.reply_to_message zalgofy = extract_args(message) if len(zalgofy) > 0: pass elif textx: zalgofy = textx.text else: edit(message, '`B̺ͬa̠͑n̵̉a̬͜ b̶͔i̼͚r͈͞ m̼͘ę̝t͔͙i̢ͮn̜͗ v͢͜e̗͐r̴ͮ`') return for charac in zalgofy: if not charac.isalpha(): reply_text.append(charac) continue for _ in range(0, 3): charac += choice(ZALGS[randint(0, 2)]).strip() reply_text.append(charac) edit(message, ''.join(reply_text))
def hash(message): hashtxt_ = extract_args(message) if len(hashtxt_) < 1: edit(message, '`Komutun yanına bir metin yazın.`') return hashtxt = open("hash.txt", "w+") hashtxt.write(hashtxt_) hashtxt.close() md5 = runapp(["md5sum", "hash.txt"], stdout=PIPE) md5 = md5.stdout.decode() sha1 = runapp(["sha1sum", "hash.txt"], stdout=PIPE) sha1 = sha1.stdout.decode() sha256 = runapp(["sha256sum", "hash.txt"], stdout=PIPE) sha256 = sha256.stdout.decode() sha512 = runapp(["sha512sum", "hash.txt"], stdout=PIPE) runapp(["rm", "hash.txt"], stdout=PIPE) sha512 = sha512.stdout.decode() def rem_filename(st): return st[:st.find(' ')] ans = (f"Text: `{hashtxt_}`" f"\nMD5: `{rem_filename(md5)}`" f"\nSHA1: `{rem_filename(sha1)}`" f"\nSHA256: `{rem_filename(sha256)}`" f"\nSHA512: `{rem_filename(sha512)}`") if len(ans) > 4096: hashfile = open("hash.txt", "w+") hashfile.write(ans) hashfile.close() reply_doc(message, "hash.txt", caption='`Çok büyük, bunun yerine bir metin dosyası gönderiliyor. `') runapp(["rm", "hash.txt"], stdout=PIPE) message.delete() else: edit(message, ans)
def ezanvakti(message): konum = extract_args(message).lower() if len(konum) < 1: edit(message, '`Lütfen komutun yanına bir şehir belirtin.`') return try: knum = find_loc(konum) if knum < 0: raise ValueError request = get(f'https://namazvakitleri.diyanet.gov.tr/tr-TR/{knum}') result = BeautifulSoup(request.text, 'html.parser') except: edit(message, f'`{konum} için bir bilgi bulunamadı.`') return res1 = result.body.findAll('div', {'class':['body-content']}) res1 = res1[0].findAll('script') res1 = sub('<script>|</script>|\r|{.*?}|\[.*?\]|\n ', '', str(res1[0]), flags=DOTALL) res1 = sub('\n\n', '\n', res1)[:-1].split('\n') def get_val(st): return [i.split('=')[1].replace('"','').strip() for i in st[:-1].split(';')] res2 = get_val(res1[1]) res3 = get_val(res1[2]) vakitler = ("**Diyanet Namaz Vakitleri**\n\n" + f"📍 **Yer:** `{res2[1]}`\n\n" + f"🏙 **İmsak:** `{res3[0]}`\n" + f"🌅 **Güneş:** `{res3[1]}`\n" + f"🌇 **Öğle:** `{res3[2]}`\n" + f"🌆 **İkindi:** `{res3[3]}`\n" + f"🌃 **Akşam:** `{res3[4]}`\n" + f"🌌 **Yatsı:** `{res3[5]}`") edit(message, vakitler)
def upload(message): args = extract_args(message) if len(args) < 1: edit(message, '`Buraya hiçliği yükleyemem.`') return def progress(current, total): edit( message, '`Yükleniyor ... ' + '(%{:.2f})`'.format(current * 100 / total) + f'\n{args}') if isfile(args): try: edit(message, f'`Yükleniyor ...`\n{args}') reply_doc(message, args, progress=progress) edit(message, '`Yükleme tamamlandı!`') except Exception as e: edit(message, '`Dosya yüklenemedi.`') raise e return edit(message, '`Dosya bulunamadı.`')