This commit is contained in:
Gürkan 2021-07-05 10:25:55 +02:00
commit fdd14acebe
14 changed files with 277 additions and 0 deletions

20
EXAMPLES.txt Normal file
View File

@ -0,0 +1,20 @@
Bunlar geldi de duble yollar var çok şükür
Kılışlarolu dış güçlerin adamı
Bunlar geldi de hastaneye gidebilir olduk
Bor madenlerini işletmemize izin vermiyolar
Sana ne gardaşım dolardan ekmeği dolarla mı alıyon
Başımızda reis olmasaydı daha mı iyi olacak sankidi
Çalıyo ama çalışıyo
Ne güzel her yer hastane köprü oldu
HDP iki koyun versen güdemez
Bunlar okyanus ötesinden emir alıyor
Başımızda reis olmasaydı ortalık terörden geçilmezdi
Kılışlarolu iki koyun versen güdemez
Kılışlarolu okyanus ötesinden emir alıyor
Vatan hayini bunlar
Yav adamda liderlik vasfı yok bi kere
Yeni Türkiye'de kitaplar bedava oldu yeğenim
Bunların eline kalsak ortalık terörden geçilmez
Başkası gelse o çalmayacak mı?
Kılışlarolu iki koyun versen güdemez
Bunlar geldi de mafya işleri bitti

11
LICENSE.md Normal file
View File

