# 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(' ERROR. Возможно вы ввели некириллические символы, либо ввели в ключ что то кроме буквенных символов. ') @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(' ERROR. Возможно вы ввели некириллические символы, либо ввели в ключ что то кроме буквенных символов. ')