command = self.MESSAGE['text'].split(" ", 2) command_length = len(command) def escaped_string(unescaped_string): result_string = str(unescaped_string) escaping_rules = { "<": "<", ">": ">", '"': """ } for i in escaping_rules.items(): result_string = result_string.replace(i[0], i[1]) return result_string if (command[0] in self.aliases) and (1 <= command_length <= 3): models = json.loads(readfile(self.path + "translate_models.json")) if command_length == 1: chosen_model = "cz-ua" else: chosen_model = command[1] if command_length == 3: text_to_decode = command[2] else: if self.MESSAGE['reply_to_message'].caption: text_to_decode = self.MESSAGE['reply_to_message'].caption elif self.MESSAGE['reply_to_message'].text: text_to_decode = self.MESSAGE['reply_to_message'].text decoded_text = text_to_decode if chosen_model not in models: self.RESPONSE = f"Такого варіанту транслітерації не існує. Доступні варіанти: " \ f"{', '.join(list(models.keys()))}" else: for i in models[chosen_model]: decoded_text = decoded_text.replace(i[0].lower(), i[1].lower()) decoded_text = decoded_text.replace(i[0].capitalize(), i[1].capitalize()) decoded_text = decoded_text.replace(i[0].upper(), i[1].upper()) self.RESPONSE = f"Результат\n{escaped_string(decoded_text)}" self.FORMAT = "HTML"