Commited backup

This commit is contained in:
2025-07-10 21:02:34 +03:00
parent 952c1001e3
commit da0b80823e
1310 changed files with 254133 additions and 41 deletions

View File

@@ -0,0 +1,212 @@
__version__ = (0, 0, 21)
# ▄▀█ █▄ █ █▀█ █▄ █ █▀█ ▀▀█ █▀█ █ █ █▀
# █▀█ █ ▀█ █▄█ █ ▀█ ▀▀█ █ ▀▀█ ▀▀█ ▄█
#
# © Copyright 2024
#
# developed by @anon97945
#
# https://t.me/apodiktum_modules
# https://github.com/anon97945
#
# 🔒 Licensed under the GNU GPLv3
# 🌐 https://www.gnu.org/licenses/gpl-3.0.html
# meta developer: @apodiktum_modules
# meta banner: https://t.me/apodiktum_dumpster/11
# meta pic: https://t.me/apodiktum_dumpster/13
# scope: hikka_only
# scope: hikka_min 1.3.3
import logging
from telethon.tl.types import Message
from .. import loader, utils
logger = logging.getLogger(__name__)
@loader.tds
class ApodiktumSkeletonMod(loader.Module):
"""
This is a skeleton module.
"""
strings = {
"name": "Apo-Skeleton",
"developer": "@anon97945",
"_cfg_cst_auto_migrate": "Wheather to auto migrate defined changes on startup.",
"_cfg_skel_bool": "This is a skeleton boolean config.",
"_cfg_skel_series": "This is a skeleton series config.",
"_cfg_skel_union": "This is a skeleton union config.",
"_cfg_translation_chats": "Define Chats where the translation is forced.",
"_cmd_skeleton": "This is a skeleton command.",
"no_args": "No args are given...",
"no_int": "Your input was no Integer.",
"skeleton_argmsg": "This is a skeleton message with args.\n{}",
"skeleton_msg": "This is a skeleton message.",
}
strings_en = {}
strings_de = {
"_cfg_skel_bool": "Dies ist ein Skeleton Boolean Config.",
"_cfg_skel_series": "Dies ist ein Skeleton Series Config.",
"_cfg_skel_union": "Dies ist ein Skeleton Union Config.",
"_cfg_translation_chats": "Definiere Chats, wo die Übersetzung erzwungen wird.",
"_cmd_doc_cskeleton": "Dadurch wird die Konfiguration für das Modul geöffnet.",
"_cmd_doc_skeleton": "Dies ist ein Skeleton Command.",
"_cmd_doc_skeletonargs": "Dies ist ein Skeleton Command mit Argumenten.",
"no_args": "Keine Argumente angegeben...",
"no_int": "Dein Eingabe war keine Integer.",
"skeleton_argmsg": "Dies ist ein Skeleton Nachricht mit Argumenten.\n{}",
"skeleton_msg": "Dies ist ein Skeleton Nachricht.",
}
strings_ru = {
"_cfg_skel_bool": "Это скелетная булевая конфигурация.",
"_cfg_skel_series": "Это скелетная конфигурация с сериями.",
"_cfg_skel_union": "Это скелетная конфигурация с объединением.",
"_cfg_translation_chats": "Задать чаты, где применяется перевод.",
"_cls_doc": "Это скелетный модуль.",
"_cmd_doc_cskeleton": "Это откроет конфиг для модуля.",
"_cmd_doc_skeleton": "Это скелетная команда.",
"_cmd_doc_skeletonargs": "Это скелетное сообщение с аргументами.",
"no_args": "ргументы не указаны...",
"no_int": "Ваш ввод не является целочисленным типом (int)",
"skeleton_argmsg": "Это команда с аргументами.\n{}",
"skeleton_msg": "Это скелетное сообщение.",
}
all_strings = {
"strings": strings,
"strings_en": strings,
"strings_de": strings_de,
"strings_ru": strings_ru,
}
changes = {
"migration1": {
"name": {
"old": "Apo Skeleton",
"new": "Apo-Skeleton",
},
},
}
def __init__(self):
self._ratelimit = []
self.config = loader.ModuleConfig(
loader.ConfigValue(
"skeleton_bool",
True,
doc=lambda: self.strings("_cfg_skel_bool"),
validator=loader.validators.Boolean(),
),
loader.ConfigValue(
"skeleton_union",
"None",
doc=lambda: self.strings("_cfg_skel_union"),
validator=loader.validators.Union(
loader.validators.Float(minimum=0, maximum=600),
loader.validators.NoneType(),
),
),
loader.ConfigValue(
"skeleton_series",
[123, 456, 789],
doc=lambda: self.strings("_cfg_skel_series"),
validator=loader.validators.Series(
loader.validators.TelegramID(),
),
),
loader.ConfigValue(
"auto_migrate",
True,
doc=lambda: self.strings("_cfg_cst_auto_migrate"),
validator=loader.validators.Boolean(),
), # for MigratorClas
)
async def client_ready(self):
self.apo_lib = await self.import_lib(
"https://raw.githubusercontent.com/anon97945/hikka-libs/master/apodiktum_library.py",
suspend_on_error=True,
)
await self.apo_lib.migrator.auto_migrate_handler(
self.__class__.__name__,
self.strings("name"),
self.changes,
self.config["auto_migrate"],
)
self.apo_lib.watcher_q.register(
self.__class__.__name__, "q_watcher1"
) # Register the q_watcher1; name is optional if you only have one watcher (q_watcher is the default name)
async def on_unload(self):
self.apo_lib.watcher_q.unregister(
self.__class__.__name__, "q_watcher1"
) # Unregister the q_watcher1; name is necessary if you registered the watcher with a name. Must match the name you registered the watcher with
return
async def on_dlmod(self, client, _):
return
async def cskeletoncmd(self, message: Message):
"""
This will open the config for the module.
"""
name = self.strings("name")
await self.allmodules.commands["config"](
await utils.answer(message, f"{self.get_prefix()}config {name}")
)
async def skeletoncmd(self, message):
"""
This is a skeleton command.
"""
await utils.answer(
message,
self.apo_lib.utils.get_str("skeleton_msg", self.all_strings, message),
)
return
async def skeletoargscmd(self, message):
"""
This is a skeleton command with args.
"""
args = utils.get_args_raw(message)
if not args:
await utils.answer(
message,
self.apo_lib.utils.get_str("no_args", self.all_strings, message),
)
return
if not self.apo_lib.utils.validate_integer(args[0]):
await utils.answer(
message,
self.apo_lib.utils.get_str("no_int", self.all_strings, message),
)
return
await utils.answer(
message,
self.apo_lib.utils.get_str(
"skeleton_argmsg", self.all_strings, message
).format(args),
)
async def q_watcher1(self, message: Message):
"""
This is the watcher function. Name must be the same as the one you registered the q_watcher with
"""
return
async def watcher(self, message):
"""
This is a watcher.
"""
return