diff --git a/fiksofficial/python-modules/README.md b/fiksofficial/python-modules/README.md
index fdaa62c..305e38a 100644
--- a/fiksofficial/python-modules/README.md
+++ b/fiksofficial/python-modules/README.md
@@ -1,2 +1,19 @@
# Модули канала [@PyModule](https://pymodule.t.me)
-На все модули распространяется [лицензия "GNU General Public License v3.0"](https://github.com/fiksofficial/python-modules/blob/main/LICENSE)
+На все модули распространяется [лицензия "GNU General Public License v3.0"](LICENSE)
+
+## Как установить модуль?
+Для начала надо добавить репозиторий
+```
+.addrepo python-modules.vervel.app
+```
+Потом пишете ```.dlm {название модуля}``` и вы успешно установили модуль.
+
+> [!TIP]
+> Если вы не хотите добавлять репозиторий то напишите ```.dlm python-modules.vervel.app/{название модуля}.py```
+
+### Список задач
+- [x] Попасть в FHeta
+- [x] Попасть в Limoka
+- [x] Попасть в команду верефицированных разработчиков модулей Heroku
+- [] Soon...
+
diff --git a/fiksofficial/python-modules/full.txt b/fiksofficial/python-modules/full.txt
index cfdb2b6..d49f815 100644
--- a/fiksofficial/python-modules/full.txt
+++ b/fiksofficial/python-modules/full.txt
@@ -16,4 +16,5 @@ githubinfo
qrgen
wiki
checkhost
-createavatarspack
\ No newline at end of file
+createavatarspack
+multiunloadmodule
\ No newline at end of file
diff --git a/fiksofficial/python-modules/multiunloadmodule.py b/fiksofficial/python-modules/multiunloadmodule.py
new file mode 100644
index 0000000..5560600
--- /dev/null
+++ b/fiksofficial/python-modules/multiunloadmodule.py
@@ -0,0 +1,68 @@
+# ______ ___ ___ _ _
+# ____ | ___ \ | \/ | | | | |
+# / __ \| |_/ / _| . . | ___ __| |_ _| | ___
+# / / _` | __/ | | | |\/| |/ _ \ / _` | | | | |/ _ \
+# | | (_| | | | |_| | | | | (_) | (_| | |_| | | __/
+# \ \__,_\_| \__, \_| |_/\___/ \__,_|\__,_|_|\___|
+# \____/ __/ |
+# |___/
+
+# На модуль распространяется лицензия "GNU General Public License v3.0"
+# https://github.com/all-licenses/GNU-General-Public-License-v3.0
+
+# meta developer: @pymodule
+# requires: asyncio
+
+from .. import loader, utils
+import asyncio
+
+
+@loader.tds
+class MultiUnloadModule(loader.Module):
+ """Unloads several modules at once with one command"""
+
+ strings = {
+ "name": "MultiUnloadModule",
+ "processing": "Выгружаю модули...",
+ "done": "Выгрузка завершена.",
+ "no_modules": "Укажите хотя бы один модуль.",
+ "progress": "Выгружаю ({current}/{total}): {module}",
+ "error": "Ошибка при выгрузке {mod}: {e}",
+ }
+
+ strings_ru = {
+ "processing": "Выгружаю модули...",
+ "done": "Выгрузка завершена.",
+ "no_modules": "Укажите хотя бы один модуль.",
+ "progress": "Выгружаю ({current}/{total}): {module}",
+ "error": "Error unloading {mod}: {e}",
+ }
+
+ @loader.command(ru_doc="{модули через запятую} — выгрузить несколько модулей")
+ async def mulm(self, message):
+ """{modules separated by commas} - unload multiple modules"""
+ args = utils.get_args_raw(message)
+ if not args:
+ await utils.answer(message, self.strings("no_modules"))
+ return
+
+ modules = [m.strip() for m in args.split(",") if m.strip()]
+ if not modules:
+ await utils.answer(message, self.strings("no_modules"))
+ return
+
+ total = len(modules)
+
+ for i, mod in enumerate(modules, start=1):
+ await message.edit(self.strings("progress").format(
+ current=i,
+ total=total,
+ module=mod
+ ))
+ try:
+ await self.invoke("unloadmod", mod, message=message)
+ except ValueError as e:
+ await message.edit(self.strings("error").format(mod=mod, e=e))
+ await asyncio.sleep(1)
+
+ await message.edit(self.strings("done"))
\ No newline at end of file
diff --git a/mead0wsss/mead0wsMods/AutomaticTranslator.py b/mead0wsss/mead0wsMods/AutomaticTranslator.py
deleted file mode 100644
index 777acb8..0000000
--- a/mead0wsss/mead0wsMods/AutomaticTranslator.py
+++ /dev/null
@@ -1,92 +0,0 @@
-__version__ = (1, 0, 0)
-
-# ███╗░░░███╗███████╗░█████╗░██████╗░░█████╗░░██╗░░░░░░░██╗░██████╗░██████╗
-# ████╗░████║██╔════╝██╔══██╗██╔══██╗██╔══██╗░██║░░██╗░░██║██╔════╝██╔════╝
-# ██╔████╔██║█████╗░░███████║██║░░██║██║░░██║░╚██╗████╗██╔╝╚█████╗░╚█████╗░
-# ██║╚██╔╝██║██╔══╝░░██╔══██║██║░░██║██║░░██║░░████╔═████║░░╚═══██╗░╚═══██╗
-# ██║░╚═╝░██║███████╗██║░░██║██████╔╝╚█████╔╝░░╚██╔╝░╚██╔╝░██████╔╝██████╔╝
-# ╚═╝░░░░░╚═╝╚══════╝╚═╝░░╚═╝╚═════╝░░╚════╝░░░░╚═╝░░░╚═╝░░╚═════╝░╚═════╝░
-# © Copyright 2025
-# ✈ https://t.me/mead0wssMods
-
-# scope: hikka_only
-# scope: hikka_min 1.3.3
-# meta developer: @mead0wssMods
-# meta banner: https://x0.at/GgLO.png
-
-import requests
-from .. import loader, utils
-from telethon import events
-
-@loader.tds
-class AutomaticTranslator(loader.Module):
- """Модуль для автоматического перевода сообщений на язык. Создан ради забавы."""
- strings = {"name": "AutomaticTranslator"}
-
- def __init__(self):
- self.config = loader.ModuleConfig(
- loader.ConfigValue(
- "target_language",
- "",
- lambda: "Язык, на который будет производиться перевод (например, 'English').",
- validator=loader.validators.String()
- ),
- loader.ConfigValue(
- "enabled",
- True,
- lambda: "Включить или выключить автоматический перевод.",
- validator=loader.validators.Boolean()
- )
- )
- self.ignore_commands = ['off', 'on', 'cfg']
-
- async def translate_text(self, text, target_language):
- api_key = 'Bearer sk-l4HU4KwZt6bF8gOwwKCOMpfpIKvR9YhDHvTFIGJ6tJ5rPKXE'
- data = {
- "model": "deepseek-v3",
- "messages": [
- {"role": "user", "content": f"Please translate the following text to {target_language}, no extra text, just translation: {text}"}
- ]
- }
-
- response = requests.post("https://cablyai.com/v1/chat/completions", headers={
- 'Authorization': f'Bearer {api_key}',
- 'Content-Type': 'application/json',
- }, json=data)
-
- if response.status_code == 200:
- return response.json()["choices"][0]["message"]["content"]
- else:
- return None
-
- @loader.command()
- async def oncmd(self, event):
- """Включить автоматический перевод."""
- self.config["enabled"] = True
- await event.edit("✅ Автоматический перевод включен.")
-
- @loader.command()
- async def offcmd(self, event):
- """Выключить автоматический перевод."""
- self.config["enabled"] = False
- await event.edit("❌ Автоматический перевод выключен.")
-
- @loader.watcher(out=True)
- async def message_watcher(self, message):
- if not self.config["enabled"]:
- return
-
- if message.raw_text.startswith(tuple(self.ignore_commands)):
- return
-
- target_language = self.config["target_language"]
- if not target_language:
- return
-
- translated_text = await self.translate_text(message.raw_text, target_language)
-
- if translated_text:
- await message.edit(translated_text)
- else:
- await message.edit("❌ Ошибка при переводе сообщения.")
-# артемко лох