[TEST] Переработка логики

Перекопана система замены, добавлен больше эффекта случайности, чтобы убрать перебор в заменах.
Исправлена ошибка работы с -ня и мяу~ - больше они не появляются после знаков препинания.
Изменена логика ня-канья - ня распростроняется только на не, но не на его включения.
This commit is contained in:
homayk228
2025-09-20 21:31:23 +07:00
parent d42937dd21
commit ccc2368c45

View File

@@ -33,42 +33,60 @@ class NekoSpeakModule(loader.Module):
self.db.set("NekoSpeak", "banned_chats", list(self.banned_chats))
def neko_speak(self, text):
words = text.split()
new_words = []
for word in words:
if word.lower().startswith("н") and len(word) > 1:
word = "ня" + word[2:]
word = word.replace("р", "р" * random.randint(2,4))
new_words.append(word)
text = " ".join(new_words)
encrypting_count = 0
for x in range(1,3):
if("=" in text[-x]):
encrypting_count+=1
replacements = {
"ничего": "нячего", "что?": "ня?", "ура!": "ня!", "о нет": "о-ня!",
"привет": "мяувет", "Привет": "Мяувет", "хорошо":"мяу-ряско",
"плохо":"мяу-чалька", "пиздец":"мря!", "Пиздец":"Мря!",
"блять":"мяр!", "Блять":"Мяр!", "замечательные":"замуррчательные",
"замечательный":"замуррчательный", "замечательных":"замуррчательных",
"Замечательные":"Замуррчательные", "Замечательный":"Замуррчательный",
"Замечательных":"Замуррчательных", "прекрасное":"замурчательное",
"Прекрасное":"Замурчательное", "прекрасный":"замурчательный",
"Прекрасный":"Замурчательный", "прекрасная":"замурчательная",
"Прекрасная":"Замурчательная", "заебись":"замурчательно",
"Заебись":"Замурчательно", "охуенно":"замурчательно",
"Охуенно":"Замурчательно", "няхуя":"МРЯВ?! Ньё-ньё!!",
"Няхуя":"МРЯВ?! Ньё-ньё!!", "няко":"неко", "Няко":"неко",
"нядо":"надо", "Нядо":"Надо", "В рот ебал":"МРЯФФ!!",
"в рот ебал":"МРЯФФ!!", "ебал":"мряк-мрря!", "Ебал":"МРЯФФ!!",
"хуёво":"ньёрфф...", "Хуёво":"Ньёрфф...", "пидрилит":"мряк-мрря!",
"Пидрилит":"Мряк-мрря!",
}
if(encrypting_count<2):
words = text.split()
new_words = []
for word in words:
if word.lower().startswith("н") and len(word) > 2: #and random.random() < 0.2:
word = "ня" + word[2:]
word = word.replace("р", "р" * random.randint(2,4))
word = word.replace("r", "r" * random.randint(2,4))
new_words.append(word)
text = " ".join(new_words)
for key, value in replacements.items():
text = text.replace(key, value)
replacements = {
"ничего": "нячего", "что?": "ня?", "ура!": "ня!", "о нет": "о-ня!",
"привет": "мяувет", "Привет": "Мяувет", "хорошо":"мяу-ряско",
"плохо":"мяу-чалька", "пиздец":"мря!", "Пиздец":"Мря!",
"блять":"мяр!", "Блять":"Мяр!", "замечательные":"замуррчательные",
"замечательный":"замуррчательный", "замечательных":"замуррчательных",
"Замечательные":"Замуррчательные", "Замечательный":"Замуррчательный",
"Замечательных":"Замуррчательных", "прекрасное":"замурчательное",
"Прекрасное":"Замурчательное", "прекрасный":"замурчательный",
"Прекрасный":"Замурчательный", "прекрасная":"замурчательная",
"Прекрасная":"Замурчательная", "заебись":"замурчательно",
"Заебись":"Замурчательно", "охуенно":"замурчательно",
"Охуенно":"Замурчательно", "няхуя":"МРЯВ?! Ньё-ньё!!",
"Няхуя":"МРЯВ?! Ньё-ньё!!", "няко":"неко", "Няко":"неко",
"нядо":"надо", "Нядо":"Надо", "В рот ебал":"МРЯФФ!!",
"в рот ебал":"МРЯФФ!!", "ебал":"мряк-мрря!", "Ебал":"МРЯФФ!!",
"хуёво":"ньёрфф...", "Хуёво":"Ньёрфф...", "пидрилит":"мряк-мрря!",
"Пидрилит":"Мряк-мрря!",
}
if random.random() < 0.3:
text += " мяу~"
elif random.random() < 0.2:
text += "-ня"
specialchar = [",",".","<",">","/","''",'""',":",";","{","}","[","]","|","!","@","#","$","%","^","&","?","*","(",")","-","_","+","=","`","~",""]
for key, value in replacements.items():
text = text.replace(key, value)
if(text[-1:] in specialchar): sp_char = True
if random.random() < 0.3:
if(sp_char):
text=text[:-1]+" мяу~"+text[-1:]
else:
text += " мяу~"
elif random.random() < 0.2:
if(sp_char):
text=text[:-1]+"-ня"+text[-1:]
else:
text += "-ня"
return text