# -*- coding: utf-8 -*- # Module author: @trololo_1 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. Возможно вы ввели некириллические символы, либо ввели в ключ что то кроме буквенных символов. " )