diff --git a/coddrago/modules/dbmod.py b/coddrago/modules/dbmod.py
index a8f69c9..42d0cfd 100644
--- a/coddrago/modules/dbmod.py
+++ b/coddrago/modules/dbmod.py
@@ -13,7 +13,7 @@ class DBMod(loader.Module):
"close_btn": "❌ Close",
"back_btn": "⬅ Back",
"del_btn": "🗑 Delete",
- "del_all_btn": "💣 Delete all",
+ "del_all_btn": "❌ Delete all",
"not_found": "🔍 Key {key} not found",
"invalid_key": "⚠ Invalid key",
"page": "📄 Page {current}/{total}",
@@ -34,7 +34,7 @@ class DBMod(loader.Module):
"close_btn": "❌ Закрыть",
"back_btn": "⬅ Назад",
"del_btn": "🗑 Удалить",
- "del_all_btn": "💣 Удалить все",
+ "del_all_btn": "❌ Удалить все",
"not_found": "🔍 Ключ {key} не найден",
"invalid_key": "⚠ Некорректный ключ",
"page": "📄 Страница {current}/{total}",
@@ -240,6 +240,7 @@ class DBMod(loader.Module):
{
"text": self.strings["del_all_btn"],
"callback": self.confirm_delete_all,
+ "style": "danger",
"args": [key_path],
}
]
@@ -290,6 +291,7 @@ class DBMod(loader.Module):
{
"text": self.strings["back_btn"],
"callback": self.navigate_db,
+ "style": "primary",
"args": [key_path[:-1], parent_page],
}
)
@@ -329,6 +331,7 @@ class DBMod(loader.Module):
{
"text": self.strings["del_all_btn"],
"callback": self.confirm_delete_all,
+ "style": "danger",
"args": [key_path],
}
]
@@ -344,13 +347,16 @@ class DBMod(loader.Module):
{
"text": self.strings["del_btn"],
"callback": self.delete_key,
+ "styles": "danger",
"args": [key_path],
}
],
[
{
"text": self.strings["back_btn"],
+ "style": "primary",
"callback": self.navigate_db,
+ "style": "primary",
"args": [key_path[:-1], parent_page],
}
],
@@ -363,6 +369,7 @@ class DBMod(loader.Module):
{
"text": self.strings["del_btn"],
"callback": self.delete_key,
+ "style": "danger",
"args": [key_path],
}
],
@@ -370,6 +377,7 @@ class DBMod(loader.Module):
{
"text": self.strings["back_btn"],
"callback": self.navigate_db,
+ "style": "primary",
"args": [key_path[:-1], parent_page],
}
],
diff --git a/fajox1/famods/cocoon.py b/fajox1/famods/cocoon.py
index fd5ce3b..aff16ad 100644
--- a/fajox1/famods/cocoon.py
+++ b/fajox1/famods/cocoon.py
@@ -11,26 +11,54 @@
# Description: Взаимодействие с Cocoon от HikkaHost
# meta developer: @FAmods & @vsecoder_m
# meta banner: https://github.com/FajoX1/FAmods/blob/main/assets/banners/cocoon.png?raw=true
-# requires: openai httpx aiohttp
+# requires: openai httpx aiohttp bs4 markdown
# ---------------------------------------------------------------------------------
+import re
import html
+import uuid
import httpx
import asyncio
import logging
+import markdown
from openai import AsyncOpenAI
from typing import Optional, Any
from dataclasses import dataclass
+from bs4 import BeautifulSoup, NavigableString
from datetime import datetime, timezone, timedelta
+from telethon.tl.types import User
from telethon.errors import MessageNotModifiedError
+from aiogram.exceptions import TelegramBadRequest
+
from .. import loader, utils
+from ..inline.types import InlineCall
logger = logging.getLogger(__name__)
+TG_ALLOWED = {
+ "b",
+ "strong",
+ "i",
+ "em",
+ "u",
+ "ins",
+ "s",
+ "strike",
+ "del",
+ "a",
+ "code",
+ "pre",
+ "blockquote",
+ "emoji",
+ "tg-emoji",
+}
+TAG_MAP = {"strong": "b", "em": "i", "del": "s", "strike": "s", "ins": "u"}
+
+
@dataclass(frozen=True)
class Usage:
spent_nano: int
@@ -110,6 +138,92 @@ def _percent_remaining(spent: int, total: int) -> float:
return (remaining / total) * 100.0
+def md_to_tg_html(text: str) -> str:
+ if not text:
+ return ""
+
+ raw_html = markdown.markdown(text, extensions=["fenced_code", "tables", "nl2br"])
+ soup = BeautifulSoup(raw_html, "html.parser")
+
+ def stringify(node, lang=None):
+ res = ""
+
+ for child in node.children:
+ if isinstance(child, NavigableString):
+ res += html.escape(str(child))
+
+ elif child.name:
+ tag_name = child.name
+
+ if tag_name in ["h1", "h2", "h3", "h4", "h5", "h6"]:
+ content = stringify(child)
+ res += f"{content}\n\n"
+ elif tag_name == "p":
+ res += stringify(child) + "\n\n"
+ elif tag_name == "br":
+ res += "\n"
+ elif tag_name == "li":
+ res += f"• {stringify(child)}\n"
+ elif tag_name in ["ul", "ol"]:
+ res += stringify(child) + "\n"
+ elif tag_name == "tr":
+ res += "| " + stringify(child) + "\n"
+ elif tag_name in ["td", "th"]:
+ res += stringify(child) + " | "
+
+ else:
+ target_tag = TAG_MAP.get(tag_name, tag_name)
+
+ if target_tag in TG_ALLOWED:
+ inner_html = stringify(child)
+
+ if not inner_html.strip() and target_tag not in ["code", "pre"]:
+ res += inner_html
+ continue
+
+ if target_tag == "a":
+ href = child.get("href", "")
+ if href:
+ res += f'{inner_html}'
+ else:
+ res += inner_html
+ elif target_tag == "code":
+ cls = child.get("class", [])
+ if cls and cls[0].startswith("language-"):
+ res += f'{inner_html}'
+ else:
+ res += f"{inner_html}"
+ elif target_tag == "pre":
+ res += f"
{inner_html}"
+ else:
+ res += f"<{target_tag}>{inner_html}{target_tag}>"
+ else:
+ res += stringify(child)
+ return res
+
+ final_text = stringify(soup)
+
+ final_text = re.sub(r"\n{3,}", "\n\n", final_text)
+ return final_text.strip()
+
+
+def repair_html_tags(html_chunk: str) -> str:
+ if not html_chunk:
+ return ""
+
+ newline_placeholder = f"MARKER_{uuid.uuid4().hex}"
+
+ protected_html = html_chunk.replace("\n", newline_placeholder)
+
+ soup = BeautifulSoup(protected_html, "html.parser")
+
+ repaired_html = soup.decode_contents(formatter=None)
+
+ final_html = repaired_html.replace(newline_placeholder, "\n")
+
+ return final_html
+
+
@loader.tds
class Cocoon(loader.Module):
"""Взаимодействие с Cocoon от HikkaHost"""
@@ -126,24 +240,25 @@ class Cocoon(loader.Module):
"❌Неверный токен или у вас нет подписки 🌘 HikkaHost.\n\n"
"🌘 Получить токен: @hikkahost_bot → 🥚 Cocoon"
),
- "sending_request_to_cocoon": "🐣 Обрабатываю запрос в Cocoon...",
+ "sending_request_to_cocoon": "🐣 Обрабатываю запрос в Cocoon...",
"thinking": (
- "🐣 Думаю...\n\n"
+ "🐣 Думаю...\n\n"
"{thoughts}…
"
),
"answer": (
- "🌘 Вопрос: {question}\n\n"
- "🐣 Размышления:\n"
+ "🌘 Вопрос: {question}\n\n"
+ "🐣 Размышления:\n"
"{thoughts}
\n\n"
- "🥚 {answer}\n\n"
- "🚀 Модель: {model}"
+ "🥚 {answer}\n\n"
+ "🚀 Модель: {model}"
),
"usage": (
- "🥚 Cocoon API\n\n"
- "💡 Использовано:\n"
+ "🥚 Cocoon API\n\n"
+ "💡 Использовано:\n"
"• {current}/{total} ({percent}% осталось)\n\n"
- "⏳ Лимит сбросится через {days} день(-ей)."
+ "⏳ Лимит сбросится через {days} день(-ей)."
),
+ "again_kb": "🔄 Сгенерировать ещё раз",
}
def __init__(self):
@@ -163,6 +278,9 @@ class Cocoon(loader.Module):
"role",
"user",
lambda: "Роль user-сообщения (обычно user).",
+ validator=loader.validators.Choice(
+ ["system", "developer", "user", "assistant", "tool"]
+ ),
),
loader.ConfigValue(
"system_prompt",
@@ -201,12 +319,13 @@ class Cocoon(loader.Module):
):
self._rebuild_openai_client()
- async def _answer(self, message, text):
+ async def _answer(self, message, text, *args, **kwargs):
try:
if len(text) > 4096:
text = text[:4090] + "..."
- return await utils.answer(message, text)
- except MessageNotModifiedError:
+
+ return await utils.answer(message, repair_html_tags(text), *args, **kwargs)
+ except (MessageNotModifiedError, TelegramBadRequest):
return message
async def _fetch_usage(self) -> Optional[Usage]:
@@ -245,6 +364,9 @@ class Cocoon(loader.Module):
updated_at=(_safe_int(data.get("updated_at"), 0) or None),
)
+ async def _regenerate(self, call: InlineCall, arg1, arg2):
+ await self.cocoon(arg1, inline_message=arg2)
+
@loader.command()
async def ccusage(self, message):
"""Статистика использования Cocoon"""
@@ -280,8 +402,8 @@ class Cocoon(loader.Module):
)
@loader.command()
- async def cocoon(self, message):
- """Задать вопрос к ИИ"""
+ async def cocoon(self, message, inline_message=None):
+ """Задать вопрос к ИИ (поддерживает ответ на сообщение)"""
q = utils.get_args_raw(message)
if not q:
@@ -299,26 +421,72 @@ class Cocoon(loader.Module):
if not usage:
return await utils.answer(message, self.strings["invalid_token_or_no_sub"])
- message = await utils.answer(message, self.strings["sending_request_to_cocoon"])
+ user_message = message
+
+ if not inline_message:
+ message = await self.inline.form(
+ text="...",
+ message=message,
+ force_me=False,
+ )
+ else:
+ message = inline_message
+
+ await utils.answer(message, self.strings["sending_request_to_cocoon"])
self._ensure_client()
- client = AsyncOpenAI(api_key=self.config["token"], base_url=self.api_url)
-
system_prompt = (self.config.get("system_prompt") or "").strip()
messages = []
if system_prompt:
messages.append({"role": "system", "content": system_prompt})
- messages.append({"role": self.config["role"] or "user", "content": q})
+
+ if user_message.reply_to:
+ reply = await user_message.get_reply_message()
+
+ entity_id = None
+
+ if hasattr(reply, "from_id") and reply.from_id:
+ if hasattr(reply.from_id, "user_id") and reply.from_id.user_id:
+ entity_id = reply.from_id.user_id
+ elif hasattr(reply.from_id, "channel_id") and reply.from_id.channel_id:
+ entity_id = reply.from_id.channel_id
+
+ if entity_id is None:
+ if hasattr(reply.peer_id, "user_id") and reply.peer_id.user_id:
+ entity_id = reply.peer_id.user_id
+ else:
+ entity_id = reply.peer_id.channel_id
+
+ entity = await self.client.get_entity(entity_id)
+
+ date = reply.date.strftime("%H:%M %d.%m.%Y UTC")
+
+ messages.append(
+ {
+ "role": "user",
+ "content": (
+ (
+ f"{entity.first_name} {entity.last_name or ''} (user id: {entity.id}) "
+ if isinstance(entity, User)
+ else f"Channel {entity.title} (channel id: {entity.id}) "
+ )
+ + f"msg id: {reply.id}, date: {date}: "
+ + reply.message
+ ),
+ }
+ )
+
+ messages.append({"role": self.config.get("role", "user"), "content": q})
try:
- response = await client.chat.completions.create(
+ response = await self._openai.chat.completions.create(
messages=messages,
stream=True,
max_tokens=self.config.get("max_tokens", 3900),
model=self.config.get("model", "Qwen/Qwen3-32B"),
- temperature=self.config.get("temperature", 0.2)
+ temperature=self.config.get("temperature", 0.2),
)
response_text = ""
@@ -328,60 +496,57 @@ class Cocoon(loader.Module):
if chunk.choices and chunk.choices[0].delta.content:
chunk_buffer += chunk.choices[0].delta.content
- if len(chunk_buffer) >= 150:
+ if len(chunk_buffer) >= 100:
response_text += chunk_buffer
chunk_buffer = ""
- thoughts = (
- response_text.replace("", "")
- .replace("", "")
- .strip()
+ thoughts = response_text.split("", 1)[0].replace(
+ "", ""
)
if "" in response_text:
- after_think = response_text.split("", 1)[-1].strip()
+ after_think = response_text.split("", 1)[1].strip()
await self._answer(
message,
self.strings["answer"].format(
- thoughts=thoughts[:300],
+ thoughts=thoughts[:500],
question=q,
- answer=_escape_text(after_think) + "…",
+ answer=md_to_tg_html(_escape_text(after_think) + "…"),
model=self.config["model"],
),
)
else:
- thinking_text = (
- response_text.replace("", "")
- .replace("", "")
- .strip()
- )
await self._answer(
message,
self.strings["thinking"].format(
- thoughts=_escape_text(thinking_text)
+ thoughts=md_to_tg_html(_escape_text(thoughts) + "…")
),
)
- await asyncio.sleep(2)
+ await asyncio.sleep(0.2)
if chunk_buffer:
response_text += chunk_buffer
- if "" in response_text:
- after_think = response_text.split("", 1)[-1].strip()
- else:
- after_think = (
- response_text.replace("", "").replace("", "").strip()
- )
+ responses_data = response_text.split("", 1)
+ thoughts = responses_data[0].strip().replace("", "")
+ after_think = responses_data[1].strip()
await self._answer(
message,
self.strings["answer"].format(
- thoughts=thoughts,
question=q,
- answer=_escape_text(after_think),
+ thoughts=md_to_tg_html(_escape_text(thoughts[:500])),
+ answer=md_to_tg_html(_escape_text(after_think)),
model=self.config["model"],
),
+ reply_markup=[
+ {
+ "text": self.strings["again_kb"],
+ "callback": self._regenerate,
+ "args": [user_message, message],
+ }
+ ],
)
except httpx.RemoteProtocolError:
diff --git a/fajox1/famods/full.txt b/fajox1/famods/full.txt
index b4be147..16877a3 100644
--- a/fajox1/famods/full.txt
+++ b/fajox1/famods/full.txt
@@ -43,4 +43,5 @@ evalaliases
spotify4ik
picme
hetsu
-ptichki
\ No newline at end of file
+ptichki
+cocoon
diff --git a/modules.json b/modules.json
index 9a6b06f..79dce3d 100644
--- a/modules.json
+++ b/modules.json
@@ -336,106 +336,26 @@
"has_on_unload": false,
"class_cmd_names": {}
},
- "GeekTG/FTG-Modules/terminal.py": {
- "name": "TerminalMod",
- "description": "Runs commands",
+ "dorotorothequickend/DorotoroModules/CheckSpamBan.py": {
+ "name": "SpamBanCheckMod",
+ "description": "Check spam ban for your account.",
"cls_doc": {},
"meta": {
"pic": null,
- "banner": null,
- "developer": null
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroCheckSpamBan.png",
+ "developer": "@DorotoroMods & @AstroModules"
},
"commands": [
{
- "terminal": ".terminal "
- },
- {
- "apt": "Shorthand for '.terminal apt'"
- },
- {
- "terminate": "Use in reply to send SIGTERM to a process"
- },
- {
- "kill": "Use in reply to send SIGKILL to a process"
- },
- {
- "neofetch": "Show system stats via neofetch"
- },
- {
- "uptime": "Show system uptime"
+ "spamban": "- проверяет ваш аккаунт на наличие спам-бана через бота @SpamBot."
}
],
"new_commands": [
{
- "name": "terminal",
- "original_name": "terminalcmd",
+ "name": "spamban",
+ "original_name": "spamban",
"description": {
- "default": ".terminal "
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "apt",
- "original_name": "aptcmd",
- "description": {
- "default": "Shorthand for '.terminal apt'"
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "terminate",
- "original_name": "terminatecmd",
- "description": {
- "default": "Use in reply to send SIGTERM to a process"
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "kill",
- "original_name": "killcmd",
- "description": {
- "default": "Use in reply to send SIGKILL to a process"
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "neofetch",
- "original_name": "neofetchcmd",
- "description": {
- "default": "Show system stats via neofetch"
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "uptime",
- "original_name": "uptimecmd",
- "description": {
- "default": "Show system uptime"
+ "default": "- проверяет ваш аккаунт на наличие спам-бана через бота @SpamBot."
},
"cmd_names": {},
"aliases": [],
@@ -447,31 +367,1275 @@
],
"inline_handlers": [],
"strings": {
- "name": "Terminal",
- "flood_wait_protect_cfg_doc": "How long to wait in seconds between edits in commands",
- "what_to_kill": "Reply to a terminal command to terminate it",
- "kill_fail": "Could not kill process",
- "killed": "Killed",
- "no_cmd": "No command is running in that message",
- "running": "Command: {}",
- "finished": "\nCode: {}",
- "stdout": "\nStdout:\n",
- "stderr": "\n\nStderr:\n",
- "end": "",
- "auth_fail": "Authentication failed, please try again",
- "auth_needed": "Interactive authentication required",
- "auth_msg": "Please edit this message to the password for {} to run {}",
- "auth_locked": "Authentication failed, please try again later",
- "auth_ongoing": "Authenticating...",
- "done": "Done"
+ "name": "CheckSpamBan"
},
"has_on_load": false,
"has_on_unload": false,
"class_cmd_names": {}
},
- "GeekTG/FTG-Modules/tags.py": {
- "name": "TagMod",
- "description": "Secretly tag a user",
+ "dorotorothequickend/DorotoroModules/InlineTTS.py": {
+ "name": "InlineTTS",
+ "description": "Синтезирует текст в голос ваших любимых героев!Пример использования: .atts arthas Привет",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroInlineTTS.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "atts": "<герой> <ваш текст> - синтезирует текст в голос героев из Warcraft III и обычных говорилок."
+ },
+ {
+ "warcraftv": "- список голосов для синтеза (Герои Warcraft III)"
+ },
+ {
+ "silerov": "- список голосов для синтеза (Silero)"
+ },
+ {
+ "halflifev": "- список голосов для синтеза (Half-Life)"
+ },
+ {
+ "portalv": "- список голосов для синтеза (Portal 2)"
+ },
+ {
+ "starcraftv": "- список голосов для синтеза (Starcraft)"
+ },
+ {
+ "stalkerv": "- список голосов для синтеза (STALKER)"
+ },
+ {
+ "dotav": "- список голосов для синтеза (Dota 2)"
+ },
+ {
+ "lolv": "- список голосов для синтеза (League of Legends)"
+ },
+ {
+ "zahmv": "- список голосов для синтеза (Atomic Heart)"
+ },
+ {
+ "skyv": "- список голосов для синтеза (Skyrim)"
+ },
+ {
+ "fallv": "- список голосов для синтеза (Fallout 1 & 2)"
+ },
+ {
+ "postalv": "- список голосов для синтеза (Postal 2)"
+ },
+ {
+ "tfv": "- список голосов для синтеза (Team Fortress)"
+ },
+ {
+ "heartv": "- список голосов для синтеза (Hearthstone)"
+ },
+ {
+ "metrov": "- список голосов для синтеза (Metro)"
+ },
+ {
+ "hotsv": "- список голосов для синтеза (HotS)"
+ },
+ {
+ "overv": "- список голосов для синтеза (Overwatch)"
+ },
+ {
+ "ritav": "- список голосов для синтеза (Rita)"
+ },
+ {
+ "evilv": "- список голосов для синтеза (Evil Islands)"
+ },
+ {
+ "valv": "- список голосов для синтеза (Valorant)"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "atts",
+ "original_name": "atts",
+ "description": {
+ "default": "<герой> <ваш текст> - синтезирует текст в голос героев из Warcraft III и обычных говорилок."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "warcraftv",
+ "original_name": "warcraftv",
+ "description": {
+ "default": "- список голосов для синтеза (Герои Warcraft III)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "silerov",
+ "original_name": "silerov",
+ "description": {
+ "default": "- список голосов для синтеза (Silero)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "halflifev",
+ "original_name": "halflifev",
+ "description": {
+ "default": "- список голосов для синтеза (Half-Life)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "portalv",
+ "original_name": "portalv",
+ "description": {
+ "default": "- список голосов для синтеза (Portal 2)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "starcraftv",
+ "original_name": "starcraftv",
+ "description": {
+ "default": "- список голосов для синтеза (Starcraft)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "stalkerv",
+ "original_name": "stalkerv",
+ "description": {
+ "default": "- список голосов для синтеза (STALKER)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "dotav",
+ "original_name": "dotav",
+ "description": {
+ "default": "- список голосов для синтеза (Dota 2)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "lolv",
+ "original_name": "lolv",
+ "description": {
+ "default": "- список голосов для синтеза (League of Legends)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "zahmv",
+ "original_name": "zahmv",
+ "description": {
+ "default": "- список голосов для синтеза (Atomic Heart)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "skyv",
+ "original_name": "skyv",
+ "description": {
+ "default": "- список голосов для синтеза (Skyrim)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "fallv",
+ "original_name": "fallv",
+ "description": {
+ "default": "- список голосов для синтеза (Fallout 1 & 2)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "postalv",
+ "original_name": "postalv",
+ "description": {
+ "default": "- список голосов для синтеза (Postal 2)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "tfv",
+ "original_name": "tfv",
+ "description": {
+ "default": "- список голосов для синтеза (Team Fortress)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "heartv",
+ "original_name": "heartv",
+ "description": {
+ "default": "- список голосов для синтеза (Hearthstone)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "metrov",
+ "original_name": "metrov",
+ "description": {
+ "default": "- список голосов для синтеза (Metro)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "hotsv",
+ "original_name": "hotsv",
+ "description": {
+ "default": "- список голосов для синтеза (HotS)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "overv",
+ "original_name": "overv",
+ "description": {
+ "default": "- список голосов для синтеза (Overwatch)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "ritav",
+ "original_name": "ritav",
+ "description": {
+ "default": "- список голосов для синтеза (Rita)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "evilv",
+ "original_name": "evilv",
+ "description": {
+ "default": "- список голосов для синтеза (Evil Islands)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "valv",
+ "original_name": "valv",
+ "description": {
+ "default": "- список голосов для синтеза (Valorant)"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "InlineTTS"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/01code.py": {
+ "name": "tocodedecodemod",
+ "description": "Ваш персональный шифратор в двоичный код.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/Dorotoro01code.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "codeit": "<текст, который необходимо зашифровать> - шифрует ваш текст в двоичный код."
+ },
+ {
+ "decode": "<код, который необходимо дешифровать> - дешифрует двоичный код."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "codeit",
+ "original_name": "codeit",
+ "description": {
+ "default": "<текст, который необходимо зашифровать> - шифрует ваш текст в двоичный код."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "decode",
+ "original_name": "decode",
+ "description": {
+ "default": "<код, который необходимо дешифровать> - дешифрует двоичный код."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "01code"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/WhataWord_.py": {
+ "name": "whataword",
+ "description": "Ищет определение слова.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroWhataWord.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "waw": "<слово> - ищет определение вашего слова."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "waw",
+ "original_name": "wawcmd",
+ "description": {
+ "default": "<слово> - ищет определение вашего слова."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "What a Word?"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/EMJviaTEXT.py": {
+ "name": "EMJviaTEXT",
+ "description": "[ONLY FOR TG PREMIUM]\nЭтот модуль создан чтобы не рыскать миллиарды стикерпаков. \nПример использования:\nПривет BloodTrail",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroEMJviaTEXT.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "emjviatext": "- включить/выключить автозамену текста на эмодзи."
+ },
+ {
+ "emjlist": "- список эмодзи."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "emjviatext",
+ "original_name": "emjviatext",
+ "description": {
+ "default": "- включить/выключить автозамену текста на эмодзи."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "emjlist",
+ "original_name": "emjlist",
+ "description": {
+ "default": "- список эмодзи."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "EMJviaTEXT"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/ExcuseGenerator.py": {
+ "name": "ExcuseGeneratorMod",
+ "description": "Ваш преданный помощник!",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroExcuseGenerator.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "excuse": "<имя> - генерирует отмазку."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "excuse",
+ "original_name": "excuse",
+ "description": {
+ "default": "<имя> - генерирует отмазку."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "ExcuseGenerator",
+ "courtesy": "Обращение к человеку на ТЫ (0), обращение к человеку на ВЫ (1).",
+ "sex": "Обращаться к человеку как к мужскому полу (0), обращаться к человеку как к женскому полу (1).",
+ "mysex": "Пол того, кто пишет отмазку. Мужской (0), женский (1)."
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/LessonHelper.py": {
+ "name": "LessonHelper",
+ "description": "Ваш личный репетитор!",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroLessonHelper.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "mathform": "<формула/list> - базовые формулы по алгебре и геометрии.\n\nЧтобы посмотреть список формул и теорем введите:\n.mathform list"
+ },
+ {
+ "physform": "<формула/list> - базовые формулы по физике.\n\nЧтобы посмотреть список формул и теорем введите:\n.physform list"
+ },
+ {
+ "rusform": "<орфограмма/правило/list> - базовые правила и орфограммы по русскому языку. Будет пополняться.\n\nЧтобы узнать список доступных правил и орфограмм, введите:\n.rusform list"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "mathform",
+ "original_name": "mathformcmd",
+ "description": {
+ "default": "<формула/list> - базовые формулы по алгебре и геометрии.\n\nЧтобы посмотреть список формул и теорем введите:\n.mathform list"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "physform",
+ "original_name": "physformcmd",
+ "description": {
+ "default": "<формула/list> - базовые формулы по физике.\n\nЧтобы посмотреть список формул и теорем введите:\n.physform list"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "rusform",
+ "original_name": "rusformcmd",
+ "description": {
+ "default": "<орфограмма/правило/list> - базовые правила и орфограммы по русскому языку. Будет пополняться.\n\nЧтобы узнать список доступных правил и орфограмм, введите:\n.rusform list"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "LessonHelper"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/PasswordGenerator.py": {
+ "name": "passwordgeneratormod",
+ "description": "Ваш персональный генератор паролей.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroPasswordGenerator.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "gnrtpass": "<кол-во символов> - генерировать пароль"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "gnrtpass",
+ "original_name": "gnrtpass",
+ "description": {
+ "default": "<кол-во символов> - генерировать пароль"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "PasswordGenerator"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/RandomHuman.py": {
+ "name": "RandomHuman",
+ "description": "Отправляет рандомное имя, фамилию, дату рождения, email, пароль и телефон.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroGenerateHuman.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "generatehuman": "- сгенерировать человека."
+ },
+ {
+ "generatepass": "- сгенерировать паспорт."
+ },
+ {
+ "generateschl": "- сгенерировать инф-цию об образовании."
+ },
+ {
+ "generatedocs": "- сгенерировать документы."
+ },
+ {
+ "generateauto": "- сгенерировать инф-цию об авто."
+ },
+ {
+ "generatebank": "- сгенерировать платежную инф-цию."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "generatehuman",
+ "original_name": "generatehumancmd",
+ "description": {
+ "default": "- сгенерировать человека."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "generatepass",
+ "original_name": "generatepasscmd",
+ "description": {
+ "default": "- сгенерировать паспорт."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "generateschl",
+ "original_name": "generateschlcmd",
+ "description": {
+ "default": "- сгенерировать инф-цию об образовании."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "generatedocs",
+ "original_name": "generatedocscmd",
+ "description": {
+ "default": "- сгенерировать документы."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "generateauto",
+ "original_name": "generateauto",
+ "description": {
+ "default": "- сгенерировать инф-цию об авто."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "generatebank",
+ "original_name": "generatebank",
+ "description": {
+ "default": "- сгенерировать платежную инф-цию."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "GenerateHuman"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/CringePhrases.py": {
+ "name": "CringePhrases",
+ "description": "Отправляет случайную мега-кринж фразу.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroCringePhrases.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "cringephrase": "- фраза, от которой ваш собеседник будет испытывать мега-супер-пупер кринж."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "cringephrase",
+ "original_name": "cringephrase",
+ "description": {
+ "default": "- фраза, от которой ваш собеседник будет испытывать мега-супер-пупер кринж."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "CringePhrases"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/SimpleRolePlay.py": {
+ "name": "SimpleRolePlay",
+ "description": "Базовые команды для текстовых ролевых игр.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/Dor%D0%BEtoroSimpleRoleplay.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "me": "<действие> - сообщает об исполнителе команды от первого лица. Пример использования: .me открыл браузер. Также есть доп. настройка в .config"
+ },
+ {
+ "do": "<действие> - предназначена для описания событий и подробностей игрового мира в настоящем времени, не относящихся конкретно к определённым людям. Пример использования: .do В кармане Дороторо лежит пистолет и пара гранат."
+ },
+ {
+ "otry": "<действие> - предназначена для решения спорных и неоднозначных ситуаций, где события могут развиваться по нескольким сценариям, либо если требуется случайная вероятность удачи того или иного действия. Пример использования: .try завёл машину."
+ },
+ {
+ "todo": "<действие> <фраза>- совмещает описание окружающей обстановки, действие от 3го лица (см. описание .do) с одновременной фразой своего персонажа. Пример использования: .todo Спокойной ночи. засыпая"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "me",
+ "original_name": "me",
+ "description": {
+ "default": "<действие> - сообщает об исполнителе команды от первого лица. Пример использования: .me открыл браузер. Также есть доп. настройка в .config"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "do",
+ "original_name": "do",
+ "description": {
+ "default": "<действие> - предназначена для описания событий и подробностей игрового мира в настоящем времени, не относящихся конкретно к определённым людям. Пример использования: .do В кармане Дороторо лежит пистолет и пара гранат."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "otry",
+ "original_name": "otry",
+ "description": {
+ "default": "<действие> - предназначена для решения спорных и неоднозначных ситуаций, где события могут развиваться по нескольким сценариям, либо если требуется случайная вероятность удачи того или иного действия. Пример использования: .try завёл машину."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "todo",
+ "original_name": "todo",
+ "description": {
+ "default": "<действие> <фраза>- совмещает описание окружающей обстановки, действие от 3го лица (см. описание .do) с одновременной фразой своего персонажа. Пример использования: .todo Спокойной ночи. засыпая"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Simple RolePlay",
+ "symbol": "Символ который используется в конце и в начале /me. (например, звезда)",
+ "not_args": "😰 Вы неправильно вписали действие или же не указали его вовсе. Попробуйте еще раз."
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/Dota2RandomHero.py": {
+ "name": "Dota2RandomHero",
+ "description": "",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroDota2RandomHero.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "dota2hero": "- выбирает рандомного героя из Dota 2"
+ },
+ {
+ "dota2build": "- выбирает рандомный билд на героя из Dota 2."
+ },
+ {
+ "dota2pick": "- рандомный пик героев."
+ },
+ {
+ "dota2hb": "- рандомный герой и рандомный билд."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "dota2hero",
+ "original_name": "dota2hero",
+ "description": {
+ "default": "- выбирает рандомного героя из Dota 2"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "dota2build",
+ "original_name": "dota2build",
+ "description": {
+ "default": "- выбирает рандомный билд на героя из Dota 2."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "dota2pick",
+ "original_name": "dota2pick",
+ "description": {
+ "default": "- рандомный пик героев."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "dota2hb",
+ "original_name": "dota2hb",
+ "description": {
+ "default": "- рандомный герой и рандомный билд."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Dota2RandomHero"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/AutoEdit.py": {
+ "name": "AutoEdit",
+ "description": "Редактирует каждое ваше сообщение в определенное время на выбранный вами текст.\nНастройка через .config AutoEdit",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroAutoEdit.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "autoedit": "- включить/выключить AutoEdit."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "autoedit",
+ "original_name": "autoedit",
+ "description": {
+ "default": "- включить/выключить AutoEdit."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "AutoEdit",
+ "timechoice": "Время, за которое будет редактироваться сообщение.(в секундах)",
+ "editmsg": "Текст, на который будет редактироваться ваше сообщение."
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/AccountDeleter.py": {
+ "name": "AccountDeleter",
+ "description": "",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroAccountDeleter.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "delacc": "- удаляет ваш аккаунт (просто меняет вашу аватарку и ник)."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "delacc",
+ "original_name": "delacc",
+ "description": {
+ "default": "- удаляет ваш аккаунт (просто меняет вашу аватарку и ник)."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "AccountDeleter"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/DoYouKnowAlphabet.py": {
+ "name": "Alphabet",
+ "description": "Special for Kids.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroDoYouKnowAlphabet.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "alphabetru": "- узнать русский алфавит."
+ },
+ {
+ "consonantorvowel": "<буква> - узнать, гласная или согласная буква."
+ },
+ {
+ "letterinfo": "<буква> - показывает информацию о букве."
+ },
+ {
+ "alphabeteng": "- узнать английский алфавит."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "alphabetru",
+ "original_name": "alphabetru",
+ "description": {
+ "default": "- узнать русский алфавит."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "consonantorvowel",
+ "original_name": "consonantorvowel",
+ "description": {
+ "default": "<буква> - узнать, гласная или согласная буква."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "letterinfo",
+ "original_name": "letterinfo",
+ "description": {
+ "default": "<буква> - показывает информацию о букве."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "alphabeteng",
+ "original_name": "alphabeteng",
+ "description": {
+ "default": "- узнать английский алфавит."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "DoYouKnowAlphabet?"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/RandomJumoreska.py": {
+ "name": "RandomJumoreska",
+ "description": "Отправляет случайную юмореску.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroRandomJumoreska.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "rndmjumoreska": "- выдать рандомную юмореску."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "rndmjumoreska",
+ "original_name": "rndmjumoreska",
+ "description": {
+ "default": "- выдать рандомную юмореску."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "RandomJumoreska"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/FkinRickRoll.py": {
+ "name": "FuckingRickRoll",
+ "description": "Лучший способ зарикроллить собеседника.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroFkinRickRoll.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "rickvid": "- стандартный RickRoll."
+ },
+ {
+ "rickbait": "- отправляет видео с океаном, в конце которого вашего собеседника ждет RickRoll."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "rickvid",
+ "original_name": "rickvid",
+ "description": {
+ "default": "- стандартный RickRoll."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "rickbait",
+ "original_name": "rickbait",
+ "description": {
+ "default": "- отправляет видео с океаном, в конце которого вашего собеседника ждет RickRoll."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "FkinRickRoll"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "dorotorothequickend/DorotoroModules/FoodRecipe.py": {
+ "name": "FoodRecipe",
+ "description": "Ищет рецепт блюда по его названию.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": "https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroFoodRecipe.png",
+ "developer": "@DorotoroMods"
+ },
+ "commands": [
+ {
+ "foodrecipe": "<название блюда> - найти рецепт блюда."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "foodrecipe",
+ "original_name": "foodrecipecmd",
+ "description": {
+ "default": "<название блюда> - найти рецепт блюда."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "FoodRecipe"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/impostor.py": {
+ "name": "ImpMod",
+ "description": "Among Us",
"cls_doc": {},
"meta": {
"pic": null,
@@ -480,10 +1644,314 @@
},
"commands": [
{
- "tag": ".tag <@> ."
+ "imp": "Используй: .imp <@ или текст или реплай>."
},
{
- "tagall": ".tagall - tag all users in chat"
+ "ruimp": "Используй: .ruimp <@ или текст или реплай>."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "imp",
+ "original_name": "impcmd",
+ "description": {
+ "default": "Используй: .imp <@ или текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "ruimp",
+ "original_name": "ruimpcmd",
+ "description": {
+ "default": "Используй: .ruimp <@ или текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Impostor?"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/onava.py": {
+ "name": "OnAvaMod",
+ "description": "Гифку/видео/стикер на аву.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "onava": "Установить на аву гифку/видео/стикер.\nИспользование: .onava <реплай>."
+ },
+ {
+ "togif": "Сделать из медиа гифку.\nИспользование: .togif <реплай>."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "onava",
+ "original_name": "onavacmd",
+ "description": {
+ "default": "Установить на аву гифку/видео/стикер.\nИспользование: .onava <реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "togif",
+ "original_name": "togifcmd",
+ "description": {
+ "default": "Сделать из медиа гифку.\nИспользование: .togif <реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "OnAva"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/replydownloader.py": {
+ "name": "ReplyDownloaderMod",
+ "description": "Скачать файлом реплай.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "dlr": "Команда .dlr <реплай на файл> <название (по желанию)> скачивает файл, либо сохраняет текст в файл на который был сделан реплай."
+ },
+ {
+ "ulf": "Команда .ulf * <название файла> отправляет файл в чат.\n* - удалить файл после отправки."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "dlr",
+ "original_name": "dlrcmd",
+ "description": {
+ "default": "Команда .dlr <реплай на файл> <название (по желанию)> скачивает файл, либо сохраняет текст в файл на который был сделан реплай."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "ulf",
+ "original_name": "ulfcmd",
+ "description": {
+ "default": "Команда .ulf * <название файла> отправляет файл в чат.\n* - удалить файл после отправки."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Reply Downloader"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/quotes.py": {
+ "name": "QuotesMod",
+ "description": "Quote a message",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "quote": ""
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "quote",
+ "original_name": "quotecmd",
+ "description": {
+ "default": ""
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Quotes"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/chatinfo.py": {
+ "name": "ChatInfoMod",
+ "description": "Показывает информацию о чате.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "chatinfo": "Используй .chatinfo <айди чата>; ничего"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "chatinfo",
+ "original_name": "chatinfocmd",
+ "description": {
+ "default": "Используй .chatinfo <айди чата>; ничего"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "ChatInfo"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/mediacutter.py": {
+ "name": "MediaCutterMod",
+ "description": "Обрезать медиа.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "cut": "Используй .cut <начало(сек):конец(сек)> <реплай на аудио/видео/гиф>."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "cut",
+ "original_name": "cutcmd",
+ "description": {
+ "default": "Используй .cut <начало(сек):конец(сек)> <реплай на аудио/видео/гиф>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "MediaCutter"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/family.py": {
+ "name": "FamilyMod",
+ "description": "Quote a message",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "family": ""
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "family",
+ "original_name": "familycmd",
+ "description": {
+ "default": ""
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Family"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/hiddentag.py": {
+ "name": "HiddenTagMod",
+ "description": "Скрытно тегнуть пользователя.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "tag": "Использование: .tag <@> <текст (по желанию)>."
}
],
"new_commands": [
@@ -491,7 +1959,161 @@
"name": "tag",
"original_name": "tagcmd",
"description": {
- "default": ".tag <@> ."
+ "default": "Использование: .tag <@> <текст (по желанию)>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "HiddenTag"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/getcommonchats.py": {
+ "name": "GetCommonChatsMod",
+ "description": "Общие чаты с пользователем.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "common": "Используй .common <@ или реплай>, чтобы узнать общие чаты с пользователем."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "common",
+ "original_name": "commoncmd",
+ "description": {
+ "default": "Используй .common <@ или реплай>, чтобы узнать общие чаты с пользователем."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "GetCommonChats"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/nedoquotes.py": {
+ "name": "NedoQuotesMod",
+ "description": "Генератор всратых цитат by @ShittyQuoteBot",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "nq": "Используй: .nq <текст или реплай>."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "nq",
+ "original_name": "nqcmd",
+ "description": {
+ "default": "Используй: .nq <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "NedoQuotes"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/AudioShakal.py": {
+ "name": "AudioShakalMod",
+ "description": "АудиоШакал",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "fv": ".fv [шакал_lvl(не обязательно, по умолчанию 100 (от 10 до 100))]\nСшакалить войс/mp3/ogg/oga"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "fv",
+ "original_name": "fvcmd",
+ "description": {
+ "default": ".fv [шакал_lvl(не обязательно, по умолчанию 100 (от 10 до 100))]\nСшакалить войс/mp3/ogg/oga"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "АудиоШакал"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/textonphoto.py": {
+ "name": "TextOnPhotoMod",
+ "description": "",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "bottom": "Используй: .bottom {реплай на картинку/стикер} ;ничего <текст>."
+ },
+ {
+ "top": "Используй: .top {реплай на картинку/стикер} ;ничего <текст>."
+ },
+ {
+ "center": "Используй: .center {реплай на картинку/стикер} ;ничего <текст>."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "bottom",
+ "original_name": "bottomcmd",
+ "description": {
+ "default": "Используй: .bottom {реплай на картинку/стикер} ;ничего <текст>."
},
"cmd_names": {},
"aliases": [],
@@ -500,11 +2122,729 @@
"is_inline_handler": false,
"decorators": []
},
+ {
+ "name": "top",
+ "original_name": "topcmd",
+ "description": {
+ "default": "Используй: .top {реплай на картинку/стикер} ;ничего <текст>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "center",
+ "original_name": "centercmd",
+ "description": {
+ "default": "Используй: .center {реплай на картинку/стикер} ;ничего <текст>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "TextOnPhoto"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/userdataen.py": {
+ "name": "UserDataMod",
+ "description": "This module can change your Telegram profile.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "name": "For .name command, change your first/second name."
+ },
+ {
+ "bio": "For .bio command, set a new bio for your profile."
+ },
+ {
+ "username": "For .username command, set a new username."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "name",
+ "original_name": "namecmd",
+ "description": {
+ "default": "For .name command, change your first/second name."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "bio",
+ "original_name": "biocmd",
+ "description": {
+ "default": "For .bio command, set a new bio for your profile."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "username",
+ "original_name": "usernamecmd",
+ "description": {
+ "default": "For .username command, set a new username."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "UserData"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/calendar.py": {
+ "name": "CalendarMod",
+ "description": "Календарь",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "clnd": ".clnd <год> <месяц> или ничего"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "clnd",
+ "original_name": "clndcmd",
+ "description": {
+ "default": ".clnd <год> <месяц> или ничего"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Calendar"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/nowplay.py": {
+ "name": "NowPlayMod",
+ "description": "Что сейчас играет.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "np": "Скидывает то, что сейчас играет."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "np",
+ "original_name": "npcmd",
+ "description": {
+ "default": "Скидывает то, что сейчас играет."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "NowPlay"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/hiddenurl.py": {
+ "name": "HiddenUrlMod",
+ "description": "Скрывает ссылку под невидимый текст.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "hide": "Используй .hide <текст или реплай на медиа>."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "hide",
+ "original_name": "hidecmd",
+ "description": {
+ "default": "Используй .hide <текст или реплай на медиа>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "HiddenUrl"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/ownerships.py": {
+ "name": "OwnershipsMod",
+ "description": "Посмотреть свои владения.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "own": "Команда .own выводит список владений открытых чатов/каналов. "
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "own",
+ "original_name": "owncmd",
+ "description": {
+ "default": "Команда .own выводит список владений открытых чатов/каналов. "
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Ownerships"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/report.py": {
+ "name": "ReportMod",
+ "description": "Репорт",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "report": "Репорт пользователя за спам."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "report",
+ "original_name": "reportcmd",
+ "description": {
+ "default": "Репорт пользователя за спам."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Report"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/dictionary.py": {
+ "name": "DictionaryMod",
+ "description": "Словарь.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "mean": "Использование: .mean <слово>."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "mean",
+ "original_name": "meancmd",
+ "description": {
+ "default": "Использование: .mean <слово>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Dictionary"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/spam.py": {
+ "name": "SpamMod",
+ "description": "Спам модуль",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "spam": "Обычный спам. Используй .spam <кол-во:int> <текст или реплай>."
+ },
+ {
+ "cspam": "Спам символами. Используй .cspam <текст или реплай>."
+ },
+ {
+ "wspam": "Спам словами. Используй .wspam <текст или реплай>."
+ },
+ {
+ "delayspam": "Спам с задержкой. Используй .delayspam <время:int> <кол-во:int> <текст или реплай>."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "spam",
+ "original_name": "spamcmd",
+ "description": {
+ "default": "Обычный спам. Используй .spam <кол-во:int> <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "cspam",
+ "original_name": "cspamcmd",
+ "description": {
+ "default": "Спам символами. Используй .cspam <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "wspam",
+ "original_name": "wspamcmd",
+ "description": {
+ "default": "Спам словами. Используй .wspam <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "delayspam",
+ "original_name": "delayspamcmd",
+ "description": {
+ "default": "Спам с задержкой. Используй .delayspam <время:int> <кол-во:int> <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Spam"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/gsbl.py": {
+ "name": "GSBLMod",
+ "description": "Фановый, мемный модуль.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "gsbl": "Используй .gsbl <реплай на картинку/стикер>."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "gsbl",
+ "original_name": "gsblcmd",
+ "description": {
+ "default": "Используй .gsbl <реплай на картинку/стикер>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Get-Stick-Bugged-Lol"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/wwtaf.py": {
+ "name": "WWTaFMod",
+ "description": "Модуль для работы с текстом или файлами.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "file": "Получить файл по ссылке.\nИспользование: .file <ссылка или реплай на ссылку>."
+ },
+ {
+ "tabfix": "Используй .tabfix <реплай или файл с текстом .tabfix>."
+ },
+ {
+ "text2txt": "Переносит текст в файл .txt.\nИспользуй: .text2txt <текст или реплай>."
+ },
+ {
+ "text2py": "Переносит текст в файл .py.\nИспользуй: .text2py <текст или реплай>."
+ },
+ {
+ "bold": "Сделать текст жирным.\nИспользуй: .bold <текст или реплай>."
+ },
+ {
+ "italic": "Сделать текст курсивным.\nИспользуй: .italic <текст или реплай>."
+ },
+ {
+ "underline": "Сделать текст подчеркнутым.\nИспользуй: .underline <текст или реплай>."
+ },
+ {
+ "mono": "Сделать текст моноширинным.\nИспользуй: .mono <текст или реплай>."
+ },
+ {
+ "cross": "Сделать текст зачеркнутым.\nИспользуй: .cross <текст или реплай>."
+ },
+ {
+ "enter": "Перенос строки после каждого слова.\nИспользуй: .enter <текст или реплай>."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "file",
+ "original_name": "filecmd",
+ "description": {
+ "default": "Получить файл по ссылке.\nИспользование: .file <ссылка или реплай на ссылку>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "tabfix",
+ "original_name": "tabfixcmd",
+ "description": {
+ "default": "Используй .tabfix <реплай или файл с текстом .tabfix>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "text2txt",
+ "original_name": "text2txtcmd",
+ "description": {
+ "default": "Переносит текст в файл .txt.\nИспользуй: .text2txt <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "text2py",
+ "original_name": "text2pycmd",
+ "description": {
+ "default": "Переносит текст в файл .py.\nИспользуй: .text2py <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "bold",
+ "original_name": "boldcmd",
+ "description": {
+ "default": "Сделать текст жирным.\nИспользуй: .bold <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "italic",
+ "original_name": "italiccmd",
+ "description": {
+ "default": "Сделать текст курсивным.\nИспользуй: .italic <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "underline",
+ "original_name": "underlinecmd",
+ "description": {
+ "default": "Сделать текст подчеркнутым.\nИспользуй: .underline <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "mono",
+ "original_name": "monocmd",
+ "description": {
+ "default": "Сделать текст моноширинным.\nИспользуй: .mono <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "cross",
+ "original_name": "crosscmd",
+ "description": {
+ "default": "Сделать текст зачеркнутым.\nИспользуй: .cross <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "enter",
+ "original_name": "entercmd",
+ "description": {
+ "default": "Перенос строки после каждого слова.\nИспользуй: .enter <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "WWTaF"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/fake.py": {
+ "name": "FakeActionsMod",
+ "description": "Показывает фейковые действия.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "fake": "Использование: .fake <действие>.\nСписок действий: typing, contact, game, location, record-audio, record-round, record-video, voice, round, video, photo, document.\nОтмена: .fake cancel"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "fake",
+ "original_name": "fakecmd",
+ "description": {
+ "default": "Использование: .fake <действие>.\nСписок действий: typing, contact, game, location, record-audio, record-round, record-video, voice, round, video, photo, document.\nОтмена: .fake cancel"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Fake Actions"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/groupcreator.py": {
+ "name": "GroupCreatorMod",
+ "description": "Создать чат или канал.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "create": "Используй .create <название>, чтобы создать группу, супергруппу или канал."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "create",
+ "original_name": "createcmd",
+ "description": {
+ "default": "Используй .create <название>, чтобы создать группу, супергруппу или канал."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "GroupCreator"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/tagall.py": {
+ "name": "TagAllMod",
+ "description": "Тэгает всех в чате.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "tagall": "Используй .tagall <текст (по желанию)>."
+ }
+ ],
+ "new_commands": [
{
"name": "tagall",
"original_name": "tagallcmd",
"description": {
- "default": ".tagall - tag all users in chat"
+ "default": "Используй .tagall <текст (по желанию)>."
},
"cmd_names": {},
"aliases": [],
@@ -516,15 +2856,15 @@
],
"inline_handlers": [],
"strings": {
- "name": "Tags"
+ "name": "TagAll"
},
"has_on_load": false,
"has_on_unload": false,
"class_cmd_names": {}
},
- "GeekTG/FTG-Modules/lyrics.py": {
- "name": "LyricsMod",
- "description": "Sings songs",
+ "Fl1yd/FTG-Modules/SpeedRead.py": {
+ "name": "SpeedReadMod",
+ "description": "каждое слово раз в 100мс",
"cls_doc": {},
"meta": {
"pic": null,
@@ -533,15 +2873,15 @@
},
"commands": [
{
- "lyrics": ".lyrics Song, Artist"
+ "sr": ".sr "
}
],
"new_commands": [
{
- "name": "lyrics",
- "original_name": "lyricscmd",
+ "name": "sr",
+ "original_name": "srcmd",
"description": {
- "default": ".lyrics Song, Artist"
+ "default": ".sr "
},
"cmd_names": {},
"aliases": [],
@@ -553,19 +2893,15 @@
],
"inline_handlers": [],
"strings": {
- "name": "Lyrics",
- "genius_api_token_doc": "The LyricsGenius API token from http://genius.com/api-clients",
- "invalid_syntax": "Please specify song and artist.",
- "song_not_found": "Song not found",
- "missing_token": "API Token missing"
+ "name": "SpeedRead"
},
"has_on_load": false,
"has_on_unload": false,
"class_cmd_names": {}
},
- "GeekTG/FTG-Modules/vizjener.py": {
- "name": "VijenerMod",
- "description": "Конвертация текста в шифр Виженеря и наоборот.",
+ "Fl1yd/FTG-Modules/count.py": {
+ "name": "CountMod",
+ "description": "Количество чатов.",
"cls_doc": {},
"meta": {
"pic": null,
@@ -574,31 +2910,15 @@
},
"commands": [
{
- "toviz": ".toviz {ключ} {текст}"
- },
- {
- "tounviz": ".tounviz {ключ} {текст}"
+ "count": ""
}
],
"new_commands": [
{
- "name": "toviz",
- "original_name": "tovizcmd",
+ "name": "count",
+ "original_name": "countcmd",
"description": {
- "default": ".toviz {ключ} {текст}"
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "tounviz",
- "original_name": "tounvizcmd",
- "description": {
- "default": ".tounviz {ключ} {текст}"
+ "default": ""
},
"cmd_names": {},
"aliases": [],
@@ -610,15 +2930,15 @@
],
"inline_handlers": [],
"strings": {
- "name": "Vizjener"
+ "name": "Count"
},
"has_on_load": false,
"has_on_unload": false,
"class_cmd_names": {}
},
- "GeekTG/FTG-Modules/rpmod.py": {
- "name": "RPMod",
- "description": "Модуль RPMod + дополнение после команды.+реплика.(указывать реплику на второй строке)",
+ "Fl1yd/FTG-Modules/freeomonbot.py": {
+ "name": "OmonBotMod",
+ "description": "Омон бот.",
"cls_doc": {},
"meta": {
"pic": null,
@@ -627,111 +2947,15 @@
},
"commands": [
{
- "dobrp": "Используй: .dobrp (команда) / (действие) / (эмодзи) чтобы добавить команду. Можно и без эмодзи(но и второго\nразделителя). Используй только одно слово в качестве команды."
- },
- {
- "delrp": "Используй: .delrp (команда) чтобы удалить команду.\nИспользуй: .delrp all чтобы удалить все команды."
- },
- {
- "rpmod": "Используй: .rpmod чтобы включить/выключить RP режим.\nИспользуй: .rpmod toggle чтобы сменить режим на отправку или изменение смс."
- },
- {
- "rplist": "Используй: .rplist чтобы посмотреть список рп команд."
- },
- {
- "rpnick": "Используй: .rpnick (ник) чтобы сменить свой ник. Если без аргументов, то вернётся ник из тг."
- },
- {
- "rpback": "Используй: .rpback чтобы выгрузить список своих рп команд.\nИспользуй .rpback / (список чьих то команд) / (список чьих то эмодзи) чтобы добавить себе список команд. можно без эмодзи, но первый разделитель обязателен."
- },
- {
- "rpblock": "Используй: .rpblock чтобы добавить/удалить исключение(использовать в нужном чате).\nИспользуй: .rpblock list чтобы просмотреть чаты в исключениях.\nИспользуй .rpblock (ид) чтобы удалить чат из исключений."
+ "omon": "Используй .omon <реплай на пикчу>."
}
],
"new_commands": [
{
- "name": "dobrp",
- "original_name": "dobrpcmd",
+ "name": "omon",
+ "original_name": "omoncmd",
"description": {
- "default": "Используй: .dobrp (команда) / (действие) / (эмодзи) чтобы добавить команду. Можно и без эмодзи(но и второго\nразделителя). Используй только одно слово в качестве команды."
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "delrp",
- "original_name": "delrpcmd",
- "description": {
- "default": "Используй: .delrp (команда) чтобы удалить команду.\nИспользуй: .delrp all чтобы удалить все команды."
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "rpmod",
- "original_name": "rpmodcmd",
- "description": {
- "default": "Используй: .rpmod чтобы включить/выключить RP режим.\nИспользуй: .rpmod toggle чтобы сменить режим на отправку или изменение смс."
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "rplist",
- "original_name": "rplistcmd",
- "description": {
- "default": "Используй: .rplist чтобы посмотреть список рп команд."
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "rpnick",
- "original_name": "rpnickcmd",
- "description": {
- "default": "Используй: .rpnick (ник) чтобы сменить свой ник. Если без аргументов, то вернётся ник из тг."
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "rpback",
- "original_name": "rpbackcmd",
- "description": {
- "default": "Используй: .rpback чтобы выгрузить список своих рп команд.\nИспользуй .rpback / (список чьих то команд) / (список чьих то эмодзи) чтобы добавить себе список команд. можно без эмодзи, но первый разделитель обязателен."
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "rpblock",
- "original_name": "rpblockcmd",
- "description": {
- "default": "Используй: .rpblock чтобы добавить/удалить исключение(использовать в нужном чате).\nИспользуй: .rpblock list чтобы просмотреть чаты в исключениях.\nИспользуй .rpblock (ид) чтобы удалить чат из исключений."
+ "default": "Используй .omon <реплай на пикчу>."
},
"cmd_names": {},
"aliases": [],
@@ -743,15 +2967,15 @@
],
"inline_handlers": [],
"strings": {
- "name": "RPMod"
+ "name": "FreeOmonBot"
},
"has_on_load": false,
"has_on_unload": false,
"class_cmd_names": {}
},
- "GeekTG/FTG-Modules/pmlog.py": {
- "name": "PMLogMod",
- "description": "Logs unwanted PMs to a channel",
+ "Fl1yd/FTG-Modules/reverse.py": {
+ "name": "ReverseMod",
+ "description": "Реверс текста.",
"cls_doc": {},
"meta": {
"pic": null,
@@ -760,31 +2984,15 @@
},
"commands": [
{
- "logpm": "Begins logging PMs"
- },
- {
- "unlogpm": "Stops logging PMs"
+ "rev": "Используй .rev <текст или реплай>."
}
],
"new_commands": [
{
- "name": "logpm",
- "original_name": "logpmcmd",
+ "name": "rev",
+ "original_name": "revcmd",
"description": {
- "default": "Begins logging PMs"
- },
- "cmd_names": {},
- "aliases": [],
- "usage": null,
- "inline": false,
- "is_inline_handler": false,
- "decorators": []
- },
- {
- "name": "unlogpm",
- "original_name": "unlogpmcmd",
- "description": {
- "default": "Stops logging PMs"
+ "default": "Используй .rev <текст или реплай>."
},
"cmd_names": {},
"aliases": [],
@@ -796,11 +3004,5443 @@
],
"inline_handlers": [],
"strings": {
- "name": "PM Logger",
- "start": "Your conversation is now being logged",
- "not_pm": "You can't log a group",
- "stopped": "Your conversation is no longer being logged",
- "log_group_cfg_doc": "Group or channel ID where to send the logged PMs"
+ "name": "Reverse"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/uploader.py": {
+ "name": "UploaderMod",
+ "description": "Загрузчик на fl1yd.ml",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "mul": "Загрузить модуль на сервер."
+ },
+ {
+ "ful": "Загрузить файл на сервер."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "mul",
+ "original_name": "mulcmd",
+ "description": {
+ "default": "Загрузить модуль на сервер."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "ful",
+ "original_name": "fulcmd",
+ "description": {
+ "default": "Загрузить файл на сервер."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Uploader"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/kick_random.py": {
+ "name": "KickRandomMod",
+ "description": "Кик рандом.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "kickrand": "Используй .kickrand, чтобы кикнуть случайного пользователя (может кикнуть вас)."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "kickrand",
+ "original_name": "kickrandcmd",
+ "description": {
+ "default": "Используй .kickrand, чтобы кикнуть случайного пользователя (может кикнуть вас)."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "KickRandom"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/myhelp.py": {
+ "name": "HelpMod",
+ "description": "Описание этого модуля.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "help": ".help <название модуля>."
+ },
+ {
+ "support": "Вступить в канал авторских модулей."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "help",
+ "original_name": "helpcmd",
+ "description": {
+ "default": ".help <название модуля>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "support",
+ "original_name": "supportcmd",
+ "description": {
+ "default": "Вступить в канал авторских модулей."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "CustomHelp",
+ "bad_module": "Указано неверное название модуля.",
+ "single_mod_header": "Справка к {}:\n",
+ "single_cmd": "\n➜ {}\n ╰",
+ "undoc_cmd": "Для этой команды нет описания.\n",
+ "all_header": "Список из {} доступных модулей:\n",
+ "mod_tmpl": "\n➜ {}",
+ "first_cmd_tmpl": ": {}",
+ "cmd_tmpl": ", {}",
+ "joined": "Уже вступил в канал авторских модулей",
+ "join": "Вступить в канал авторских модулей"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/k&ktext.py": {
+ "name": "KKTextMod",
+ "description": "K&K Text by @ktxtBot",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "kkt": "Используйте .kkt <текст или реплай>."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "kkt",
+ "original_name": "kktcmd",
+ "description": {
+ "default": "Используйте .kkt <текст или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "K&K Text"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/zapomni_zabud_sogl.py": {
+ "name": "ZapomniZabudSoglMod",
+ "description": "Запомните;забудьте твари, согласен.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "zap": ".zap <текст или реплай>"
+ },
+ {
+ "zab": ".zab <текст или реплай>"
+ },
+ {
+ "sogl": ".sogl <текст или реплай>"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "zap",
+ "original_name": "zapcmd",
+ "description": {
+ "default": ".zap <текст или реплай>"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "zab",
+ "original_name": "zabcmd",
+ "description": {
+ "default": ".zab <текст или реплай>"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "sogl",
+ "original_name": "soglcmd",
+ "description": {
+ "default": ".sogl <текст или реплай>"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Запомните;забудьте твари, согласен"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/whois.py": {
+ "name": "WhoIsMod",
+ "description": "Получает информацию о пользователе в Телеграме (включая вас!).",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "whois": "Используй .whois <@ или реплай>; ничего"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "whois",
+ "original_name": "whoiscmd",
+ "description": {
+ "default": "Используй .whois <@ или реплай>; ничего"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "WhoIs"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/urlshortener.py": {
+ "name": "URLShortenerMod",
+ "description": "Сократитель ссылок",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "lgt": "Сократить ссылку с помощью сервиса verylegit.link"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "lgt",
+ "original_name": "lgtcmd",
+ "description": {
+ "default": "Сократить ссылку с помощью сервиса verylegit.link"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "URLShortener"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/hearts.py": {
+ "name": "HeartsMod",
+ "description": "",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "lhearts": ""
+ },
+ {
+ "shearts": ""
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "lhearts",
+ "original_name": "lheartscmd",
+ "description": {
+ "default": ""
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "shearts",
+ "original_name": "sheartscmd",
+ "description": {
+ "default": ""
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Heart's"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/vsratomemes.py": {
+ "name": "VsratoMemesMod",
+ "description": "Всратые мемы.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "wolf": "\"Используй .wolf."
+ },
+ {
+ "vsrato": "Используй .vsrato <реплай на пикчу>."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "wolf",
+ "original_name": "wolfcmd",
+ "description": {
+ "default": "\"Используй .wolf."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "vsrato",
+ "original_name": "vsratocmd",
+ "description": {
+ "default": "Используй .vsrato <реплай на пикчу>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Всратые мемы"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/catchargs.py": {
+ "name": "PicMod",
+ "description": "Случайный картинка по аргументам из @pic.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "pic": ""
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "pic",
+ "original_name": "piccmd",
+ "description": {
+ "default": ""
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Pic"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/weather.py": {
+ "name": "WeatherMod",
+ "description": "Погода с сайта wttr.in",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "pw": "\"Кидает погоду картинкой.\nИспользование: .pw <город>; ничего."
+ },
+ {
+ "aw": "Кидает погоду ascii-артом.\nИспользование: .aw <город>; ничего."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "pw",
+ "original_name": "pwcmd",
+ "description": {
+ "default": "\"Кидает погоду картинкой.\nИспользование: .pw <город>; ничего."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "aw",
+ "original_name": "awcmd",
+ "description": {
+ "default": "Кидает погоду ascii-артом.\nИспользование: .aw <город>; ничего."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Weather"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/userdata.py": {
+ "name": "UserDataMod",
+ "description": "Модуль может изменить ваши данные в Telegram",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "name": "Команда .name изменит ваше имя."
+ },
+ {
+ "bio": "Команда .bio изменит ваше био."
+ },
+ {
+ "username": "Команда .username изменит ваше био."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "name",
+ "original_name": "namecmd",
+ "description": {
+ "default": "Команда .name изменит ваше имя."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "bio",
+ "original_name": "biocmd",
+ "description": {
+ "default": "Команда .bio изменит ваше био."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "username",
+ "original_name": "usernamecmd",
+ "description": {
+ "default": "Команда .username изменит ваше био."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "UserData"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/searchmodules.py": {
+ "name": "SearchMod",
+ "description": "Поиск контента на канале @ftgmodulesbyfl1yd",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "search": "Используй .search <название>"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "search",
+ "original_name": "searchcmd",
+ "description": {
+ "default": "Используй .search <название>"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "SearchModules"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/admin.py": {
+ "name": "AdminToolsMod",
+ "description": "Администрирование чата",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "ecp": "Команда .ecp изменяет картинку чата.\nИспользование: .ecp <реплай на картинку/стикер>."
+ },
+ {
+ "promote": "Команда .promote повышает пользователя в правах администратора.\nИспользование: .promote <@ или реплай> <ранг>."
+ },
+ {
+ "demote": "Команда .demote понижает пользователя в правах администратора.\nИспользование: .demote <@ или реплай>."
+ },
+ {
+ "pin": "Команда .pin закрепляет сообщение в чате.\nИспользование: .pin <реплай>."
+ },
+ {
+ "unpin": "Команда .unpin открепляет закрепленное сообщение в чате.\nИспользование: .unpin."
+ },
+ {
+ "kick": "Команда .kick кикает пользователя.\nИспользование: .kick <@ или реплай>."
+ },
+ {
+ "ban": "Команда .ban даёт бан пользователю.\nИспользование: .ban <@ или реплай>."
+ },
+ {
+ "unban": "Команда .unban для разбана пользователя.\nИспользование: .unban <@ или реплай>."
+ },
+ {
+ "mute": "Команда .mute даёт мут пользователю.\nИспользование: .mute <@ или реплай> <время (1m, 1h, 1d)>."
+ },
+ {
+ "unmute": "Команда .unmute для размута пользователя.\nИспользование: .unmute <@ или реплай>."
+ },
+ {
+ "delallmsgs": "Команда .delallmsgs удаляет все сообщения от пользователя.\nИспользование: .delallmsgs <@ или реплай>."
+ },
+ {
+ "delusers": "Команда .delusers показывает список всех удалённых аккаунтов в чате.\nИспользование: .delusers ."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "ecp",
+ "original_name": "ecpcmd",
+ "description": {
+ "default": "Команда .ecp изменяет картинку чата.\nИспользование: .ecp <реплай на картинку/стикер>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "promote",
+ "original_name": "promotecmd",
+ "description": {
+ "default": "Команда .promote повышает пользователя в правах администратора.\nИспользование: .promote <@ или реплай> <ранг>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "demote",
+ "original_name": "demotecmd",
+ "description": {
+ "default": "Команда .demote понижает пользователя в правах администратора.\nИспользование: .demote <@ или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "pin",
+ "original_name": "pincmd",
+ "description": {
+ "default": "Команда .pin закрепляет сообщение в чате.\nИспользование: .pin <реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "unpin",
+ "original_name": "unpincmd",
+ "description": {
+ "default": "Команда .unpin открепляет закрепленное сообщение в чате.\nИспользование: .unpin."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "kick",
+ "original_name": "kickcmd",
+ "description": {
+ "default": "Команда .kick кикает пользователя.\nИспользование: .kick <@ или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "ban",
+ "original_name": "bancmd",
+ "description": {
+ "default": "Команда .ban даёт бан пользователю.\nИспользование: .ban <@ или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "unban",
+ "original_name": "unbancmd",
+ "description": {
+ "default": "Команда .unban для разбана пользователя.\nИспользование: .unban <@ или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "mute",
+ "original_name": "mutecmd",
+ "description": {
+ "default": "Команда .mute даёт мут пользователю.\nИспользование: .mute <@ или реплай> <время (1m, 1h, 1d)>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "unmute",
+ "original_name": "unmutecmd",
+ "description": {
+ "default": "Команда .unmute для размута пользователя.\nИспользование: .unmute <@ или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "delallmsgs",
+ "original_name": "delallmsgscmd",
+ "description": {
+ "default": "Команда .delallmsgs удаляет все сообщения от пользователя.\nИспользование: .delallmsgs <@ или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "delusers",
+ "original_name": "deluserscmd",
+ "description": {
+ "default": "Команда .delusers показывает список всех удалённых аккаунтов в чате.\nИспользование: .delusers ."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "AdminTools",
+ "no_reply": "Нет реплая.",
+ "not_pic": "Это не картинка/стикер",
+ "wait": "Минуточку...",
+ "pic_so_small": "Картинка слишком маленькая, попробуйте другую.",
+ "pic_changed": "Картинка чата изменена.",
+ "promote_none": "Некого повышать.",
+ "who": "Кто это?",
+ "not_admin": "Я здесь не админ.",
+ "promoted": "{} повышен в правах администратора.\nРанг: {}",
+ "wtf_is_it": "Что это?",
+ "this_isn`t_a_chat": "Это не чат!",
+ "demote_none": "Некого понижать.",
+ "demoted": "{} понижен в правах администратора.",
+ "pinning": "Пин...",
+ "pin_none": "Ответь на сообщение чтобы закрепить его.",
+ "unpinning": "Анпин...",
+ "unpin_none": "Нечего откреплять.",
+ "no_rights": "У меня нет прав.",
+ "pinned": "Закреплено успешно!",
+ "unpinned": "Откреплено успешно!",
+ "can`t_kick": "Не могу кикнуть пользователя.",
+ "kicking": "Кик...",
+ "kick_none": "Некого кикать.",
+ "kicked": "{} кикнут из чата.",
+ "kicked_for_reason": "{} кикнут из чата.\nПричина: {}.",
+ "banning": "Бан...",
+ "banned": "{} забанен в чате.",
+ "banned_for_reason": "{} забанен в чате.\nПричина: {}",
+ "ban_none": "Некому давать бан.",
+ "unban_none": "Некого разбанить.",
+ "unbanned": "{} разбанен в чате.",
+ "mute_none": "Некому давать мут.",
+ "muted": "{} теперь в муте на ",
+ "no_args": "Неверно указаны аргументы.",
+ "unmute_none": "Некого размутить.",
+ "unmuted": "{} теперь не в муте.",
+ "deleting": "Удаление...",
+ "no_args_or_reply": "Нет аргументов или реплая.",
+ "deleted": "Все сообщения от {} удалены.",
+ "del_u_search": "Поиск удалённых аккаунтов...",
+ "del_u_kicking": "Кик удалённых аккаунтов...\nОх~, я могу это сделать?!"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/don`t_work.py": {
+ "name": "DontWorkMod",
+ "description": "Модуль не работает.",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "dontwork": "Используй .dontwork, чтобы понять, что модуль не работает."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "dontwork",
+ "original_name": "dontworkcmd",
+ "description": {
+ "default": "Используй .dontwork, чтобы понять, что модуль не работает."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Don`t Work"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/chat.py": {
+ "name": "ChatMod",
+ "description": "Чат модуль",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "userid": "Команда .userid <@ или реплай> показывает ID выбранного пользователя."
+ },
+ {
+ "chatid": "Команда .chatid показывает ID чата."
+ },
+ {
+ "invite": "Используйте .invite <@ или реплай>, чтобы добавить пользователя в чат."
+ },
+ {
+ "kickme": "Используйте команду .kickme, чтобы кикнуть себя из чата."
+ },
+ {
+ "users": "Команда .users <имя> выводит список всех пользователей в чате."
+ },
+ {
+ "admins": "Команда .admins показывает список всех админов в чате."
+ },
+ {
+ "bots": "Команда .bots показывает список всех ботов в чате."
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "userid",
+ "original_name": "useridcmd",
+ "description": {
+ "default": "Команда .userid <@ или реплай> показывает ID выбранного пользователя."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "chatid",
+ "original_name": "chatidcmd",
+ "description": {
+ "default": "Команда .chatid показывает ID чата."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "invite",
+ "original_name": "invitecmd",
+ "description": {
+ "default": "Используйте .invite <@ или реплай>, чтобы добавить пользователя в чат."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "kickme",
+ "original_name": "kickmecmd",
+ "description": {
+ "default": "Используйте команду .kickme, чтобы кикнуть себя из чата."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "users",
+ "original_name": "userscmd",
+ "description": {
+ "default": "Команда .users <имя> выводит список всех пользователей в чате."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "admins",
+ "original_name": "adminscmd",
+ "description": {
+ "default": "Команда .admins показывает список всех админов в чате."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "bots",
+ "original_name": "botscmd",
+ "description": {
+ "default": "Команда .bots показывает список всех ботов в чате."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "ChatModule"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "Fl1yd/FTG-Modules/arts.py": {
+ "name": "ArtsMod",
+ "description": "Юникод арты",
+ "cls_doc": {},
+ "meta": {
+ "pic": null,
+ "banner": null,
+ "developer": null
+ },
+ "commands": [
+ {
+ "vjuh": "Используй .vjuh <текст>."
+ },
+ {
+ "cowsay": "Используй .cowsay <текст>."
+ },
+ {
+ "padayu": "Используй .padayu <текст>; ничего."
+ },
+ {
+ "priletel": "Используй .prilitel <текст>; ничего."
+ },
+ {
+ "huytebe": "Используй .huytebe <текст>; ничего."
+ },
+ {
+ "lol": "Используй .lol."
+ },
+ {
+ "fuckyou": "Используй .fuckyou."
+ },
+ {
+ "house": "Используй .house."
+ },
+ {
+ "hello": "Используй .hello."
+ },
+ {
+ "coffee": "Используй .coffee <текст>; ничего."
+ },
+ {
+ "tv": "Используй .tv <текст>; ничего."
+ },
+ {
+ "gren": "Используй .gren <текст>; ничего."
+ },
+ {
+ "bruh": "Используй .bruh."
+ },
+ {
+ "uno": "Используй .uno."
+ },
+ {
+ "huy": "Используй .huy ; ничего."
+ },
+ {
+ "imps": "Используй .imps <@ или реплай>."
+ },
+ {
+ "f": "Используй .f"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "vjuh",
+ "original_name": "vjuhcmd",
+ "description": {
+ "default": "Используй .vjuh <текст>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "cowsay",
+ "original_name": "cowsaycmd",
+ "description": {
+ "default": "Используй .cowsay <текст>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "padayu",
+ "original_name": "padayucmd",
+ "description": {
+ "default": "Используй .padayu <текст>; ничего."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "priletel",
+ "original_name": "priletelcmd",
+ "description": {
+ "default": "Используй .prilitel <текст>; ничего."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "huytebe",
+ "original_name": "huytebecmd",
+ "description": {
+ "default": "Используй .huytebe <текст>; ничего."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "lol",
+ "original_name": "lolcmd",
+ "description": {
+ "default": "Используй .lol."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "fuckyou",
+ "original_name": "fuckyoucmd",
+ "description": {
+ "default": "Используй .fuckyou."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "house",
+ "original_name": "housecmd",
+ "description": {
+ "default": "Используй .house."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "hello",
+ "original_name": "hellocmd",
+ "description": {
+ "default": "Используй .hello."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "coffee",
+ "original_name": "coffeecmd",
+ "description": {
+ "default": "Используй .coffee <текст>; ничего."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "tv",
+ "original_name": "tvcmd",
+ "description": {
+ "default": "Используй .tv <текст>; ничего."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "gren",
+ "original_name": "grencmd",
+ "description": {
+ "default": "Используй .gren <текст>; ничего."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "bruh",
+ "original_name": "bruhcmd",
+ "description": {
+ "default": "Используй .bruh."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "uno",
+ "original_name": "unocmd",
+ "description": {
+ "default": "Используй .uno."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "huy",
+ "original_name": "huycmd",
+ "description": {
+ "default": "Используй .huy ; ничего."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "imps",
+ "original_name": "impscmd",
+ "description": {
+ "default": "Используй .imps <@ или реплай>."
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ },
+ {
+ "name": "f",
+ "original_name": "fcmd",
+ "description": {
+ "default": "Используй .f"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Arts"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "sqlmerr/hikka_mods/silentmessages.py": {
+ "name": "SilentMessages",
+ "description": "With this module you won't miss important messages sent without sound!",
+ "cls_doc": {
+ "ru": "С этим модулем вы не пропустите важные сообщения, отправленные без звука!"
+ },
+ "meta": {
+ "pic": null,
+ "banner": "https://github.com/sqlmerr/sqlmerr/blob/main/assets/hikka_mods/sqlmerrmodules_silentmessages.png?raw=true",
+ "developer": "@sqlmerr_m",
+ "icon": "https://github.com/sqlmerr/hikka_mods/blob/main/assets/icons/silentmessages.png?raw=true"
+ },
+ "commands": [
+ {
+ "silentmessages": "toggle module status | (RU) включить/выключить модуль"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "silentmessages",
+ "original_name": "silentmessages",
+ "description": {
+ "default": "toggle module status",
+ "ru": "включить/выключить модуль"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "SilentMessages",
+ "_cfg_chats": "Chats in which the module will monitor messages without sound",
+ "_cfg_status": "Is the module working or not?",
+ "_cfg_text": "The text that will be sent by your inline bot when a silent message is received",
+ "enabled": "enabled",
+ "disabled": "disabled",
+ "toggle_message": "🔖 Module {}!",
+ "_cfg_chats_ru": "Чаты, в которых модуль будет следить за сообщениями без звука",
+ "_cfg_status_ru": "Работает ли модуль или нет",
+ "_cfg_text_ru": "Текст, который будет отправлен вашим инлайн ботом, когда будет получено сообщение без звука",
+ "enabled_ru": "включен",
+ "disabled_ru": "выключен",
+ "toggle_message_ru": "🔖 Модуль {}!"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "sqlmerr/hikka_mods/currencyconverter.py": {
+ "name": "CurrencyConverter",
+ "description": "Module for converting a large number of currencies to other currencies",
+ "cls_doc": {
+ "ru": "Модуль для конвертации большого количества валют в другие валюты"
+ },
+ "meta": {
+ "pic": null,
+ "banner": "https://github.com/sqlmerr/hikka_mods/blob/main/assets/banners/currencyconverter.png?raw=true",
+ "developer": "@sqlmerr_m",
+ "icon": "https://github.com/sqlmerr/hikka_mods/blob/main/assets/icons/currencyconverter.png?raw=true"
+ },
+ "commands": [
+ {
+ "cconvert": "[from] [to] Convert currency to other currency | (RU) [from] [to] Конвертировать одну валюту в другую"
+ }
+ ],
+ "new_commands": [
+ {
+ "name": "cconvert",
+ "original_name": "cconvert",
+ "description": {
+ "default": "[from] [to] Convert currency to other currency",
+ "ru": "[from] [to] Конвертировать одну валюту в другую"
+ },
+ "cmd_names": {},
+ "aliases": [],
+ "usage": null,
+ "inline": false,
+ "is_inline_handler": false,
+ "decorators": []
+ }
+ ],
+ "inline_handlers": [],
+ "strings": {
+ "name": "Currency Converter",
+ "msg": "💲 Convert\n{from_} / {to} {price}",
+ "no_args": "❌ No args!",
+ "args_too_short": "❌ Args are too short!",
+ "not_found": "❌ Currency not found!",
+ "_cfg_autoupdate": "Auto update message",
+ "_cfg_update_delay": "Message auto update delay. In hours",
+ "msg_ru": "💲 Конвертация\n{from_} / {to} {price}",
+ "no_args_ru": "❌ Вы не передали аргументы!",
+ "args_too_short_ru": "❌ Слишком короткие аргументы!",
+ "not_found_ru": "❌ Валюта не найдена!",
+ "_cfg_autoupdate_ru": "Автообновление сообщения",
+ "_cfg_update_delay_ru": "Кд автообновления сообщения. В часах"
+ },
+ "has_on_load": false,
+ "has_on_unload": false,
+ "class_cmd_names": {}
+ },
+ "sqlmerr/hikka_mods/quicktools.py": {
+ "name": "QuickTools",
+ "description": "Module with various quick and useful tools",
+ "cls_doc": {
+ "ru": "Модуль с разными быстрыми и полезными инструментами"
+ },
+ "meta": {
+ "pic": null,
+ "banner": "https://github.com/sqlmerr/sqlmerr/blob/main/assets/hikka_mods/quicktools.png?raw=true",
+ "developer": "@sqlmerr_m",
+ "icon": "https://github.com/sqlmerr/hikka_mods/blob/main/assets/icons/quicktools.png?raw=true"
+ },
+ "commands": [
+ {
+ "id": " Get user/chat/sender/replied message/message ID | (RU) <реплай на сообщение> Получить айди пользователя/чата/отправителя/сообщения"
+ },
+ {
+ "text": " Get replied message text | (RU) <реплай на сообщение> Получить текст сообщения"
+ },
+ {
+ "replymarkup": " Get replied message reply markup (buttons) | (RU) <реплай на сообщение> Получить кнопки сообщения"
+ },
+ {
+ "entitylink": "