Files
limoka/trololo65/Modules/Vizjener.py
2025-07-11 08:27:20 +00:00

103 lines
3.2 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# meta developer: @trololo_1
import asyncio
import logging
from .. import loader, utils
logger = logging.getLogger(__name__)
@loader.tds
class VijenerMod(loader.Module):
"""Конвертация текста в шифр Виженеря и наоборот. """
strings = {
"name": "Vizjener"
}
@loader.unrestricted
async def tovizcmd(self, message):
""".toviz {ключ} {текст}"""
try:
alphabet = ['','а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я']
text = utils.get_args_raw(message)
key = str(text.split(' ')[0])
shifr = str(text.split(' ', maxsplit=1)[1])
key_list = []
shifr_list = []
for word in key.split():
for letter in word.lower():
key_list.append(letter)
for word in shifr.split():
for letter in word.lower():
shifr_list.append(letter)
shifr_list.append(' ')
key_index = 0
sms = ''
for i in range(0, len(shifr_list )):
if shifr_list[i].isalpha():
if key_index == len(key_list):
key_index = 0
a = alphabet.index(shifr_list[i])
b = alphabet.index(key_list[key_index])
result = int(a) + int(b)
if result >= 33:
result=result%33
if result == 0:
result=33
sms+=alphabet[result]
key_index+=1
else:
sms+=shifr_list[i]
await message.edit(sms)
except:
await message.edit('<strong> ERROR. Возможно вы ввели некириллические символы, либо ввели в ключ что то кроме буквенных символов. </strong>')
@loader.unrestricted
async def tounvizcmd(self, message):
""".tounviz {ключ} {текст}"""
try:
alphabet = ['', 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я']
text = utils.get_args_raw(message)
key = str(text.split(' ')[0])
shifr = str(text.split(' ', maxsplit=1)[1])
key_list = []
shifr_list = []
for word in key.split():
for letter in word.lower():
key_list.append(letter)
for word in shifr.split():
for letter in word.lower():
shifr_list.append(letter)
shifr_list.append(' ')
key_index = 0
sms = ''
for i in range(0, len(shifr_list )):
if shifr_list[i].isalpha():
if key_index == len(key_list):
key_index = 0
a = alphabet.index(shifr_list[i])
b = alphabet.index(key_list[key_index])
if int(b) == 33:
result = int(a) % int(b)
else:
result = int(a) - int(b)
if result < 0:
result=result-1
if result == 0:
result=33
sms+=alphabet[result]
key_index+=1
else:
sms+=shifr_list[i]
await message.edit(sms)
except:
await message.edit('<strong> ERROR. Возможно вы ввели некириллические символы, либо ввели в ключ что то кроме буквенных символов. </strong>')