@ -0,0 +1,11 @@
Copyright (c) 2021, Gürkan (https://github.com/seqizz)
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

9
README.md Normal file
View File

@ -0,0 +1,9 @@
## Sağ zırva jeneratörü [![Try it on telegram](https://img.shields.io/badge/try%20it-on%20telegram-0088cc.svg)](http://t.me/comar_generator_bot)
İmla kurallarına uygun olarak sağcı zırvası/çomar cümleleri üretir.
Veriler tamamen sallanmış olduğundan, beğenmezseniz istediğiniz düzenlemeyi yapabilirsiniz.
Örnekler için [buraya](./EXAMPLES.txt) bakabilirsiniz.
![drunk cat](https://sync.gurkan.in/reaction/drunk_cat.jpg)

View File

73
comar-generator/comar.py Executable file
View File

@ -0,0 +1,73 @@
#!/usr/bin/env python3
import random
from os import path
def find_one_random(inputfile):
with open('{}/data/{}'.format(path.dirname(path.realpath(__file__)), inputfile)) as f:
lines = f.readlines()
random_int = random.randint(0, len(lines) - 1)
return lines[random_int].rstrip()
def find_last_vowel(word):
vowels = set('aeıiouöü')
for idx, item in enumerate(word[::-1], 1):
if item in vowels:
return item
raise ValueError('no vowels found, should not happen')
def format_suffix(chosen_thing):
lv = find_last_vowel(chosen_thing)
if lv in 'aı':
return 'dı'
if lv in 'uo':
return 'du'
if lv in 'üö':
return ''
return 'di'
def sal_comari():
# Pick the special full-sentence ones (lower probability)
if bool(random.choices(population=[0, 1], weights=[4, 1], k=1)[0]):
return find_one_random('ozeller')
is_fixation = not bool(random.getrandbits(1))
is_good = not bool(random.getrandbits(1))
if is_fixation:
entrance = find_one_random('girizgahlar_onlar_tespit')
finishing = find_one_random('tespit_berbat')
elif is_good:
entrance = find_one_random('girizgahlar_bizimkiler')
finishing = find_one_random('vaziyetler_iyi')
else:
entrance = find_one_random('girizgahlar_onlar')
finishing = find_one_random('vaziyetler_berbat')
if 'olmasaydı' in entrance:
finishing = finishing + format_suffix(finishing)
# Add extra spice
if bool(random.getrandbits(1)) and is_good and not is_fixation:
finishing = finishing + ' {}'.format(random.choice([
'yeğenim',
'delüğanlı',
'çok şükür',
'şükür'
]))
return('{} {}'.format(
entrance,
finishing
))
if __name__ == "__main__":
print(sal_comari())

View File

@ -0,0 +1,3 @@
Bunlar geldi de
Çok şükür artık
Yeni Türkiye'de

View File

@ -0,0 +1,5 @@
Bu hükümet olmasaydı
Başımızda reis olmasaydı
CeHaPe gelirse
Başımıza bunlar geçerse
Bunların eline kalsak

View File

@ -0,0 +1,4 @@
Bunlar
CHP
HDP
Kılışlarolu

View File

@ -0,0 +1,17 @@
Almanya bizi gısganıyo
Yav adamda liderlik vasfı yok bi kere
Oyun böyük yeğen
Başkası gelse o çalmayacak mı?
Çalıyo ama çalışıyo
Hülümünati
2023'de lozan bitecek
Bor madenlerini işletmemize izin vermiyolar
Ne güzel her yer hastane köprü oldu
DUBLE YOLLAAAARRRRR
Vatan hayini bunlar
Adam en azından müslüman namazını gılıyo
Dış güçler...
Sana ne gardaşım dolardan ekmeği dolarla mı alıyon
Arkasında kim var? Ameriga. Onun arkasında? İsrayil..
Peker'i dış güçler kullanıyo
Şimdiki gençler iş beğenmiyo

View File

@ -0,0 +1,8 @@
vatan haini
vatan düşmanı
daha pkk ile arasına mesafe koyamıyor
fetöcü
dış güçlerin adamı
okyanus ötesinden emir alıyor
iki koyun versen güdemez
bakkalı versen batırır

View File

@ -0,0 +1,10 @@
tüp bulunmaz
millet ekmeği kuyrukla alır
ortalık terörden geçilmez
devlet zarardan çıkamaz
her gün birileri ölür
millet açlıktan sürünür
devleti komple satarlar
daha mı iyi olacak sanki
mafya düzeni gelir
kürdistanı kurarlar

View File

@ -0,0 +1,9 @@
hastaneye gidebilir olduk
duble yollar var
kitaplar bedava oldu
buzdolabı alabilir olduk
mafya işleri bitti
herkes ünüverste okuyo
LPG'ler falan yok bu ahlaksızlıklar
ekonomi büyüdü
herkesin elinde cep telefonu var

View File

@ -0,0 +1,91 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
import logging
from uuid import uuid4
from os import getenv
from telegram.ext import (
Updater,
CommandHandler,
MessageHandler,
Filters,
InlineQueryHandler,
)
from telegram import InlineQueryResultArticle, InputTextMessageContent
from comar import sal_comari
# Enable logging
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO
)
logger = logging.getLogger(__name__)
def start(bot, update):
bot.message.reply_text(
"Hoşgeldin. Bu bot sadece klişe sağ zırvaları üretir."
)
def echo(bot, update):
bot.message.reply_text(sal_comari())
def error(bot, update, error):
logger.warn('Update "%s" caused error "%s"' % (update, error))
def inline_caps(update, context):
query = update.inline_query.query
if not query:
query = str(uuid4())
results = list()
results.append(
InlineQueryResultArticle(
id=query,
title='Konus comar',
input_message_content=InputTextMessageContent(
sal_comari(),
parse_mode='Markdown'
)
)
)
update.inline_query.answer(results, cache_time=2)
def main():
# Create the EventHandler and pass it your bot's token.
updater = Updater(
getenv('TELEGRAM_TOKEN'),
use_context=True
)
# Get the dispatcher to register handlers
dp = updater.dispatcher
# on different commands - answer in Telegram
dp.add_handler(CommandHandler("start", start))
# inline_caps_handler = InlineQueryHandler(inline_caps)
dp.add_handler(InlineQueryHandler(inline_caps))
# on noncommand i.e message - echo the message on Telegram
dp.add_handler(MessageHandler(Filters.text, echo))
# log all errors
dp.add_error_handler(error)
# Start the Bot
updater.start_polling()
# Run the bot until the you presses Ctrl-C or the process receives SIGINT,
# SIGTERM or SIGABRT. This should be used most of the time, since
# start_polling() is non-blocking and will stop the bot gracefully.
updater.idle()
if __name__ == '__main__':
main()

17
setup.py Normal file
View File

@ -0,0 +1,17 @@
#!/usr/bin/env python3
from distutils.core import setup
from glob import glob
from sysconfig import get_paths
setup(
name='comar-generator',
version='1.0',
description='Sag zirva jeneratoru',
author='seqizz',
include_package_data=True,
packages=["comar-generator"],
data_files=[
('{}/comar-generator/data'.format(get_paths()['purelib']), glob('comar-generator/data/*'))
],
)