def trt(message): translator = Translator() textx = message.reply_to_message trt = extract_args(message) if trt: pass elif textx: trt = textx.text else: edit(message, '`Bana çevirilecek bir metin wer!`') return try: reply_text = translator.translate(deEmojify(trt), dest=TRT_LANG) except ValueError: edit(message, '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'**{source_lan.title()}** dilinden\n**{transl_lan.title()}** diline çevrildi.\n\n`{reply_text.text}`' edit(message, reply_text) send_log( f'Birkaç {source_lan.title()} kelime az önce {transl_lan.title()} diline çevirildi.' )
def wiki(message): match = extract_args(message) if len(match) < 1: edit(message, '`Komut kullanımı hatalı.`') return wikipedia.set_lang("tr") match = extract_args(message) try: summary(match) except DisambiguationError as error: edit(message, f'Belirsiz bir sayfa bulundu.\n\n{error}') return except PageError as pageerror: edit(message, 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() reply_doc(message, 'wiki.txt', caption='`Sonuç çok uzun, dosya yoluyla gönderiliyor...`') if os.path.exists('wiki.txt'): os.remove('wiki.txt') return edit(message, '**Arama:**\n`' + match + '`\n\n**Sonuç:**\n' + result) send_log( f'{match}` teriminin Wikipedia sorgusu başarıyla gerçekleştirildi!`')
def restart(client, message): edit(message, '`Ben kapanıyorum, görüşürüz ...`') send_log('#SHUTDOWN \n' 'Bot kapatıldı.') try: client.terminate() client.disconnect() except: pass execl(executable, 'killall', executable)
def restart(client, message): edit(message, '`Yeniden başlatılıyor ...`') send_log('#RESTART\n' 'Bot yeniden başlatıldı.') try: client.terminate() client.disconnect() except: pass execl(executable, executable, *argv)
def tspam(message): tspam = extract_args(message) if len(tspam) < 1: edit(message, '`Bir şeyler eksik/yanlış gibi görünüyor.`') return message.delete() for metin in tspam.replace(' ',''): message.reply(metin) send_log('#TSPAM \n' 'TSpam başarıyla gerçekleştirildi')
def picspam(message): arr = extract_args_arr(message) if len(arr) < 2 or not arr[0].isdigit(): edit(message, '`Bir şeyler eksik/yanlış gibi görünüyor.`') return message.delete() miktar = int(arr[0]) link = arr[1] for i in range(0, miktar): reply_img(message, link) send_log('#PICSPAM \n' 'PicSpam başarıyla gerçekleştirildi')
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 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 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 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 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 urbandictionary(message): match = extract_args(message) if len(match) < 1: edit(message, '`Komut kullanımı hatalı.`') return edit(message, '`İşleniyor...`') query = extract_args(message) try: define(query) except HTTPError: edit(message, f'Üzgünüm, **{query}** için hiçbir sonuç bulunamadı.') return mean = define(query) deflen = sum(len(i) for i in mean[0]['def']) exalen = sum(len(i) for i in mean[0]['example']) meanlen = deflen + exalen if int(meanlen) >= 0: if int(meanlen) >= 4096: edit(message, '`Sonuç çok uzun, dosya yoluyla gönderiliyor...`') file = open('urbandictionary.txt', 'w+') file.write('Sorgu: ' + query + '\n\nAnlamı: ' + mean[0]['def'] + '\n\n' + 'Örnek: \n' + mean[0]['example']) file.close() reply_doc( message, 'urbandictionary.txt', caption='`Sonuç çok uzun, dosya yoluyla gönderiliyor...`') if os.path.exists('urbandictionary.txt'): os.remove('urbandictionary.txt') message.delete() return edit( message, '`Sorgu:` **' + query + '**\n\n`Anlamı:` **' + mean[0]['def'] + '**\n\n' + '`Örnek:` \n__' + mean[0]['example'] + '__') else: edit(message, query + ' **için hiçbir sonuç bulunamadı**') send_log( query + ' `sözcüğünün UrbanDictionary sorgusu başarıyla gerçekleştirildi!`')
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 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 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 lang(message): arr = extract_args(message).split(' ', 1) util = arr[0].lower() arg = arr[1].lower() if util == "trt": scraper = "Çeviri" global TRT_LANG if arg in LANGUAGES: TRT_LANG = arg LANG = LANGUAGES[arg] else: edit( message, 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: edit( message, f'`Geçersiz dil kodu!`\n`Geçerli dil kodları`:\n\n`{LANGUAGES}`' ) return edit( message, f'`{scraper} modülü için varsayılan dil {LANG.title()} diline çevirildi.`' ) send_log( f'`{scraper} modülü için varsayılan dil {LANG.title()} diline çevirildi.`' )