mirror of
https://github.com/MuRuLOSE/limoka.git
synced 2026-06-18 07:04:19 +02:00
Merge pull request #15 from MuRuLOSE/update-submodules_af1067bc25224275886fc226f532bc8d021e0954
Update of repositories 2025-08-16 01:06:45
This commit is contained in:
@@ -1,2 +1,19 @@
|
|||||||
# Модули канала [@PyModule](https://pymodule.t.me)
|
# Модули канала [@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...
|
||||||
|
|
||||||
|
|||||||
@@ -16,4 +16,5 @@ githubinfo
|
|||||||
qrgen
|
qrgen
|
||||||
wiki
|
wiki
|
||||||
checkhost
|
checkhost
|
||||||
createavatarspack
|
createavatarspack
|
||||||
|
multiunloadmodule
|
||||||
68
fiksofficial/python-modules/multiunloadmodule.py
Normal file
68
fiksofficial/python-modules/multiunloadmodule.py
Normal file
@@ -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": "<b>Выгружаю модули...</b>",
|
||||||
|
"done": "<b>Выгрузка завершена.</b>",
|
||||||
|
"no_modules": "<b>Укажите хотя бы один модуль.</b>",
|
||||||
|
"progress": "<b>Выгружаю ({current}/{total}):</b> <code>{module}</code>",
|
||||||
|
"error": "<b>Ошибка при выгрузке {mod}:</b> {e}",
|
||||||
|
}
|
||||||
|
|
||||||
|
strings_ru = {
|
||||||
|
"processing": "<b>Выгружаю модули...</b>",
|
||||||
|
"done": "<b>Выгрузка завершена.</b>",
|
||||||
|
"no_modules": "<b>Укажите хотя бы один модуль.</b>",
|
||||||
|
"progress": "<b>Выгружаю ({current}/{total}):</b> <code>{module}</code>",
|
||||||
|
"error": "<b>Error unloading {mod}:</b> {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"))
|
||||||
@@ -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("❌ Ошибка при переводе сообщения.")
|
|
||||||
# артемко лох
|
|
||||||
64
modules.json
64
modules.json
@@ -22435,6 +22435,33 @@
|
|||||||
"Chat"
|
"Chat"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"fiksofficial/python-modules/multiunloadmodule.py": {
|
||||||
|
"name": "MultiUnloadModule",
|
||||||
|
"description": "Unloads several modules at once with one command",
|
||||||
|
"meta": {
|
||||||
|
"pic": null,
|
||||||
|
"banner": null,
|
||||||
|
"developer": "@pymodule"
|
||||||
|
},
|
||||||
|
"commands": [
|
||||||
|
{
|
||||||
|
"mulm": "{modules separated by commas} - unload multiple modules {модули через запятую} — выгрузить несколько модулей"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"new_commands": [
|
||||||
|
{
|
||||||
|
"mulm": {
|
||||||
|
"ru_doc": "{модули через запятую} — выгрузить несколько модулей",
|
||||||
|
"en_doc": null,
|
||||||
|
"doc": "{modules separated by commas} - unload multiple modules"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"category": [
|
||||||
|
"Tools",
|
||||||
|
"Chat"
|
||||||
|
]
|
||||||
|
},
|
||||||
"fiksofficial/python-modules/ai.py": {
|
"fiksofficial/python-modules/ai.py": {
|
||||||
"name": "AIModule",
|
"name": "AIModule",
|
||||||
"description": "Module for interacting with AI",
|
"description": "Module for interacting with AI",
|
||||||
@@ -29113,43 +29140,6 @@
|
|||||||
"Chat"
|
"Chat"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"mead0wsss/mead0wsMods/AutomaticTranslator.py": {
|
|
||||||
"name": "AutomaticTranslator",
|
|
||||||
"description": "Модуль для автоматического перевода сообщений на язык. Создан ради забавы.",
|
|
||||||
"meta": {
|
|
||||||
"pic": null,
|
|
||||||
"banner": "https://x0.at/GgLO.png",
|
|
||||||
"developer": "@mead0wssMods"
|
|
||||||
},
|
|
||||||
"commands": [
|
|
||||||
{
|
|
||||||
"oncmd": "Включить автоматический перевод."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"offcmd": "Выключить автоматический перевод."
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"new_commands": [
|
|
||||||
{
|
|
||||||
"on": {
|
|
||||||
"ru_doc": null,
|
|
||||||
"en_doc": null,
|
|
||||||
"doc": "Включить автоматический перевод."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"off": {
|
|
||||||
"ru_doc": null,
|
|
||||||
"en_doc": null,
|
|
||||||
"doc": "Выключить автоматический перевод."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"category": [
|
|
||||||
"Chat",
|
|
||||||
"Tools"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"mead0wsss/mead0wsMods/DDNetStats.py": {
|
"mead0wsss/mead0wsMods/DDNetStats.py": {
|
||||||
"name": "DDNetStats",
|
"name": "DDNetStats",
|
||||||
"description": "Модуль для просмотра статистики игрока DDNet через ddstats.tw",
|
"description": "Модуль для просмотра статистики игрока DDNet через ddstats.tw",
|
||||||
|
|||||||
Reference in New Issue
Block a user