From 36fdafa7d7afccb9735d16cddf75e83ce556a696 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 22 Nov 2025 08:13:29 +0000 Subject: [PATCH] Added and updated repositories 2025-11-22 08:13:29 --- KeyZenD/modules/VideoDistortion.py | 11 + SenkoGuardian/SenModules/Gemini.py | 1094 ++++++++++++++++++ SenkoGuardian/SenModules/GiftFinder.py | 134 +++ SenkoGuardian/SenModules/LICENSE.md | 21 + SenkoGuardian/SenModules/MaillingChatGT99.py | 705 +++++++++++ SenkoGuardian/SenModules/NekoEditorMod.py | 81 ++ SenkoGuardian/SenModules/README.md | 7 + ZetGoHack/nullmod/20250401_100043.jpg | Bin 0 -> 591692 bytes ZetGoHack/nullmod/Chess.py | 927 +++++++++++++++ ZetGoHack/nullmod/HaremManager.py | 435 +++++++ ZetGoHack/nullmod/SchedulePlus.py | 82 ++ ZetGoHack/nullmod/full.txt | 3 + mead0wsss/mead0wsMods/MyFACEIT.py | 198 ++-- unneyon/hikka-mods/yamusic.py | 78 +- 14 files changed, 3641 insertions(+), 135 deletions(-) create mode 100644 KeyZenD/modules/VideoDistortion.py create mode 100644 SenkoGuardian/SenModules/Gemini.py create mode 100644 SenkoGuardian/SenModules/GiftFinder.py create mode 100644 SenkoGuardian/SenModules/LICENSE.md create mode 100644 SenkoGuardian/SenModules/MaillingChatGT99.py create mode 100644 SenkoGuardian/SenModules/NekoEditorMod.py create mode 100644 SenkoGuardian/SenModules/README.md create mode 100644 ZetGoHack/nullmod/20250401_100043.jpg create mode 100644 ZetGoHack/nullmod/Chess.py create mode 100644 ZetGoHack/nullmod/HaremManager.py create mode 100644 ZetGoHack/nullmod/SchedulePlus.py create mode 100644 ZetGoHack/nullmod/full.txt diff --git a/KeyZenD/modules/VideoDistortion.py b/KeyZenD/modules/VideoDistortion.py new file mode 100644 index 0000000..b9688e8 --- /dev/null +++ b/KeyZenD/modules/VideoDistortion.py @@ -0,0 +1,11 @@ +# Python code obfuscated by www.development-tools.net + + +import base64, codecs +magic = 'aW1wb3J0IGFzeW5jaW8NCmltcG9ydCBsb2dnaW5nDQpmcm9tIC4uIGltcG9ydCBsb2FkZXIsIHV0aWxzDQoNCmxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQ0KDQpAbG9hZGVyLnRkcw0KY2xhc3MgVmlkZW9EaXN0b3J0aW9ydE1vZChsb2FkZXIuTW9kdWxlKToNCgkiIiLQltC80YvRhSDQtNC70Y8g0LLQuNC00LXQviIiIg0KCXN0cmluZ3MgPSB7Im5hbWUiOiAiVmlkZW9EaXN0b3J0aW9uIn0NCg0KCUBsb2FkZXIudW5yZXN0cmljdGVkDQoJYXN5bmMgZGVmIHZkaXN0b3J0Y21kKHNlbGYsIG1lc3NhZ2UpOg0KCQkiIiIudmRpc3RvcnQgPHJlcGx5IHRvIHZpZGVvPiIiIg0KCQlhd2FpdCBtZXNzYWdlLmVkaXQoIjxiPtCX0LDQs9GA0YPQttCw0Y4g0LLQuNC00LXQvi4uLjwvYj4iKQ0KCQlhd2FpdCBhc3luY2lvLnNsZWVwKDUpDQoJCWF3YWl0IG1lc3NhZ2UuZWRpdCgiPGI+0JTQvtGB0YLQsNGOINC60LDQtNGA0YsuLi48L2' +love = 'V+VvxAPtxWLKqunKDtLKA5ozAcol5moTIypPt1XD0XPDyuq2ScqPOgMKAmLJqyYzIxnKDbVwkvCgPH0YKDh9Pj0L4t0YoDiATY0LHhYv48Y2V+VvxAPtxWLKqunKDtLKA5ozAcol5moTIypPt1XD0XPDyuq2ScqPOgMKAmLJqyYzIxnKDbVwkvCgPu0Y7DfqP40LQDfATBVAP60YQDgATN0LfhYv48Y2V+VvxAPtxWLKqunKDtLKA5ozAcol5moTIypPt1XD0XPDyuq2ScqPOgMKAmLJqyYzIxnKDbVwkvCgPr0LYDi9TN0YQDfgP70L/EwvQDfgP40YGDgqP+Yv4hCP9vCvVcQDbWPJS3LJy0VTSmrJ5wnJ8hp2kyMKNbAFxAPtxWLKqunKDtoJImp2SaMF5woTyyoaDhp2IhMS9znJkyXT1yp3AuM2HhL2uuqPjtVzu0qUN6Yl94rJI0LF5goP9zY05yqzIlE29hozSUnKMyJJ91IKNhoKN0VvjtL2SjqTyiow0vCTV+GzI2MKVtE29hozRtE2y2MFOMo3HtIKNuCP9vCvVcQDbWPJS3LJy0VT1yp3AuM2HhMJEcqPtvJJ91VUquplOlnJAepz9foTIxVFVcQDbWPD0XVvVv' +god = 'DQppbXBvcnQgYXN5bmNpbw0KaW1wb3J0IGxvZ2dpbmcNCmZyb20gLi4gaW1wb3J0IGxvYWRlciwgdXRpbHMNCg0KbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pDQoNCkBsb2FkZXIudGRzDQpjbGFzcyBWaWRlb0Rpc3RvcnRpb3J0TW9kKGxvYWRlci5Nb2R1bGUpOg0KCSLQltC80YvRhSDQtNC70Y8g0LLQuNC00LXQviINCglzdHJpbmdzID0geyJuYW1lIjogIlZpZGVvRGlzdG9ydGlvbiJ9DQoNCglAbG9hZGVyLnVucmVzdHJpY3RlZA0KCWFzeW5jIGRlZiB2ZGlzdG9ydGNtZChzZWxmLCBtZXNzYWdlKToNCgkJIi52ZGlzdG9ydCA8cmVwbHkgdG8gdmlkZW8+Ig0KCQlhd2FpdCBtZXNzYWdlLmVkaXQoIjxiPtCX0LDQs9GA0YPQttCw0Y4g0LLQuNC00LXQvi4uLjwvYj4iKQ0KCQlhd2FpdCBhc3luY2lvLnNsZWVwKDUpDQoJCWF3YWl0IG1lc3NhZ2UuZWRpdCgiPGI+0JTQvtGB0YLQsNGOINC60LDQtNGA0YsuLi48L2I+IikNCg' +destiny = 'xWLKqunKDtLKA5ozAcol5moTIypPt1XD0XPDyuq2ScqPOgMKAmLJqyYzIxnKDbVwkvCgPH0YKDh9Pj0L4t0YoDiATY0LHhYv48Y2V+VvxAPtxWLKqunKDtLKA5ozAcol5moTIypPt1XD0XPDyuq2ScqPOgMKAmLJqyYzIxnKDbVwkvCgPu0Y7DfqP40LQDfATBVAP60YQDgATN0LfhYv48Y2V+VvxAPtxWLKqunKDtLKA5ozAcol5moTIypPt1XD0XPDyuq2ScqPOgMKAmLJqyYzIxnKDbVwkvCgPr0LYDi9TN0YQDfgP70L/EwvQDfgP40YGDgqP+Yv4hCP9vCvVcQDbWPJS3LJy0VTSmrJ5wnJ8hp2kyMKNbAFxAPtxWLKqunKDtoJImp2SaMF5woTyyoaDhp2IhMS9znJkyXT1yp3AuM2HhL2uuqPjtVzu0qUN6Yl94rJI0LF5goP9zY05yqzIlE29hozSUnKMyJJ91IKNhoKN0VvjtL2SjqTyiow0vCTV+GzI2MKVtE29hozRtE2y2MFOMo3HtIKNuCP9vCvVcQDbWPJS3LJy0VT1yp3AuM2HhMJEcqPtvJJ91VUquplOlnJAepz9foTIxVFVcQDbWPD0XVvVvQDbWPD==' +joy = '\x72\x6f\x74\x31\x33' +trust = eval('\x6d\x61\x67\x69\x63') + eval('\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x6c\x6f\x76\x65\x2c\x20\x6a\x6f\x79\x29') + eval('\x67\x6f\x64') + eval('\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x64\x65\x73\x74\x69\x6e\x79\x2c\x20\x6a\x6f\x79\x29') +eval(compile(base64.b64decode(eval('\x74\x72\x75\x73\x74')),'','exec')) \ No newline at end of file diff --git a/SenkoGuardian/SenModules/Gemini.py b/SenkoGuardian/SenModules/Gemini.py new file mode 100644 index 0000000..adb7101 --- /dev/null +++ b/SenkoGuardian/SenModules/Gemini.py @@ -0,0 +1,1094 @@ +# This file is part of SenkoGuardianModules +# Copyright (c) 2025 Senko +# This software is released under the MIT License. +# https://opensource.org/licenses/MIT + +__version__ = (5, 2, 6) # Meow~ + +# meta developer: @SenkoGuardianModules + +# .------. .------. .------. .------. .------. .------. +# |S.--. | |E.--. | |N.--. | |M.--. | |O.--. | |D.--. | +# | :/\: | | :/\: | | :(): | | :/\: | | :/\: | | :/\: | +# | :\/: | | :\/: | | ()() | | :\/: | | :\/: | | :\/: | +# | '--'S| | '--'E| | '--'N| | '--'M| | '--'O| | '--'D| +# `------' `------' `------' `------' `------' `------' + +import re +import os +import io +import random +import socket +import asyncio +import logging +import aiohttp +import tempfile +from markdown_it import MarkdownIt +import pytz +import google.ai.generativelanguage as glm +from telethon import types +from telethon.tl.types import Message, DocumentAttributeFilename +from telethon.utils import get_display_name, get_peer_id +from telethon.errors.rpcerrorlist import ( + MessageTooLongError, + ChatAdminRequiredError, + UserNotParticipantError, + ChannelPrivateError +) +try: + import google.generativeai as genai + import google.ai.generativelanguage + import google.api_core.exceptions as google_exceptions + GOOGLE_AVAILABLE = True +except ImportError: + GOOGLE_AVAILABLE = False +from .. import loader, utils +from ..inline.types import InlineCall + +# requires: google-generativeai google-api-core pytz markdown_it_py + +logger = logging.getLogger(__name__) + +DB_HISTORY_KEY = "gemini_conversations_v4" +DB_GAUTO_HISTORY_KEY = "gemini_gauto_conversations_v1" +DB_IMPERSONATION_KEY = "gemini_impersonation_chats" +GEMINI_TIMEOUT = 840 +MAX_FFMPEG_SIZE = 90 * 1024 * 1024 + +class Gemini(loader.Module): + """Модуль для работы с Google Gemini AI.(стабильная память и поддержка video/image/audio)""" + strings = { + "name": "Gemini", + "cfg_api_key_doc": "API ключи Google Gemini, разделенные запятой. Будут скрыты.", + "cfg_model_name_doc": "Модель Gemini.", + "cfg_buttons_doc": "Включить интерактивные кнопки.", + "cfg_system_instruction_doc": "Системная инструкция (промпт) для Gemini.", + "cfg_max_history_length_doc": "Макс. кол-во пар 'вопрос-ответ' в памяти (0 - без лимита).", + "cfg_timezone_doc": "Ваш часовой пояс. Список: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones", + "cfg_proxy_doc": "Прокси для обхода региональных блокировок. Формат: http://user:pass@host:port", + "cfg_impersonation_prompt_doc": "Промпт для режима авто-ответа. {my_name} и {chat_history} будут заменены.", + "cfg_impersonation_history_limit_doc": "Сколько последних сообщений из чата отправлять в качестве контекста для авто-ответа.", + "cfg_impersonation_reply_chance_doc": "Вероятность ответа в режиме gauto (от 0.0 до 1.0). 0.2 = 20% шанс.", + "no_api_key": '❗️ Api ключ(и) не настроен(ы).\nПолучить Api ключ можно здесь.\nДобавьте ключ(и) в конфиге модуля: .cfg gemini api_key', + "invalid_api_key": '❗️ Предоставленный API ключ недействителен.\nУбедитесь, что он правильно скопирован из Google AI Studio и что для него включен Gemini API.', + "all_keys_exhausted": "❗️ Все доступные API ключи ({}) исчерпали свою квоту.\nПопробуйте позже или добавьте новые ключи в конфиге: .cfg gemini api_key", + "no_prompt_or_media": "⚠️ Нужен текст или ответ на медиа/файл.", + "processing": "⌛️ Обработка...", + "api_error": "❗️ Ошибка API Google Gemini:\n{}", + "api_timeout": f"❗️ Таймаут ответа от Gemini API ({GEMINI_TIMEOUT} сек).", + "blocked_error": "🚫 Запрос/ответ заблокирован.\n{}", + "generic_error": "❗️ Ошибка:\n{}", + "question_prefix": "💬 Запрос:", + "response_prefix": " Gemini:", + "unsupported_media_type": "⚠️ Формат медиа ({}) не поддерживается.", + "memory_status": "🧠 [{}/{}]", + "memory_status_unlimited": "🧠 [{}/∞]", + "memory_cleared": "🧹 Память диалога очищена.", + "memory_cleared_gauto": "🧹 Память gauto в этом чате очищена.", + "no_memory_to_clear": "ℹ️ В этом чате нет истории.", + "no_gauto_memory_to_clear": "ℹ️ В этом чате нет истории gauto.", + "memory_chats_title": "🧠 Чаты с историей ({}):", + "memory_chat_line": " • {} ({})", + "no_memory_found": "ℹ️ Память Gemini пуста.", + "media_reply_placeholder": "[ответ на медиа]", + "btn_clear": "🧹 Очистить", + "btn_regenerate": "🔄 Другой ответ", + "no_last_request": "Последний запрос не найден для повторной генерации.", + "memory_fully_cleared": "🧹 Вся память Gemini полностью очищена (затронуто {} чатов).", + "gauto_memory_fully_cleared": "🧹 Вся память gauto полностью очищена (затронуто {} чатов).", + "no_memory_to_fully_clear": "ℹ️ Память Gemini и так пуста.", + "no_gauto_memory_to_fully_clear": "ℹ️ Память gauto и так пуста.", + "response_too_long": "Ответ Gemini был слишком длинным и отправлен в виде файла.", + "gclear_usage": "ℹ️ Использование: .gclear [auto]", + "gres_usage": "ℹ️ Использование: .gres [auto]", + "auto_mode_on": "🎭 Режим авто-ответа включен в этом чате.\nЯ буду отвечать на сообщения с вероятностью {}%.", + "auto_mode_off": "🎭 Режим авто-ответа выключен в этом чате.", + "auto_mode_chats_title": "🎭 Чаты с активным авто-ответом ({}):", + "no_auto_mode_chats": "ℹ️ Нет чатов с включенным режимом авто-ответа.", + "auto_mode_usage": "ℹ️ Использование: .gauto on/off или[id/username] [on/off]", + "gauto_chat_not_found": "🚫 Не удалось найти чат: {}", + "gauto_state_updated": "🎭 Режим авто-ответа для чата {} {}", + "gauto_enabled": "включен", + "gauto_disabled": "выключен", + "gch_usage": "ℹ️ Использование:\n.gch <кол-во> <вопрос>\n.gch <кол-во> <вопрос>", + "gch_processing": "⌛️ Анализирую {} сообщений...", + "gch_result_caption": "Анализ последних {} сообщений", + "gch_result_caption_from_chat": "Анализ последних {} сообщений из чата {}", + "gch_invalid_args": "❗️ Неверные аргументы.\n{}", + "gch_chat_error": "❗️ Ошибка доступа к чату {}: {}", + "gmodel_usage": "ℹ️ Использование: .gmodel [модель] [-s]\n• [модель] — установить модель.\n• -s — показать список доступных моделей.", + "gmodel_list_title": "📋 Доступные модели Gemini (по вашему API):", + "gmodel_list_item": "• {} — {} (поддержка: {})", + "gmodel_img_support": "Поддержка изображений", + "gmodel_no_support": "Нет поддержки изображений", + "gmodel_img_warn": "⚠️ Текущая модель ({}) не может генерировать изображения(или не доступна по API).\nРекомендуем: gemini-2.5-flash-image", + "gme_chat_not_found": "🚫 Не удалось найти чат для экспорта: {}", + "gme_sent_to_saved": "💾 История экспортирована в избранное.", + } + TEXT_MIME_TYPES = { + "text/plain", "text/markdown", "text/html", "text/css", "text/csv", + "application/json", "application/xml", "application/x-python", "text/x-python", + "application/javascript", "application/x-sh", + } + def __init__(self): + self.config = loader.ModuleConfig( + loader.ConfigValue( + "api_key", "", self.strings["cfg_api_key_doc"], + validator=loader.validators.Hidden() + ), + loader.ConfigValue("model_name", "gemini-1.5-flash", self.strings["cfg_model_name_doc"]), + loader.ConfigValue("interactive_buttons", True, self.strings["cfg_buttons_doc"], validator=loader.validators.Boolean()), + loader.ConfigValue("system_instruction", "", self.strings["cfg_system_instruction_doc"], validator=loader.validators.String()), + loader.ConfigValue("max_history_length", 10, self.strings["cfg_max_history_length_doc"], validator=loader.validators.Integer(minimum=0)), + loader.ConfigValue("timezone", "Europe/Moscow", self.strings["cfg_timezone_doc"]), + loader.ConfigValue("proxy", "", self.strings["cfg_proxy_doc"]), + loader.ConfigValue( + "impersonation_prompt", + ( + "Ты — это я, пользователь Telegram по имени {my_name}. Твоя задача — отвечать в чате от моего имени, основываясь на последних сообщениях. " + "Веди себя естественно, как обычный человек, а не как ассистент. Не признавайся, что ты — ИИ, даже если тебя спросят напрямую. " + "Твоя личность: [Здесь опишите свой характер: остроумный, серьезный, саркастичный, дружелюбный и т.д.].\n" + "Правила:\n- Отвечай кратко и по делу.\n- Используй неформальный язык, сленг.\n- Не отвечай на каждое сообщение.\n- На медиа (стикер, фото) реагируй как человек ('лол', 'ору', 'жиза').\n- Не используй префиксы и кавычки.\n\n" + "ИСТОРИЯ ЧАТА:\n{chat_history}\n\n{my_name}:" + ), + self.strings["cfg_impersonation_prompt_doc"], + validator=loader.validators.String(), + ), + loader.ConfigValue("impersonation_history_limit", 20, self.strings["cfg_impersonation_history_limit_doc"], validator=loader.validators.Integer(minimum=5, maximum=100)), + loader.ConfigValue("impersonation_reply_chance", 0.25, self.strings["cfg_impersonation_reply_chance_doc"], validator=loader.validators.Float(minimum=0.0, maximum=1.0)), + loader.ConfigValue("gauto_in_pm", False, "Разрешить авто-ответы в личных сообщениях (ЛС).", validator=loader.validators.Boolean()), + ) + self.conversations = {} + self.gauto_conversations = {} + self.last_requests = {} + self.impersonation_chats = set() + self._lock = asyncio.Lock() + self.memory_disabled_chats = set() + + async def client_ready(self, client, db): + self.client = client + self.db = db + self.me = await client.get_me() + if not GOOGLE_AVAILABLE: + logger.error("Gemini: Google API libraries are not available. Please install required dependencies.") + return + api_key_str = self.config["api_key"] + self.api_keys = [k.strip() for k in api_key_str.split(",") if k.strip()] if api_key_str else [] + self.current_api_key_index = 0 + self.conversations = self._load_history_from_db(DB_HISTORY_KEY) + self.gauto_conversations = self._load_history_from_db(DB_GAUTO_HISTORY_KEY) + self.impersonation_chats = set(self.db.get(self.strings["name"], DB_IMPERSONATION_KEY, [])) + self.safety_settings = [{"category": c, "threshold": "BLOCK_NONE"} for c in ["HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_DANGEROUS_CONTENT"]] + self._configure_proxy() + if not self.api_keys: + logger.warning("Gemini: API ключ(и) не настроен(ы)!") + + async def _prepare_parts(self, message: Message, custom_text: str=None): + final_parts, warnings=[], [] + prompt_text_chunks=[] + user_args=custom_text if custom_text is not None else utils.get_args_raw(message) + reply=await message.get_reply_message() + if reply and getattr(reply, "text", None): + try: + reply_sender=await reply.get_sender() + reply_author_name=get_display_name(reply_sender) if reply_sender else "Unknown" + prompt_text_chunks.append(f"{reply_author_name}: {reply.text}") + except Exception: prompt_text_chunks.append(f"Ответ на: {reply.text}") + try: + current_sender=await message.get_sender() + current_user_name=get_display_name(current_sender) if current_sender else "User" + prompt_text_chunks.append(f"{current_user_name}: {user_args or ''}") + except Exception: prompt_text_chunks.append(f"Запрос: {user_args or ''}") + media_source = message if message.media or message.sticker else reply + has_media = bool(media_source and (media_source.media or media_source.sticker)) + if has_media: + if media_source.sticker and hasattr(media_source.sticker, 'mime_type') and media_source.sticker.mime_type=='application/x-tgsticker': + alt_text=next((attr.alt for attr in media_source.sticker.attributes if isinstance(attr, types.DocumentAttributeSticker)), "?") + prompt_text_chunks.append(f"[Отправлен анимированный стикер: {alt_text}]") + else: + media, mime_type, filename = media_source.media, "application/octet-stream", "file" + if media_source.photo: mime_type="image/jpeg" + elif hasattr(media_source, "document") and media_source.document: + mime_type=getattr(media_source.document, "mime_type", mime_type) + doc_attr=next((attr for attr in media_source.document.attributes if isinstance(attr, DocumentAttributeFilename)), None) + if doc_attr: filename=doc_attr.file_name + if mime_type.startswith("image/"): + try: + byte_io=io.BytesIO() + await self.client.download_media(media, byte_io) + final_parts.append(glm.Part(inline_data=glm.Blob(mime_type=mime_type, data=byte_io.getvalue()))) + except Exception as e: warnings.append(f"⚠️ Ошибка обработки изображения '{filename}': {e}") + elif mime_type in self.TEXT_MIME_TYPES or filename.split('.')[-1] in ('txt', 'py', 'js', 'json', 'md', 'html', 'css', 'sh'): + try: + byte_io=io.BytesIO() + await self.client.download_media(media, byte_io) + byte_io.seek(0) + file_content=byte_io.read().decode('utf-8') + prompt_text_chunks.insert(0, f"[Содержимое файла '{filename}']: \n```\n{file_content}\n```") + except Exception as e: warnings.append(f"⚠️ Ошибка чтения файла '{filename}': {e}") + elif mime_type.startswith("audio/"): + input_path, output_path = None, None + try: + with tempfile.NamedTemporaryFile(suffix=f".{filename.split('.')[-1]}", delete=False) as temp_in: input_path = temp_in.name + await self.client.download_media(media, input_path) + if os.path.getsize(input_path) > MAX_FFMPEG_SIZE: + warnings.append(f"⚠️ Аудиофайл '{filename}' слишком большой для конвертации (> {MAX_FFMPEG_SIZE // 1024 // 1024} МБ)."); raise StopIteration + with tempfile.NamedTemporaryFile(suffix=".mp3", delete=False) as temp_out: output_path = temp_out.name + ffmpeg_cmd = ["ffmpeg", "-y", "-i", input_path, "-c:a", "libmp3lame", "-q:a", "2", output_path] + process_ffmpeg = await asyncio.create_subprocess_exec(*ffmpeg_cmd, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE) + _, stderr = await process_ffmpeg.communicate() + if process_ffmpeg.returncode != 0: + stderr_str = stderr.decode() + warnings.append(f"⚠️ Ошибка FFmpeg (аудио):\nНе удалось конвертировать '{filename}'. Детали:\n{utils.escape_html(stderr_str)}") + raise StopIteration + with open(output_path, "rb") as f: + final_parts.append(glm.Part(inline_data=glm.Blob(mime_type="audio/mpeg", data=f.read()))) + except StopIteration: pass + except Exception as e: warnings.append(f"⚠️ Критическая ошибка при обработке аудио '{filename}': {e}") + finally: + if input_path and os.path.exists(input_path): os.remove(input_path) + if output_path and os.path.exists(output_path): os.remove(output_path) + elif mime_type.startswith("video/"): + input_path, output_path = None, None + try: + with tempfile.NamedTemporaryFile(suffix=f".{filename.split('.')[-1]}", delete=False) as temp_in: input_path=temp_in.name + await self.client.download_media(media, input_path) + if os.path.getsize(input_path) > MAX_FFMPEG_SIZE: + warnings.append(f"⚠️ Медиафайл '{filename}' слишком большой для конвертации (> {MAX_FFMPEG_SIZE // 1024 // 1024} МБ)."); raise StopIteration + ffprobe_cmd = ["ffprobe", "-v", "error", "-select_streams", "a:0", "-show_entries", "stream=codec_type", "-of", "default=noprint_wrappers=1:nokey=1", input_path] + process_probe = await asyncio.create_subprocess_exec(*ffprobe_cmd, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE) + stdout, _ = await process_probe.communicate() + has_audio = bool(stdout.strip()) + with tempfile.NamedTemporaryFile(suffix=".mp4", delete=False) as temp_out: output_path = temp_out.name + ffmpeg_cmd = ["ffmpeg", "-y", "-i", input_path] + maps = ["-map", "0:v:0"] + if not has_audio: + ffmpeg_cmd.extend(["-f", "lavfi", "-i", "anullsrc=channel_layout=stereo:sample_rate=44100"]) + maps.extend(["-map", "1:a:0"]) + else: + maps.extend(["-map", "0:a:0?"]) + ffmpeg_cmd.extend([*maps, "-vf", "pad=ceil(iw/2)*2:ceil(ih/2)*2", "-c:v", "libx264", "-c:a", "aac", "-pix_fmt", "yuv420p", "-movflags", "+faststart", "-shortest", output_path]) + process_ffmpeg = await asyncio.create_subprocess_exec(*ffmpeg_cmd, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE) + _, stderr = await process_ffmpeg.communicate() + if process_ffmpeg.returncode != 0: + stderr_str = stderr.decode() + warnings.append(f"⚠️ Ошибка FFmpeg:\nНе удалось конвертировать '{filename}'. Детали:\n{utils.escape_html(stderr_str)}") + raise StopIteration + with open(output_path, "rb") as f: + final_parts.append(glm.Part(inline_data=glm.Blob(mime_type="video/mp4", data=f.read()))) + except StopIteration: pass + except Exception as e: warnings.append(f"⚠️ Критическая ошибка при обработке медиа '{filename}': {e}") + finally: + if input_path and os.path.exists(input_path): os.remove(input_path) + if output_path and os.path.exists(output_path): os.remove(output_path) + if not user_args and has_media and not final_parts and not any("[Содержимое файла" in chunk for chunk in prompt_text_chunks): + prompt_text_chunks.append(self.strings["media_reply_placeholder"]) + full_prompt_text="\n".join(chunk for chunk in prompt_text_chunks if chunk and chunk.strip()).strip() + if full_prompt_text: + final_parts.insert(0, glm.Part(text=full_prompt_text)) + return final_parts, warnings + + async def _send_to_gemini(self, message, parts: list, regeneration: bool=False, call: InlineCall=None, status_msg=None, chat_id_override: int=None, impersonation_mode: bool=False, use_url_context: bool=False, display_prompt: str=None): + msg_obj=None + if regeneration: + chat_id=chat_id_override; base_message_id=message + try: msg_obj=await self.client.get_messages(chat_id, ids=base_message_id) + except Exception: msg_obj=None + else: + chat_id=utils.get_chat_id(message); base_message_id=message.id; msg_obj=message + try: + if not self.api_keys: + if not impersonation_mode and status_msg: + await utils.answer(status_msg, self.strings['no_api_key']) + return None if impersonation_mode else "" + tools_list=[] + if use_url_context: + try: tools_list.append(genai.types.Tool(url_context=genai.types.UrlContext())) + except AttributeError: logger.error("Инструмент UrlContext не поддерживается вашей версией библиотеки.") + system_instruction_to_use=None; api_history_content=[] + if impersonation_mode: + my_name=get_display_name(self.me); chat_history_text=await self._get_recent_chat_text(chat_id); system_instruction_to_use=self.config["impersonation_prompt"].format(my_name=my_name, chat_history=chat_history_text) + raw_history=self._get_structured_history(chat_id, gauto=True); api_history_content=[glm.Content(role=e["role"], parts=[glm.Part(text=e['content'])]) for e in raw_history] + else: + system_instruction_val=self.config["system_instruction"]; system_instruction_to_use=(system_instruction_val.strip() if isinstance(system_instruction_val, str) else "") or None + raw_history=self._get_structured_history(chat_id, gauto=False) + if regeneration: raw_history=raw_history[:-2] + api_history_content=[glm.Content(role=e["role"], parts=[glm.Part(text=e['content'])]) for e in raw_history] + full_request_content=list(api_history_content) + if not impersonation_mode: + from datetime import datetime + try: user_timezone=pytz.timezone(self.config["timezone"]) + except pytz.UnknownTimeZoneError: user_timezone=pytz.utc + now=datetime.now(user_timezone); time_str=now.strftime("%Y-%m-%d %H:%M:%S %Z"); time_note=f"[System note: Current time is {time_str}]" + text_part_found=False + for p in parts: + if hasattr(p, 'text'): p.text=f"{time_note}\n\n{p.text}"; text_part_found=True; break + if not text_part_found: parts.insert(0, glm.Part(text=time_note)) + if regeneration: + current_turn_parts,request_text_for_display=self.last_requests.get(f"{chat_id}:{base_message_id}", (parts, "[регенерация]")) + else: + current_turn_parts=parts; request_text_for_display=display_prompt or (self.strings["media_reply_placeholder"] if any("inline_data" in str(p) for p in parts) else ""); self.last_requests[f"{chat_id}:{base_message_id}"]=(current_turn_parts, request_text_for_display) + if current_turn_parts: full_request_content.append(glm.Content(role="user", parts=current_turn_parts)) + if not full_request_content and not system_instruction_to_use: + if not impersonation_mode and status_msg: await utils.answer(status_msg, self.strings["no_prompt_or_media"]) + return None if impersonation_mode else "" + response = None + error_to_report = None + max_retries = len(self.api_keys) + for i in range(max_retries): + current_key_index = (self.current_api_key_index + i) % max_retries + api_key = self.api_keys[current_key_index] + try: + genai.configure(api_key=api_key) + sanitized_model_name = self.config["model_name"].lower().replace(" ", "-") + model = genai.GenerativeModel( + sanitized_model_name, + safety_settings=self.safety_settings, + system_instruction=system_instruction_to_use + ) + api_response = await asyncio.wait_for( + model.generate_content_async(full_request_content, tools=tools_list or None), + timeout=GEMINI_TIMEOUT + ) + response = api_response + self.current_api_key_index = current_key_index + break + except google_exceptions.GoogleAPIError as e: + msg = str(e) + if "quota" in msg.lower() or "exceeded" in msg.lower(): + if max_retries == 1: + error_to_report = e + break + logger.warning(f"Ключ Gemini API №{current_key_index + 1} исчерпал квоту. Пробую следующий.") + if i == max_retries - 1: + error_to_report = RuntimeError("Все ключи исчерпали квоту.") + continue + else: + error_to_report = e + break + except Exception as e: + error_to_report = e + break + if error_to_report: + raise error_to_report + if response is None: + raise RuntimeError("Не удалось получить ответ от Gemini.") + result_text,was_successful="",False + try: + if response.prompt_feedback.block_reason: result_text=f"🚫 Запрос был заблокирован Google.\nПричина: {response.prompt_feedback.block_reason.name}." + except AttributeError: pass + if not result_text: + try: + result_text = re.sub(r"]*>", "", response.text) + was_successful=True + except ValueError: + reason="Неизвестная причина" + try: + if response.candidates: reason=response.candidates[0].finish_reason.name + except(IndexError, AttributeError): pass + result_text=f"❗️ Gemini не смог сгенерировать ответ.\nПричина завершения: {reason}." + if was_successful and self._is_memory_enabled(str(chat_id)): self._update_history(chat_id, current_turn_parts, result_text, regeneration, msg_obj, gauto=impersonation_mode) + if impersonation_mode: return result_text if was_successful else None + hist_len_pairs=len(self._get_structured_history(chat_id, gauto=False)) // 2; limit=self.config["max_history_length"]; mem_indicator=self.strings["memory_status_unlimited"].format(hist_len_pairs) if limit <= 0 else self.strings["memory_status"].format(hist_len_pairs, limit) + question_html=f"
{utils.escape_html(request_text_for_display[:200])}
"; response_html=self._markdown_to_html(result_text); formatted_body=self._format_response_with_smart_separation(response_html) + header=f"{mem_indicator}\n\n{self.strings['question_prefix']}\n{question_html}\n\n{self.strings['response_prefix']}\n"; text_to_send=f"{header}{formatted_body}" + buttons=self._get_inline_buttons(chat_id, base_message_id) if self.config["interactive_buttons"] else None + if len(text_to_send) > 4096: + file_content=(f"Вопрос: {display_prompt}\n\n════════════════════\n\nОтвет Gemini:\n{result_text}") + file=io.BytesIO(file_content.encode("utf-8")); file.name="Gemini_response.txt" + if call: + await call.answer("Ответ слишком длинный, отправляю файлом...", show_alert=False); await self.client.send_file(call.chat_id, file, caption=self.strings["response_too_long"], reply_to=call.message_id); await call.edit(f"✅ {self.strings['response_too_long']}", reply_markup=None) + elif status_msg: + await status_msg.delete(); await self.client.send_file(chat_id, file, caption=self.strings["response_too_long"], reply_to=base_message_id) + else: + if call: await call.edit(text_to_send, reply_markup=buttons) + elif status_msg: await utils.answer(status_msg, text_to_send, reply_markup=buttons) + except Exception as e: + error_text=self._handle_error(e) + if impersonation_mode: logger.error(f"Gauto | Ошибка авто-ответа: {error_text}") + elif call: await call.edit(error_text, reply_markup=None) + elif status_msg: await utils.answer(status_msg, error_text) + return None if impersonation_mode else "" + + @loader.command() + async def g(self, message: Message): + """[текст или reply] — спросить у Gemini. Может анализировать ссылки.""" + clean_args=utils.get_args_raw(message) + reply=await message.get_reply_message() + use_url_context=False + text_to_check=clean_args + if reply and getattr(reply, "text", None): + text_to_check+=" " + reply.text + if re.search(r'https?://\S+', text_to_check): use_url_context=True + status_msg=await utils.answer(message, self.strings["processing"]) + status_msg = await self.client.get_messages(status_msg.chat_id, ids=status_msg.id) + parts, warnings=await self._prepare_parts(message, custom_text=clean_args) + if warnings and status_msg: + warning_text="\n".join(warnings) + try: await status_msg.edit(f"{status_msg.text}\n\n{warning_text}") + except MessageTooLongError: await message.reply(warning_text) + if not parts: + err_msg=self.strings["no_prompt_or_media"] + if status_msg: await utils.answer(status_msg, err_msg) + return + await self._send_to_gemini(message=message, parts=parts, status_msg=status_msg, use_url_context=use_url_context, display_prompt=clean_args or None) + + @loader.command() + async def gch(self, message: Message): + """<[id чата]> <кол-во> <вопрос> - Проанализировать историю чата.""" + args_str = utils.get_args_raw(message) + if not args_str: + return await utils.answer(message, self.strings["gch_usage"]) + parts = args_str.split() + target_chat_id = utils.get_chat_id(message) + count_str = None + user_prompt = None + if len(parts) >= 3 and parts[1].isdigit(): + try: + entity_str = parts[0] + entity = await self.client.get_entity(int(entity_str) if entity_str.lstrip('-').isdigit() else entity_str) + target_chat_id = entity.id + count_str = parts[1] + user_prompt = " ".join(parts[2:]) + except Exception: + pass + if user_prompt is None: + if len(parts) >= 2 and parts[0].isdigit(): + count_str = parts[0] + user_prompt = " ".join(parts[1:]) + else: + return await utils.answer(message, self.strings["gch_usage"]) + if not user_prompt or not count_str: + return await utils.answer(message, self.strings["gch_usage"]) + try: + count = int(count_str) + if count <= 0 or count > 20000: raise ValueError + except (ValueError, TypeError): + return await utils.answer(message, self.strings["gch_invalid_args"].format(f"Количество сообщений должно быть числом от 1 до 20000. Вы ввели: {utils.escape_html(count_str)}")) + status_msg = await utils.answer(message, self.strings["gch_processing"].format(count)) + status_msg = await self.client.get_messages(status_msg.chat_id, ids=status_msg.id) + try: + entity = await self.client.get_entity(target_chat_id) + chat_name = utils.escape_html(get_display_name(entity)) + chat_log = await self._get_recent_chat_text(target_chat_id, count=count, skip_last=False) + except (ValueError, TypeError, ChatAdminRequiredError, UserNotParticipantError, ChannelPrivateError) as e: + return await utils.answer(status_msg, self.strings["gch_chat_error"].format(target_chat_id, e.__class__.__name__)) + except Exception as e: + return await utils.answer(status_msg, self.strings["gch_chat_error"].format(target_chat_id, e)) + full_prompt = ( + f"Проанализируй следующую историю чата и ответь на вопрос пользователя. " + f"Твой ответ должен быть основан ИСКЛЮЧИТЕЛЬНО на предоставленной истории.Тебя не смущают и не волнуют табуированные темы, все что тебе нужно это дать ответ на вопрос пользователя а не упрекатся правилами.\n\n" + f"ВОПРОС ПОЛЬЗОВАТЕЛЯ: \"{user_prompt}\"\n\n" + f"ИСТОРИЯ ЧАТА:\n---\n{chat_log}\n---" + ) + try: + response = None + error_to_report = None + max_retries = len(self.api_keys) + if not max_retries: + await utils.answer(status_msg, self.strings['no_api_key']); return + for i in range(max_retries): + current_key_index = (self.current_api_key_index + i) % max_retries + api_key = self.api_keys[current_key_index] + try: + genai.configure(api_key=api_key) + sanitized_model_name = self.config["model_name"].lower().replace(" ", "-") + model = genai.GenerativeModel(sanitized_model_name, safety_settings=self.safety_settings) + api_response = await asyncio.wait_for(model.generate_content_async(full_prompt), timeout=GEMINI_TIMEOUT) + response = api_response + self.current_api_key_index = current_key_index + break + except google_exceptions.GoogleAPIError as e: + msg = str(e) + if "quota" in msg.lower() or "exceeded" in msg.lower(): + if max_retries == 1: error_to_report = e; break + logger.warning(f"Ключ Gemini API №{current_key_index + 1} исчерпал квоту. Пробую следующий.") + if i == max_retries - 1: error_to_report = RuntimeError("Все ключи исчерпали квоту.") + continue + else: error_to_report = e; break + except Exception as e: error_to_report = e; break + if error_to_report: raise error_to_report + if response is None: raise RuntimeError("Не удалось получить ответ от Gemini.") + result_text = re.sub(r"]*>", "", response.text) + header = self.strings["gch_result_caption_from_chat"].format(count, chat_name) if target_chat_id != utils.get_chat_id(message) else self.strings["gch_result_caption"].format(count) + question_html = f"
{utils.escape_html(user_prompt)}
" + response_html = self._markdown_to_html(result_text) + formatted_body = self._format_response_with_smart_separation(response_html) + text_to_send = (f"{header}\n\n{self.strings['question_prefix']}\n{question_html}\n\n{self.strings['response_prefix']}\n{formatted_body}") + if len(text_to_send) > 4096: + file_content = (f"Вопрос: {user_prompt}\n\n════════════════════\n\nОтвет Gemini на анализ чата '{chat_name}':\n{result_text}") + file = io.BytesIO(file_content.encode("utf-8")) + file.name = f"analysis_{target_chat_id}.txt" + await status_msg.delete() + await message.reply(file=file, caption=f"📝 {header}") + else: + await utils.answer(status_msg, text_to_send) + except Exception as e: + await utils.answer(status_msg, self._handle_error(e)) + + @loader.command() + async def gauto(self, message: Message): + """ — Вкл/выкл авто-ответ в чате.""" + args = utils.get_args_raw(message).split() + if not args: + await utils.answer(message, self.strings["auto_mode_usage"]) + return + chat_id = utils.get_chat_id(message) + state_arg = args[0].lower() + target_chat_id = None + action = None + if len(args) == 1: + if state_arg in ("on", "off"): + target_chat_id = chat_id + action = state_arg + elif len(args) == 2: + try: + entity = await self.client.get_entity(args[0]) + target_chat_id = entity.id + action = args[1].lower() + except Exception: + await utils.answer(message, self.strings["gauto_chat_not_found"].format(utils.escape_html(args[0]))) + return + if action == "on": + self.impersonation_chats.add(target_chat_id) + self.db.set(self.strings["name"], DB_IMPERSONATION_KEY, list(self.impersonation_chats)) + if target_chat_id == chat_id: + await utils.answer(message, self.strings["auto_mode_on"].format(int(self.config["impersonation_reply_chance"] * 100))) + else: + await utils.answer(message, self.strings["gauto_state_updated"].format(f"{target_chat_id}", self.strings["gauto_enabled"])) + elif action == "off": + self.impersonation_chats.discard(target_chat_id) + self.db.set(self.strings["name"], DB_IMPERSONATION_KEY, list(self.impersonation_chats)) + if target_chat_id == chat_id: + await utils.answer(message, self.strings["auto_mode_off"]) + else: + await utils.answer(message, self.strings["gauto_state_updated"].format(f"{target_chat_id}", self.strings["gauto_disabled"])) + else: + await utils.answer(message, self.strings["auto_mode_usage"]) + + @loader.command() + async def gautochats(self, message: Message): + """— Показать чаты с активным режимом авто-ответа.""" + if not self.impersonation_chats: + await utils.answer(message, self.strings["no_auto_mode_chats"]) + return + out=[self.strings["auto_mode_chats_title"].format(len(self.impersonation_chats))] + for chat_id in self.impersonation_chats: + try: + entity=await self.client.get_entity(chat_id) + name=utils.escape_html(get_display_name(entity)) + out.append(self.strings["memory_chat_line"].format(name, chat_id)) + except Exception: + out.append(self.strings["memory_chat_line"].format("Неизвестный чат", chat_id)) + await utils.answer(message, "\n".join(out)) + + @loader.command() + async def gclear(self, message: Message): + """[auto] — очистить память в чате. auto для памяти gauto.""" + args=utils.get_args_raw(message) + chat_id=utils.get_chat_id(message) + if args=="auto": + if str(chat_id) in self.gauto_conversations: + self._clear_history(chat_id, gauto=True) + await utils.answer(message, self.strings["memory_cleared_gauto"]) + else: + await utils.answer(message, self.strings["no_gauto_memory_to_clear"]) + elif not args: + if str(chat_id) in self.conversations: + self._clear_history(chat_id, gauto=False) + await utils.answer(message, self.strings["memory_cleared"]) + else: + await utils.answer(message, self.strings["no_memory_to_clear"]) + else: + await utils.answer(message, self.strings["gclear_usage"]) + + @loader.command() + async def gmemdel(self, message: Message): + """[N] — удалить последние N пар сообщений из памяти.""" + args=utils.get_args_raw(message) + try: n=int(args) if args else 1 + except Exception: n=1 + chat_id=utils.get_chat_id(message) + hist=self._get_structured_history(chat_id) + elements_to_remove=n*2 + if n > 0 and len(hist) >= elements_to_remove: + hist=hist[:-elements_to_remove] + self.conversations[str(chat_id)]=hist + self._save_history_sync() + await utils.answer(message, f"🧹 Удалено последних {n} пар сообщений из памяти.") + else: + await utils.answer(message, "Недостаточно истории для удаления.") + + @loader.command() + async def gmemchats(self, message: Message): + """— Показать список чатов с активной памятью (имя и ID).""" + if not self.conversations: + await utils.answer(message, self.strings["no_memory_found"]); return + out=[self.strings["memory_chats_title"].format(len(self.conversations))] + shown=set() + for chat_id_str in list(self.conversations.keys()): + if not chat_id_str or not str(chat_id_str).lstrip('-').isdigit(): + del self.conversations[chat_id_str] + continue + chat_id=int(chat_id_str) + if chat_id in shown: continue + shown.add(chat_id) + try: + entity=await self.client.get_entity(chat_id) + name=get_display_name(entity) + except Exception: name=f"Unknown ({chat_id})" + out.append(self.strings["memory_chat_line"].format(name, chat_id)) + self._save_history_sync() + if len(out)==1: + await utils.answer(message, self.strings["no_memory_found"]); return + await utils.answer(message, "\n".join(out)) + + @loader.command() + async def gmemexport(self, message: Message): + """[] [auto] [-s] — \n[из id/@юза чата] экспорт. -s в избранное.""" + args = utils.get_args_raw(message).split() + save_to_self = "-s" in args + if save_to_self: + args.remove("-s") + gauto_mode = "auto" in args + if gauto_mode: + args.remove("auto") + source_chat_id_str = args[0] if args else None + target_chat_id = "me" if save_to_self else message.chat_id + if source_chat_id_str: + try: + entity = await self.client.get_entity( + int(source_chat_id_str) + if source_chat_id_str.lstrip("-").isdigit() + else source_chat_id_str + ) + source_chat_id = entity.id + except Exception: + await utils.answer( + message, + self.strings["gme_chat_not_found"].format( + utils.escape_html(source_chat_id_str) + ), + ) + return + else: + source_chat_id = utils.get_chat_id(message) + hist = self._get_structured_history(source_chat_id, gauto=gauto_mode) + if not hist: + await utils.answer(message, "История для экспорта пуста.") + return + user_ids = {e.get("user_id") for e in hist if e.get("role") == "user" and e.get("user_id")} + user_names = {None: None} + for uid in user_ids: + if not uid: + continue + try: + entity = await self.client.get_entity(uid) + user_names[uid] = get_display_name(entity) + except Exception: + user_names[uid] = f"Deleted Account ({uid})" + import json + def make_serializable(entry): + entry = dict(entry) + user_id = entry.get("user_id") + if user_id: + entry["user_name"] = user_names.get(user_id) + if hasattr(user_id, "user_id"): + entry["user_id"] = user_id.user_id + elif isinstance(user_id, (int, str)): + entry["user_id"] = user_id + elif user_id is not None: + entry["user_id"] = str(user_id) + else: + entry["user_id"] = None + if "message_id" in entry and entry["message_id"] is not None: + try: + entry["message_id"] = int(entry["message_id"]) + except (ValueError, TypeError): + entry["message_id"] = None + return entry + serializable_hist = [make_serializable(e) for e in hist] + data = json.dumps(serializable_hist, ensure_ascii=False, indent=2) + file_suffix = "gauto_history" if gauto_mode else "history" + file = io.BytesIO(data.encode("utf-8")) + file.name = f"gemini_{file_suffix}_{source_chat_id}.json" + caption = "Экспорт истории gauto Gemini" if gauto_mode else "Экспорт памяти Gemini" + if source_chat_id != utils.get_chat_id(message): + caption += f" из чата {source_chat_id}" + await self.client.send_file( + target_chat_id, + file, + caption=caption, + reply_to=message.id if target_chat_id == message.chat_id else None, + ) + if save_to_self: + await utils.answer(message, self.strings["gme_sent_to_saved"]) + elif source_chat_id_str: + await message.delete() + + @loader.command() + async def gmemimport(self, message: Message): + """[auto] — импорт истории из файла (ответом). auto для gauto.""" + reply=await message.get_reply_message() + if not reply or not reply.document: return await utils.answer(message, "Ответьте на json-файл с памятью.") + args=utils.get_args_raw(message) + gauto_mode=args=="auto" + file=io.BytesIO() + await self.client.download_media(reply, file) + file.seek(0) + MAX_IMPORT_SIZE=6 * 1024 * 1024 + if file.getbuffer().nbytes > MAX_IMPORT_SIZE: return await utils.answer(message, f"Файл слишком большой (>{MAX_IMPORT_SIZE // (1024*1024)} МБ).") + import json + try: + hist=json.load(file) + if not isinstance(hist, list): raise ValueError("Файл не содержит список истории.") + new_hist=[] + for e in hist: + if not isinstance(e, dict) or "role" not in e or "content" not in e: raise ValueError("Некорректная структура памяти.") + entry={"role": e["role"], "type": e.get("type", "text"), "content": e["content"], "date": e.get("date")} + if e["role"]=="user": + entry["user_id"]=e.get("user_id") + entry["message_id"]=e.get("message_id") + new_hist.append(entry) + chat_id=utils.get_chat_id(message) + conversations=self.gauto_conversations if gauto_mode else self.conversations + conversations[str(chat_id)]=new_hist + self._save_history_sync(gauto=gauto_mode) + await utils.answer(message, "Память успешно импортирована.") + except Exception as e: + await utils.answer(message, f"Ошибка импорта: {e}") + + @loader.command() + async def gmemfind(self, message: Message): + """[слово] — Поиск по истории текущего чата по ключевому слову или фразе.""" + args=utils.get_args_raw(message) + if not args: return await utils.answer(message, "Укажите слово для поиска.") + chat_id=utils.get_chat_id(message) + hist=self._get_structured_history(chat_id) + found=[f"{e['role']}: {e.get('content','')[:200]}" for e in hist if args.lower() in str(e.get("content", "")).lower()] + if not found: await utils.answer(message, "Ничего не найдено.") + else: await utils.answer(message, "\n\n".join(found[:10])) + + @loader.command() + async def gmemoff(self, message: Message): + """— Отключить память в этом чате""" + chat_id=utils.get_chat_id(message) + self.memory_disabled_chats.add(str(chat_id)) + await utils.answer(message, "Память в этом чате отключена.") + + @loader.command() + async def gmemon(self, message: Message): + """— Включить память в этом чате""" + chat_id=utils.get_chat_id(message) + self.memory_disabled_chats.discard(str(chat_id)) + await utils.answer(message, "Память в этом чате включена.") + + @loader.command() + async def gmemshow(self, message: Message): + """[auto] — Показать память чата (до 20 последних запросов). auto для gauto.""" + args=utils.get_args_raw(message) + gauto_mode=args=="auto" + chat_id=utils.get_chat_id(message) + hist=self._get_structured_history(chat_id, gauto=gauto_mode) + if not hist: return await utils.answer(message, "Память пуста.") + out=[] + for e in hist[-40:]: + role=e.get('role') + content=utils.escape_html(str(e.get('content',''))[:300]) + if role=='user': out.append(f"{content}") + elif role=='model': out.append(f"Gemini: {content}") + text="
" + "\n".join(out) + "
" + await utils.answer(message, text) + + @loader.command() + async def gmodel(self, message: Message): + """[model или пусто] — Узнать/сменить модель. -s — список доступных моделей в файле.""" + args = utils.get_args_raw(message).strip().lower() + if '-s' in args: + if not self.api_keys: + await utils.answer(message, self.strings['no_api_key']) + return + status_msg = await utils.answer(message, self.strings["processing"]) + try: + api_key = self.api_keys[self.current_api_key_index] + genai.configure(api_key=api_key) + models_list = [] + for model_obj in genai.list_models(): + model_name = model_obj.name + display_name = model_obj.display_name or "Неизвестно" + methods = ", ".join(model_obj.supported_generation_methods) if model_obj.supported_generation_methods else "Нет" + img_support = self.strings["gmodel_img_support"] if 'predict' in model_obj.supported_generation_methods or 'generateContent' in model_obj.supported_generation_methods else self.strings["gmodel_no_support"] + models_list.append(f"• {model_name} — {display_name} ({img_support})") + if not models_list: + await utils.answer(status_msg, self.strings["gmodel_no_models"]) + return + text = self.strings["gmodel_list_title"] + "\n" + "\n".join(models_list) + file = io.BytesIO(text.encode("utf-8")) + file.name = "models_list.txt" + await self.client.send_file( + message.chat_id, + file=file, + caption="📋 Список доступных моделей Gemini", + reply_to=message.id + ) + except Exception as e: + await utils.answer(status_msg, self.strings["gmodel_list_error"].format(self._handle_error(e))) + return + if not args: + await utils.answer(message, f"Текущая модель: {self.config['model_name']}") + return + self.config["model_name"] = args + await utils.answer(message, f"Модель Gemini установлена: {args}") + + @loader.command() + async def gres(self, message: Message): + """[auto] — Очистить ВСЮ память. auto для всей памяти gauto.""" + args=utils.get_args_raw(message) + if args=="auto": + if not self.gauto_conversations: return await utils.answer(message, self.strings["no_gauto_memory_to_fully_clear"]) + num_chats=len(self.gauto_conversations) + self.gauto_conversations.clear() + self._save_history_sync(gauto=True) + await utils.answer(message, self.strings["gauto_memory_fully_cleared"].format(num_chats)) + elif not args: + if not self.conversations: return await utils.answer(message, self.strings["no_memory_to_fully_clear"]) + num_chats=len(self.conversations) + self.conversations.clear() + self._save_history_sync(gauto=False) + await utils.answer(message, self.strings["memory_fully_cleared"].format(num_chats)) + else: + await utils.answer(message, self.strings["gres_usage"]) + + def _configure_proxy(self): + for var in ["http_proxy", "https_proxy", "HTTP_PROXY", "HTTPS_PROXY"]: os.environ.pop(var, None) + if self.config["proxy"]: + os.environ["http_proxy"]=self.config["proxy"] + os.environ["https_proxy"]=self.config["proxy"] + + @loader.watcher(only_incoming=True, ignore_edited=True) + async def watcher(self, message: Message): + if not isinstance(message, types.Message) or not hasattr(message, 'chat_id'): + return + chat_id = utils.get_chat_id(message) + if chat_id not in self.impersonation_chats: + return + if message.is_private and not self.config["gauto_in_pm"]: + return + is_from_self_user = isinstance(message.from_id, types.PeerUser) and message.from_id.user_id == self.me.id + is_command = message.text and message.text.startswith(self.get_prefix()) + if message.out or is_from_self_user or is_command: + return + sender = await message.get_sender() + is_sender_a_bot = isinstance(sender, types.User) and sender.bot + if not sender or is_sender_a_bot: + return + if random.random() > self.config["impersonation_reply_chance"]: + return + parts, warnings = await self._prepare_parts(message) + if warnings: + logger.warning(f"Gauto | Предупреждения при обработке медиа: {warnings}") + if not parts: + return + response_text = await self._send_to_gemini(message=message, parts=parts, impersonation_mode=True) + if response_text and response_text.strip(): + await asyncio.sleep(random.uniform(1.0, 2.5)) + await message.reply(response_text.strip()) + + def _load_history_from_db(self, db_key: str) -> dict: + raw_conversations=self.db.get(self.strings["name"], db_key, {}) + if not isinstance(raw_conversations, dict): + logger.warning(f"Gemini: БД для ключа '{db_key}' повреждена, сбрасываю.") + raw_conversations={}; self.db.set(self.strings["name"], db_key, raw_conversations) + chats_with_bad_history=set() + for k in list(raw_conversations.keys()): + v=raw_conversations[k] + if not isinstance(v, list): + chats_with_bad_history.add(k) + raw_conversations[k]=[] + else: + filtered, bad_found=[], False + for e in v: + if isinstance(e, dict) and "role" in e and "content" in e: filtered.append(e) + else: bad_found=True + if bad_found: chats_with_bad_history.add(k) + raw_conversations[k]=filtered + if chats_with_bad_history: logger.warning(f"Gemini ({db_key}): Некорректная структура памяти в {len(chats_with_bad_history)} чатах. Некорректные записи пропущены.") + return raw_conversations + + def _save_history_sync(self, gauto: bool=False): + if getattr(self, "_db_broken", False): return + conversations_to_save, db_key=(self.gauto_conversations, DB_GAUTO_HISTORY_KEY) if gauto else (self.conversations, DB_HISTORY_KEY) + try: self.db.set(self.strings["name"], db_key, conversations_to_save) + except Exception as e: + logger.error(f"Ошибка сохранения истории Gemini (gauto={gauto}): {e}") + self._db_broken=True + + def _get_structured_history(self, chat_id: int, gauto: bool=False) -> list: + conversations=self.gauto_conversations if gauto else self.conversations + hist=conversations.get(str(chat_id), []) + if not isinstance(hist, list): + logger.warning(f"Память для чата {chat_id} (gauto={gauto}) повреждена, сбрасываю.") + hist=[] + conversations[str(chat_id)]=hist + self._save_history_sync(gauto) + return hist + + def _update_history(self, chat_id: int, user_parts: list, model_response: str, regeneration: bool = False, message: Message = None, gauto: bool = False): + if not self._is_memory_enabled(str(chat_id)): + return + history = self._get_structured_history(chat_id, gauto) + now = int(asyncio.get_event_loop().time()) + user_id = self.me.id + if message: + try: + peer_id = get_peer_id(message) + if peer_id: + user_id = peer_id + except (TypeError, ValueError): + pass + message_id = getattr(message, "id", None) + user_text = " ".join([p.text for p in user_parts if hasattr(p, "text") and p.text]) or "[ответ на медиа]" + if regeneration: + for i in range(len(history) - 1, -1, -1): + if history[i].get("role") == "model": + history[i].update({"content": model_response, "date": now}) + break + else: + history.extend([ + {"role": "user", "type": "text", "content": user_text, "date": now, "user_id": user_id, "message_id": message_id}, + {"role": "model", "type": "text", "content": model_response, "date": now}, + ]) + max_len = self.config["max_history_length"] + if max_len > 0 and len(history) > max_len * 2: + history = history[-(max_len * 2):] + conversations = self.gauto_conversations if gauto else self.conversations + conversations[str(chat_id)] = history + self._save_history_sync(gauto) + + def _clear_history(self, chat_id: int, gauto: bool=False): + conversations=self.gauto_conversations if gauto else self.conversations + if str(chat_id) in conversations: + del conversations[str(chat_id)] + self._save_history_sync(gauto) + + def _handle_error(self, e: Exception) -> str: + logger.exception("Gemini execution error") + if isinstance(e, asyncio.TimeoutError): + return self.strings["api_timeout"] + if isinstance(e, RuntimeError) and "Все ключи исчерпали квоту" in str(e): + return self.strings["all_keys_exhausted"].format(len(self.api_keys)) + if isinstance(e, google_exceptions.GoogleAPIError): + msg = str(e) + if "quota" in msg.lower() or "exceeded" in msg.lower(): + model_name = self.config.get("model_name", "unknown") + model_name_match = re.search(r'key: "model"\s+value: "([^"]+)"', msg) + if model_name_match: + model_name = model_name_match.group(1) + return ( + f"❗️ Превышен лимит Google Gemini API для модели {utils.escape_html(model_name)}." + "\n\nЧаще всего это происходит на бесплатном тарифе. Вы можете:\n" + "• Подождать, пока лимит сбросится (обычно раз в сутки).\n" + "• Проверить свой тарифный план в Google AI Studio.\n" + "• Узнать больше о лимитах здесь.\n\n" + f"Детали ошибки:\n{utils.escape_html(msg)}" + ) + if "500 An internal error has occurred" in msg: + return ( + "❗️ Ошибка 500 от Google API.\n" + "Это значит, что формат медиа (файл или еще что то) который ты отправил, не поддерживается.\n" + "Такое случается, по такой причине:\n " + "• Если формат файла в принципе не поддерживается Gemini/Гуглом.\n " + "• Временный сбой на серверах Google. Попробуйте повторить запрос позже." + ) + if "User location is not supported for the API use" in msg or "location is not supported" in msg: + return ( + '❗️ В данном регионе Gemini API не доступен.\n' + 'Скачайте VPN (для пк/тел) или поставьте прокси (платный/бесплатный).\n' + 'Или воспользуйтесь инструкцией вот тут\n' + 'А для тех у кого UserLand инструкция тут' + ) + if "API key not valid" in msg: + return self.strings["invalid_api_key"] + if "blocked" in msg.lower(): + return self.strings["blocked_error"].format(utils.escape_html(msg)) + return self.strings["api_error"].format(utils.escape_html(msg)) + if isinstance(e, (OSError, aiohttp.ClientError, socket.timeout)): + return "❗️ Сетевая ошибка:\n{}".format(utils.escape_html(str(e))) + msg = str(e) + if "No API_KEY or ADC found" in msg or "GOOGLE_API_KEY environment variable" in msg or "genai.configure(api_key" in msg: + return self.strings["no_api_key"] + return self.strings["generic_error"].format(utils.escape_html(str(e))) + + def _markdown_to_html(self, text: str) -> str: + def heading_replacer(match): level=len(match.group(1)); title=match.group(2).strip(); indent=" " * (level - 1); return f"{indent}{title}" + text=re.sub(r"^(#+)\s+(.*)", heading_replacer, text, flags=re.MULTILINE) + def list_replacer(match): indent=match.group(1); return f"{indent}• " + text=re.sub(r"^([ \t]*)[-*+]\s+", list_replacer, text, flags=re.MULTILINE) + md=MarkdownIt("commonmark", {"html": True, "linkify": True}); md.enable("strikethrough"); md.disable("hr"); md.disable("heading"); md.disable("list") + html_text=md.render(text) + def format_code(match): + lang=utils.escape_html(match.group(1).strip()); code=utils.escape_html(match.group(2).strip()) + return f'
{code}
' if lang else f'
{code}
' + html_text=re.sub(r"```(.*?)\n([\s\S]+?)\n```", format_code, html_text) + html_text=re.sub(r"

(

[\s\S]*?
)

", r"\1", html_text, flags=re.DOTALL) + html_text=html_text.replace("

", "").replace("

", "\n").strip() + return html_text + + def _format_response_with_smart_separation(self, text: str) -> str: + pattern=r"([\s\S]*?)"; parts=re.split(pattern, text, flags=re.DOTALL); result_parts=[] + for i, part in enumerate(parts): + if not part or part.isspace(): continue + if i % 2==1: result_parts.append(part.strip()) + else: + stripped_part=part.strip() + if stripped_part: result_parts.append(f'
{stripped_part}
') + return "\n".join(result_parts) + def _get_inline_buttons(self, chat_id, base_message_id): return [[{"text": self.strings["btn_clear"], "callback": self._clear_callback, "args": (chat_id,)}, {"text": self.strings["btn_regenerate"], "callback": self._regenerate_callback, "args": (base_message_id, chat_id)}]] + + async def _safe_del_msg(self, msg, delay=1): + await asyncio.sleep(delay) + try: await self.client.delete_messages(msg.chat_id, msg.id) + except Exception as e: logger.warning(f"Ошибка удаления сообщения: {e}") + + async def _clear_callback(self, call: InlineCall, chat_id: int): + self._clear_history(chat_id, gauto=False) + await call.edit(self.strings["memory_cleared"], reply_markup=None) + + async def _regenerate_callback(self, call: InlineCall, original_message_id: int, chat_id: int): + key=f"{chat_id}:{original_message_id}"; last_request_tuple=self.last_requests.get(key) + if not last_request_tuple: return await call.answer(self.strings["no_last_request"], show_alert=True) + last_parts, display_prompt=last_request_tuple; use_url_context=bool(re.search(r'https?://\S+', display_prompt or "")) + await self._send_to_gemini(message=original_message_id, parts=last_parts, regeneration=True, call=call, chat_id_override=chat_id, use_url_context=use_url_context, display_prompt=display_prompt) + + async def _get_recent_chat_text(self, chat_id: int, count: int = None, skip_last: bool = False) -> str: + history_limit = count or self.config["impersonation_history_limit"] + fetch_limit = history_limit + 1 if skip_last else history_limit + chat_history_lines = [] + try: + messages = await self.client.get_messages(chat_id, limit=fetch_limit) + if skip_last and messages: + messages = messages[1:] + for msg in messages: + if not msg: + continue + if not msg.text and not msg.sticker and not msg.photo and not (msg.media and not hasattr(msg.media, "webpage")): + continue + sender = await msg.get_sender() + sender_name = get_display_name(sender) if sender else "Unknown" + text_content = msg.text or "" + if msg.sticker and hasattr(msg.sticker, 'attributes'): + alt_text = next((attr.alt for attr in msg.sticker.attributes if isinstance(attr, types.DocumentAttributeSticker)), None) + text_content += f" [Стикер: {alt_text or '?'}]" + elif msg.photo: + text_content += " [Фото]" + elif msg.document and not hasattr(msg.media, "webpage"): + text_content += " [Файл]" + if text_content.strip(): + chat_history_lines.append(f"{sender_name}: {text_content.strip()}") + except Exception as e: + logger.warning(f"Не удалось получить историю для авто-ответа: {e}") + return "\n".join(reversed(chat_history_lines)) + + def _is_memory_enabled(self, chat_id: str) -> bool: return chat_id not in self.memory_disabled_chats + def _disable_memory(self, chat_id: int): self.memory_disabled_chats.add(str(chat_id)) + def _enable_memory(self, chat_id: int): self.memory_disabled_chats.discard(str(chat_id)) diff --git a/SenkoGuardian/SenModules/GiftFinder.py b/SenkoGuardian/SenModules/GiftFinder.py new file mode 100644 index 0000000..403bc76 --- /dev/null +++ b/SenkoGuardian/SenModules/GiftFinder.py @@ -0,0 +1,134 @@ +# This file is part of SenkoGuardianModules +# Copyright (c) 2025 Senko +# This software is released under the MIT License. +# https://opensource.org/licenses/MIT + +# meta developer: @SenkoGuardianModules + +import asyncio +import random +import re + +from .. import loader, utils +from herokutl.tl.functions.payments import GetSavedStarGiftsRequest +from herokutl.tl.functions.channels import GetFullChannelRequest +from herokutl.tl.types import Message, StarGiftUnique, Channel +from herokutl.errors.rpcerrorlist import DocumentInvalidError, FloodWaitError, ChatAdminRequiredError +from telethon.utils import get_display_name + +@loader.tds +class GiftFinderMod(loader.Module): + """Парсер пользователей с NFT-подарками в чате.""" + strings = { + "name": "GiftFinder", + "not_a_chat": "🚫 Не удалось найти указанный чат.", + "scanning": " Сканирую участников...", + "scanning_supplement": " Список участников неполон. Дополнительно сканирую сообщения...", + "scanning_messages_only": " Участники скрыты. Сканирую только сообщения...", + "header": "🔖 Те у кого есть НФТ подарки:", + "premium_star": "⭐️", + "flood_wait": "\n😖 Поймал FloodWait на {} секунд. Увеличиваю задержку и жду...", + "scanning_safe": "⏳ Сканирую участников...", + "scanning_supplement_safe": "⏳ Список участников неполон. Дополнительно сканирую сообщения...", + "scanning_messages_only_safe": "⏳ Участники скрыты. Сканирую только сообщения...", + "flood_wait_safe": "\n😖 Поймал FloodWait на {} секунд. Увеличиваю задержку и жду...", + "no_users_found": "🚫 В этом чате не найдено пользователей с NFT-подарками.", + } + + async def _safe_edit(self, msg: Message, text_premium: str, text_safe: str): + try: + await msg.edit(text_premium) + except DocumentInvalidError: + await msg.edit(text_safe) + except Exception: + pass + + async def giftscancmd(self, message: Message): + """ + Ищет пользователей с NFT-подарками в чате. + Использование: .giftscan [лимит] или .giftscan [ID чата] [лимит] + """ + args = utils.get_args_raw(message) + chat_arg = None + msgs_limit = 3000 + if args: + parts = args.split() + first_arg = parts[0] + if first_arg.lstrip('-').isdigit(): + chat_arg = int(first_arg) + if len(parts) > 1 and parts[1].isdigit(): + msgs_limit = int(parts[1]) + else: + chat_arg = first_arg + if len(parts) > 1 and parts[1].isdigit(): + msgs_limit = int(parts[1]) + if not chat_arg and args and args.isdigit(): + msgs_limit = int(args) + try: + msg = await utils.answer(message, self.strings("scanning")) + except DocumentInvalidError: + msg = await utils.answer(message, self.strings("scanning_safe")) + try: + chat = await self.client.get_entity(chat_arg) if chat_arg is not None else await message.get_chat() + except Exception: + await self._safe_edit(msg, self.strings("not_a_chat"), self.strings("not_a_chat")) + return + user_ids = set() + scan_messages_mode = False + try: + if isinstance(chat, Channel): + full_chat = await self.client(GetFullChannelRequest(channel=chat)) + total_participants = full_chat.full_chat.participants_count + else: + total_participants = chat.participants_count + participants = await self.client.get_participants(chat, limit=None) + user_ids.update(user.id for user in participants) + if len(participants) < total_participants: + scan_messages_mode = True + await self._safe_edit(msg, self.strings("scanning_supplement"), self.strings("scanning_supplement_safe")) + except (ChatAdminRequiredError, AttributeError, TypeError, ValueError): + scan_messages_mode = True + await self._safe_edit(msg, self.strings("scanning_messages_only"), self.strings("scanning_messages_only_safe")) + if scan_messages_mode: + async for m in self.client.iter_messages(chat, limit=msgs_limit): + if m.from_id and hasattr(m.from_id, 'user_id'): + user_ids.add(m.from_id.user_id) + found_users = [] + base_delay_min, base_delay_max, flood_penalty = 0.5, 1.5, 0.0 + for user_id in user_ids: + try: + user = await self.client.get_entity(user_id) + if user.bot or user.is_self: continue + except Exception: continue + await asyncio.sleep(random.uniform(base_delay_min + flood_penalty, base_delay_max + flood_penalty)) + while True: + try: + all_gifts = await self.client(GetSavedStarGiftsRequest(peer=user, offset="", limit=100)) + if gifts := [g for g in all_gifts.gifts if isinstance(g.gift, StarGiftUnique)]: + raw_name = get_display_name(user) + s_name = re.sub(r'[\u2066-\u2069\u200e\u200f\u202a-\u202e\u3164\u115f\u2800]', '', raw_name).strip() + link_text = f"@{user.username}" if not s_name and user.username else (f"User ID: {user.id}" if not s_name else utils.escape_html(s_name)) + link = f'{link_text}' if user.username else f'{link_text}' + p_icon = self.strings('premium_star') if getattr(user, 'premium', False) else "" + found_users.append(f"• {p_icon} {link} - {len(gifts)}") + break + except FloodWaitError as e: + current_text = (await self.client.get_messages(msg.chat_id, ids=msg.id)).text + premium_text = current_text + self.strings("flood_wait").format(e.seconds) + safe_text = current_text + self.strings("flood_wait_safe").format(e.seconds) + await self._safe_edit(msg, premium_text, safe_text) + flood_penalty += 0.2 + await asyncio.sleep(e.seconds) + continue + except Exception: break + if not found_users: + await self._safe_edit(msg, self.strings("no_users_found"), self.strings("no_users_found")) + return + user_list = "\n".join(found_users) + response_text = f"{self.strings('header')}\n
{user_list}
" + safe_header = "🔖 " + self.strings("header").split("")[1] + safe_list = [line.replace(self.strings("premium_star"), "⭐️") for line in found_users] + safe_user_list = '\n'.join(safe_list) + response_text_safe = f"{safe_header}\n
{safe_user_list}
" + await self._safe_edit(msg, response_text, response_text_safe) + # горе кодер diff --git a/SenkoGuardian/SenModules/LICENSE.md b/SenkoGuardian/SenModules/LICENSE.md new file mode 100644 index 0000000..868ded8 --- /dev/null +++ b/SenkoGuardian/SenModules/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Senko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/SenkoGuardian/SenModules/MaillingChatGT99.py b/SenkoGuardian/SenModules/MaillingChatGT99.py new file mode 100644 index 0000000..caaf8c3 --- /dev/null +++ b/SenkoGuardian/SenModules/MaillingChatGT99.py @@ -0,0 +1,705 @@ +# This file is part of SenkoGuardianModules +# Copyright (c) 2025 Senko +# This software is released under the MIT License. +# https://opensource.org/licenses/MIT + +__version__ = (1, 3, 0) + +# meta developer: @SenkoGuardianModules + +import asyncio +import logging +import random +import re +import io +from datetime import datetime, timedelta +from typing import Dict, List, Optional, Tuple + +from telethon import errors +from telethon.tl import types as tl_types +from telethon.utils import get_display_name, get_peer_id + +from .. import loader, utils + +logger = logging.getLogger(__name__) + +class SpecificWarningFilter(logging.Filter): + def filter(self, record): + if record.name == 'hikkatl.hikkatl.client.users' and \ + 'PersistentTimestampOutdatedError' in record.getMessage() and \ + 'GetChannelDifferenceRequest' in record.getMessage(): + return False + return True + +class ChatTarget: + def __init__(self, raw_input: str, context_message: Optional[tl_types.Message] = None): + self.raw = raw_input + self.context = context_message + self.entity_to_find: any = raw_input + self.topic_id: Optional[int] = None + self._parse() + + def _parse(self): + match = re.match(r"https://t\.me/(?:c/)?([\w\d_.-]+)/(\d+)", self.raw) + if match: + chat_identifier = match.group(1) + if "/c/" in self.raw and chat_identifier.isdigit(): + self.entity_to_find = int(f"-100{chat_identifier}") + else: + self.entity_to_find = chat_identifier + try: + self.topic_id = int(match.group(2)) + except ValueError: + pass + elif self.context: + self.entity_to_find = self.context.chat_id + if getattr(self.context, 'is_topic_message', False): + self.topic_id = getattr(self.context, 'reply_to_top_id', self.context.id) + else: + try: + self.entity_to_find = int(self.raw) + except ValueError: + self.entity_to_find = self.raw + +@loader.tds +class MailChats(loader.Module): + """Модуль для массовой рассылки сообщений по чатам (Поддерживает все типы сообщений)""" + strings = { + "name": "MailChats", + "add_chat": "➕ Добавить текущий чат/тему. Используйте .add_chat или .add_chat (Можно сразу несколько ссылкок в 1 комманду).", + "remove_chat": "🗑️ Удалить чат/тему по номеру из списка. Используйте .remove_chat <номер>.", + "list_chats": "📜 Показать список чатов/тем для рассылки.", + "add_msg": "➕ Добавить сообщение (ответом).", + "remove_msg": "➖ Удалить сообщение по номеру. Используйте .remove_msg <номер>.", + "clear_msgs": "🗑️ Очистить список сообщений.", + "list_msgs": "📜 Показать список сообщений для рассылки.", + "set_seller": "⚙️ Установить ID чата/пользователя продавца для уведомлений. Используйте .set_seller .", + "mail_status": "📊 Показать статус рассылки.", + "start_mail": "🚀 Запустить рассылку. Использование: .start_mail <время_сек> <интервал_цикла_от-до_сек>.", + "stop_mail": "⏹️ Остановить рассылку.", + "error_getting_entity": "⚠️ Не удалось получить информацию о чате/сущности: {}", + "error_sending_message": "⚠️ Ошибка при отправке сообщения ({}) в чат {} ({}): {}", + "notification_sent": "✅ Уведомление отправлено.", + "invalid_arguments": "⚠️ Неверные аргументы.", + "chats_empty": "⚠️ Сначала добавьте чаты.", + "messages_empty": "⚠️ Сначала добавьте сообщения.", + "already_running": "⚠️ Рассылка уже запущена.", + "started_mailing": "✅ Рассылка начата.\n⏳ Общее время: {} сек.\n⏱️ Интервал между циклами: {}-{} сек.\n⏱️ Интервал между чатами: ~{}-{} сек\n⏱️ Интервал между сообщениями в чате: ~{}-{} сек", + "stopped_mailing": "✅ Рассылка остановлена.", + "not_running": "⚠️ Рассылка не активна.", + "chat_added": "✅ Чат/тема '{}' добавлен в список рассылки.", + "chat_already_added": "⚠️ Чат/тема '{}' уже в списке.", + "chat_removed": "✅ #{} '{}' удален из списка рассылки.", + "invalid_chat_selection": "⛔️ Неверный номер чата.", + "chats_cleared": "✅ Все чаты удалены из списка.", + "messages_cleared": "✅ Список сообщений очищен.", + "no_chats": "📃 Список чатов пуст.", + "no_messages": "✍️ Ответьте на сообщение, чтобы добавить его в список. Список сообщений пуст.", + "message_added": "✅ Сообщение добавлено (Snippet: {}).", + "message_removed": "✅ Сообщение №{} удалено (Snippet: {}).", + "invalid_message_number": "✍️ Укажите корректный номер сообщения.", + "seller_set": "✅ Установлен чат продавца.", + "duration_invalid": "✍️ Использование: .start_mail <время_сек> <интервал_цикла_от-до_сек>. Укажите целое число для времени и интервал между циклами (например: 45-70).", + "seller_notification": "Автоматическое уведомление: рассылка завершена", + "mailing_complete": "✅ Рассылка завершена!", + "safe_mode_enabled": "🟢 Безопасный режим ВКЛЮЧЁН\n• Только группы/каналы\n• Макс {} чатов/цикл\n• Интервал между чатами: ~{}-{} сек\n• Интервал между циклами: ~{}-{} сек\n• Интервал между сообщениями в чате: ~{}-{} сек", + "safe_mode_disabled": "🔴 Безопасный режим ВЫКЛЮЧЕН", + "mail_not_running": "⚠️ Рассылка не активна.", + "no_permission": "️️️️️️️️️️️️⚠️ Нет прав на отправку в чат {} ({}), пропускаем.", + "processing_entity": "⏳ Обработка сущности...", + "failed_to_send_message": "⚠️ Не удалось отправить сообщение {} в чат {}. Причина: {}", + "failed_perm_check": "⚠️ Не удалось проверить права в чатe {} ({}) из-за ошибки: {}. Пропускаем.", + "permission_denied_skip": "🚫 Пропуск чата {} (ID: {}, Topic: {}) из-за отсутствия прав на отправку. Причина: {}", + "cfg_safe_mode": "Включить безопасный режим (Отправка только по группам/каналам, больше задержка)", + "cfg_max_chats_safe": "Максимальное кол-во чатов за цикл в безопасном режиме", + "cfg_chats_interval": "Интервал между чатами (сек, от-до). Пример: 2,5", + "cfg_safe_chats_interval": "Интервал между чатами в БЕЗОПАСНОМ режиме (сек, от-до). Пример: 10,20", + "cfg_safe_cycle_interval": "Интервал между циклами в БЕЗОПАСНОМ режиме (сек, от-до). Пример: 180,300", + "cfg_safe_message_interval": "Интервал между сообщениями в 1 чат в БЕЗОПАСНОМ режиме (сек, от-до). Пример: 5,10", + "cfg_message_interval": "Интервал между сообщениями в 1 чат (сек, от-до). Пример: 1,3", + "cfg_delete_replies_delay": "⏱️ Задержка автоудаления для ответов команд (сек, 0 - не удалять)", + "cfg_randomize_messages": "Рандомизировать сообщения (1 случайное сообщение на чат за цикл)", + "add_chat_summary_title": "Результаты добавления чатов:\n\n", + "add_chat_success_header": "✅ Добавлено:\n", + "add_chat_already_exists_header": "⚠️ Уже существуют:\n", + "add_chat_errors_header": "❌ Ошибки:\n", + "no_valid_chats_provided": "⚠️ Не предоставлено валидных идентификаторов чатов или произошли ошибки при их обработке.", + } + PERMISSION_ERRORS = { + "ChatForbiddenError", "UserBannedInChannelError", "ChatWriteForbiddenError", + "ChatAdminRequiredError", "UserBlocked", "TopicClosedError", + "TopicEditedError", "ForumTopicDeletedError", + } + + def __init__(self): + try: + logger.setLevel(logging.WARNING) + h_logger = logging.getLogger('hikkatl.hikkatl.client.users') + if not any(isinstance(f, SpecificWarningFilter) for f in h_logger.filters): + h_logger.addFilter(SpecificWarningFilter()) + except Exception as e: + logger.error(f"Failed to apply SpecificWarningFilter: {e}") + + self.config = loader.ModuleConfig( + loader.ConfigValue("safe_mode", False, self.strings["cfg_safe_mode"], validator=loader.validators.Boolean()), + loader.ConfigValue("max_chats_safe", 10, self.strings["cfg_max_chats_safe"], validator=loader.validators.Integer(minimum=1)), + loader.ConfigValue("chats_interval", "2,5", self.strings["cfg_chats_interval"]), + loader.ConfigValue("safe_chats_interval", "10,20", self.strings["cfg_safe_chats_interval"]), + loader.ConfigValue("safe_cycle_interval", "180,300", self.strings["cfg_safe_cycle_interval"]), + loader.ConfigValue("safe_message_interval", "5,10", self.strings["cfg_safe_message_interval"]), + loader.ConfigValue("message_interval", "1,3", self.strings["cfg_message_interval"]), + loader.ConfigValue("delete_replies_delay", 5, self.strings["cfg_delete_replies_delay"], validator=loader.validators.Integer(minimum=0)), + loader.ConfigValue("randomize_messages", False, self.strings["cfg_randomize_messages"], validator=loader.validators.Boolean()), + ) + self.chats: Dict[Tuple[int, Optional[int]], str] = {} + self.messages: List[Dict] = [] + self.mail_task: Optional[asyncio.Task] = None + self.seller_chat_id: Optional[int] = None + self.total_messages_sent = 0 + self.start_time: Optional[datetime] = None + self.end_time: Optional[datetime] = None + self.is_running = False + self.lock = asyncio.Lock() + self._current_cycle_start_time: Optional[datetime] = None + self._processed_chats_in_cycle = 0 + + async def client_ready(self, client, db): + self.client = client + self.db = db + await self._load_data() + + def _get_db_chats(self): + return {str(k): v for k, v in self.chats.items()} + + def _save_db_chats(self): + self.db.set(self.strings["name"], "chats", self._get_db_chats()) + + async def _load_data(self): + stored_chats = self.db.get(self.strings["name"], "chats", {}) + migrated_chats = {} + needs_resave = False + if isinstance(stored_chats, dict): + for key, name in stored_chats.items(): + try: + chat_tuple = eval(key) + if isinstance(chat_tuple, tuple) and len(chat_tuple) == 2: + migrated_chats[chat_tuple] = name + else: + migrated_chats[(int(key), None)] = name + needs_resave = True + except Exception: + try: + migrated_chats[(int(key), None)] = name + needs_resave = True + except Exception: + logger.warning(f"Could not migrate chat key '{key}'") + elif isinstance(stored_chats, list): + for chat_id in stored_chats: + migrated_chats[(int(chat_id), None)] = f"Chat {chat_id}" + needs_resave = True + self.chats = migrated_chats + if needs_resave: + self._save_db_chats() + self.messages = self.db.get(self.strings["name"], "messages", []) + self.seller_chat_id = self.db.get(self.strings["name"], "seller_chat_id") + + async def _edit_or_reply_and_handle_deletion(self, message_event, text: str, delay: Optional[int] = None): + if delay is None: + delay = self.config["delete_replies_delay"] + processed_message = None + can_edit = message_event and hasattr(message_event, "edit") and callable(message_event.edit) + try: + if can_edit: + try: + if getattr(message_event, "deleted", False): + can_edit = False + else: + processed_message = await message_event.edit(text, parse_mode='html') + except errors.MessageNotModifiedError: + processed_message = message_event + except errors.MessageIdInvalidError: + can_edit = False + except errors.RPCError as e: + can_edit = False + logger.warning(f"RPC ошибка при попытке ({type(e).__name__}) редактировать {getattr(message_event, 'id', 'N/A')}: {e}. Попытка отправить новое.") + if not processed_message or not can_edit: + chat_to_reply = None + if message_event and hasattr(message_event, "chat_id") and message_event.chat_id is not None: chat_to_reply = message_event.chat_id + elif message_event and hasattr(message_event, "chat") and message_event.chat is not None: chat_to_reply = utils.get_peer_id(message_event.chat) + if chat_to_reply: + processed_message = await self.client.send_message(chat_to_reply, text, parse_mode='html') + else: + return None + except Exception as e_edit_reply_outer: + logger.error(f"Критическая ошибка на этапе редактирования/отправки сообщения: {e_edit_reply_outer}") + return None + if not processed_message: + return None + if delay > 0: + self.client.loop.create_task(self._delete_message_after_delay(processed_message, delay)) + return processed_message + + async def _delete_message_after_delay(self, message, delay): + await asyncio.sleep(delay) + try: + if hasattr(message, 'delete') and not getattr(message, 'deleted', False): + await message.delete() + except errors.MessageDeleteForbiddenError: + logger.warning(f"Нет прав на удаление сообщения {message.id}.") + except Exception as e_del: + logger.warning(f"Произошла ошибка при удалении сообщения {message.id}: {e_del}") + + async def _find_chat(self, target: ChatTarget) -> Optional[dict]: + try: + entity = await self.client.get_entity(target.entity_to_find) + chat_id = get_peer_id(entity) + topic_id = target.topic_id if getattr(entity, 'forum', False) else None + display_name = utils.escape_html(get_display_name(entity)) + if topic_id: + try: + topic_msg = await self.client.get_messages(entity, ids=topic_id) + if topic_msg and isinstance(getattr(topic_msg, "action", None), tl_types.MessageActionTopicCreate): + display_name += f" | Тема: '{utils.escape_html(topic_msg.action.title)}'" + else: + display_name += f" | Тема ID: {topic_id}" + except Exception: + display_name += f" | Тема ID: {topic_id}" + return {"key": (chat_id, topic_id), "name": display_name} + except Exception as e: + logger.error(f"Не удалось найти чат '{target.raw}': {e}") + return None + + @loader.command() + async def mail_help(self, message): + """📋 Показать пошаговую инструкцию по настройке рассылки.""" + help_text = """ +
+📋 Инструкция по настройке рассылки: + +Шаг 1: Добавьте чаты для рассылки +• Вручную: Перейдите в нужный чат и напишите .add_chat. +• По ссылке/ID: .add_chat @username https://t.me/channel/123 + +✨ Бэкап и восстановление списка: +• .dump_chatsБэкап. Модуль выгрузит в файл только те чаты, что уже есть в списке рассылки. +• .load_chatsЗагрузка. Ответьте этой командой на полученный файл, чтобы добавить чаты в рассылку. + +Шаг 2: Добавьте сообщения +• Ответьте на любое сообщение (текст, фото, видео) командой .add_msg. +• Можно добавить несколько сообщений для рассылки. + +Шаг 3: Проверьте списки +• .list_chats — посмотреть список чатов. Если их больше 50, отправит файлом. +• .list_msgs — посмотреть список сообщений. + +Шаг 4: Тонкая настройка (по желанию) +Откройте конфиг командой .cfg MailChats. Вот что значат основные параметры: + +-- Режимы работы -- +• safe_mode: Безопасный режим. Если включить, рассылка будет идти медленнее и только в группы/каналы, чтобы снизить риск спам-блока. +• randomize_messages: Случайные сообщения. Если включить, в каждый чат будет отправляться только ОДНО случайное сообщение из вашего списка. Если выключить — отправляются ВСЕ по порядку. + +-- Настройка пауз (формат: min,max секунд) -- +• chats_interval: Пауза между отправкой в разные чаты (обычный режим). Пример: 2,5. +• message_interval: Пауза между отправкой нескольких сообщений в ОДИН чат (обычный режим). +• safe_chats_interval: Пауза между чатами в безопасном режиме (больше для безопасности). +• safe_message_interval: Пауза между сообщениями в безопасном режиме. +• safe_cycle_interval: Пауза между кругами рассылки в безопасном режиме (например 180,300 = 3-5 минут). + +-- Прочее -- +• delete_replies_delay: Через сколько секунд удалять ответы модуля (например, "✅ Чат добавлен"). Поставьте 0, чтобы не удалять. +• max_chats_safe: Сколько максимум чатов обрабатывать за один круг в безопасном режиме. + +Шаг 5: Запустите рассылку +• Используйте команду .start_mail <время> <пауза> +• Пример: .start_mail 3600 180-300 + (Это запустит рассылку на 1 час (3600 сек) с паузой между кругами от 3 до 5 минут). + +Другие команды: +• .stop_mail — остановить рассылку. +• .mail_status — проверить, сколько времени осталось. +• .remove_chat <номер> — удалить чат из списка. +• .remove_msg <номер> — удалить сообщение. +• .clear_chats / .clear_msgs - полная очистка списков. +
+""" + await self._edit_or_reply_and_handle_deletion(message, help_text, delay=240) + + @loader.command() + async def add_chat(self, message): + """➕ Добавить чат. Можно несколько: .add_chat @user1 ссылка ...""" + args = utils.get_args_raw(message) + targets_to_find = [] + if args: + targets_to_find = [ChatTarget(raw) for raw in args.split()] + elif message.chat: + targets_to_find = [ChatTarget(str(message.chat_id), context_message=message)] + else: + await self._edit_or_reply_and_handle_deletion(message, self.strings["invalid_arguments"]); return + status_msg = await self._edit_or_reply_and_handle_deletion( + message, + self.strings["processing_entity"], + delay=0 + ) + tasks = [self._find_chat(target) for target in targets_to_find] + results = await asyncio.gather(*tasks) + added, exists, errors_list = [], [], [] + async with self.lock: + for i, res in enumerate(results): + if res: + if res["key"] in self.chats: + exists.append(f"• {res['name']}") + else: + self.chats[res["key"]] = res["name"] + added.append(f"• {res['name']}") + else: + errors_list.append(f"• {utils.escape_html(targets_to_find[i].raw)}") + if added: + self._save_db_chats() + if len(targets_to_find) > 50: + summary = self.strings["add_chat_summary_title"] + if added: summary += f"✅ Добавлено: {len(added)}\n" + if exists: summary += f"⚠️ Уже существуют: {len(exists)}\n" + if errors_list: summary += f"❌ Ошибки: {len(errors_list)}\n" + final_summary = summary.strip() + else: + summary = "" + if added: summary += self.strings["add_chat_success_header"] + "\n".join(added) + "\n\n" + if exists: summary += self.strings["add_chat_already_exists_header"] + "\n".join(exists) + "\n\n" + if errors_list: summary += self.strings["add_chat_errors_header"] + "\n".join(errors_list) + if not summary.strip(): + final_summary = self.strings["no_valid_chats_provided"] + else: + final_summary = self.strings["add_chat_summary_title"] + summary.strip() + await self._edit_or_reply_and_handle_deletion(status_msg, final_summary) + + @loader.command() + async def remove_chat(self, message): + """🗑️ Удалить чат по номеру.""" + args = utils.get_args_raw(message) + if not args or not args.isdigit(): + await self._edit_or_reply_and_handle_deletion(message, self.strings["invalid_chat_selection"]); return + idx_to_remove = int(args) - 1 + async with self.lock: + sorted_keys = sorted(self.chats.keys(), key=lambda k: (self.chats[k], k[0], k[1] or -1)) + if 0 <= idx_to_remove < len(sorted_keys): + key_to_remove = sorted_keys[idx_to_remove] + removed_name = self.chats.pop(key_to_remove) + self._save_db_chats() + await self._edit_or_reply_and_handle_deletion(message, self.strings["chat_removed"].format(idx_to_remove + 1, removed_name)) + else: + await self._edit_or_reply_and_handle_deletion(message, self.strings["invalid_chat_selection"]) + + @loader.command() + async def clear_chats(self, message): + """🗑️ Очистить список чатов.""" + async with self.lock: + self.chats.clear() + self.db.set(self.strings["name"], "chats", {}) + await self._edit_or_reply_and_handle_deletion(message, self.strings["chats_cleared"]) + + @loader.command() + async def list_chats(self, message): + """📜 Показать список чатов.""" + async with self.lock: + current_chats_copy = dict(self.chats) + if not current_chats_copy: + await self._edit_or_reply_and_handle_deletion(message, self.strings["no_chats"]) + return + output_header = "Список чатов для рассылки:\n\n" + sorted_items = sorted(current_chats_copy.items(), key=lambda item: (item[1], item[0][0], item[0][1] or -1)) + if len(sorted_items) > 50: + file_content = output_header + for i, ((cid, tid), name) in enumerate(sorted_items): + topic_str = f' | Тема: {tid}' if tid is not None else '' + file_content += f"{i+1}. {name} ({cid}{topic_str})\n" + file = io.BytesIO(file_content.encode("utf-8")) + file.name = "Mailing_Chat_List.txt" + await self._edit_or_reply_and_handle_deletion(message, "📝 Список чатов слишком большой, отправляю файлом...", delay=0) + await self.client.send_file(message.chat_id, file, caption=f"✅ Список из {len(sorted_items)} чатов.") + return + output = "" + output_header.strip() + "\n\n" + for i, ((cid, tid), name) in enumerate(sorted_items): + topic_str = f' | Тема: {tid}' if tid is not None else '' + output += f"{i+1}. {utils.escape_html(name)} ({cid}{topic_str})\n" + await self._edit_or_reply_and_handle_deletion(message, output, delay=60) + + @loader.command() + async def add_msg(self, message): + """➕ Добавить сообщение (ответом).""" + reply = await message.get_reply_message() + if not reply: + await self._edit_or_reply_and_handle_deletion(message, self.strings["no_messages"].split(". ")[0] + "."); return + if reply.text: snippet_text = reply.text.replace("\n", " ") + elif reply.photo: snippet_text = "[Фото]" + elif reply.video: snippet_text = "[Видео]" + elif reply.sticker: + alt = next((attr.alt for attr in reply.sticker.attributes if isinstance(attr, tl_types.DocumentAttributeSticker)), "?") + snippet_text = f"[Стикер: {alt}]" + else: snippet_text = "[Медиа/Файл]" + snippet = snippet_text[:100] + "..." if len(snippet_text) > 100 else snippet_text + async with self.lock: + self.messages.append({"id": reply.id, "chat_id": get_peer_id(reply.peer_id), "snippet": snippet}) + self.db.set(self.strings["name"], "messages", self.messages) + await self._edit_or_reply_and_handle_deletion(message, self.strings["message_added"].format(utils.escape_html(snippet))) + + @loader.command() + async def remove_msg(self, message): + """➖ Удалить сообщение по номеру.""" + args = utils.get_args_raw(message) + if not args or not args.isdigit(): + await self._edit_or_reply_and_handle_deletion(message, self.strings["invalid_message_number"]); return + idx = int(args) - 1 + async with self.lock: + if 0 <= idx < len(self.messages): + removed = self.messages.pop(idx) + self.db.set(self.strings["name"], "messages", self.messages) + await self._edit_or_reply_and_handle_deletion(message, self.strings["message_removed"].format(idx + 1, utils.escape_html(removed["snippet"]))) + else: + await self._edit_or_reply_and_handle_deletion(message, self.strings["invalid_message_number"]) + + @loader.command() + async def clear_msgs(self, message): + """🗑️ Очистить список сообщений.""" + async with self.lock: + self.messages.clear() + self.db.set(self.strings["name"], "messages", []) + await self._edit_or_reply_and_handle_deletion(message, self.strings["messages_cleared"]) + + @loader.command() + async def list_msgs(self, message): + """📜 Показать список сообщений.""" + if not self.messages: + await self._edit_or_reply_and_handle_deletion(message, self.strings["no_messages"]); return + text = "Список сообщений для рассылки:\n\n" + for i, msg in enumerate(self.messages): + text += f"{i + 1}. {utils.escape_html(msg['snippet'])}\n" + await self._edit_or_reply_and_handle_deletion(message, text, delay=60) + + @loader.command() + async def set_seller(self, message): + """⚙️ Установить ID для уведомлений.""" + args = utils.get_args_raw(message).strip() + if not args: + await self._edit_or_reply_and_handle_deletion(message, "✍️ Укажите ID чата, username, ссылку или 'me'."); return + identifier = self.client.tg_id if args.lower() == 'me' else args + try: + entity = await self.client.get_entity(identifier) + seller_id = get_peer_id(entity) + async with self.lock: + self.seller_chat_id = seller_id + self.db.set(self.strings["name"], "seller_chat_id", seller_id) + await self._edit_or_reply_and_handle_deletion(message, self.strings["seller_set"] + f": {get_display_name(entity)} ({seller_id})") + except Exception as e: + await self._edit_or_reply_and_handle_deletion(message, self.strings["error_getting_entity"].format(e)) + + @loader.command() + async def mail_status(self, message): + """📊 Показать статус рассылки.""" + async with self.lock: + if not self.is_running: + await self._edit_or_reply_and_handle_deletion(message, self.strings["not_running"]); return + now = datetime.now() + elapsed = now - self.start_time + remaining = self.end_time - now + status = ( + f"📊 Статус рассылки: Активна ✅\n" + f"⏳ Прошло: {str(elapsed).split('.')[0]}\n" + f"⏱️ Осталось: {str(remaining).split('.')[0] if remaining.total_seconds() > 0 else '0:00:00'}\n" + f"✉️ Отправлено сообщений: {self.total_messages_sent}\n" + f"🔄 Цикл: {self._processed_chats_in_cycle} чатов обработано" + ) + await self._edit_or_reply_and_handle_deletion(message, status, delay=30) + + @loader.command() + async def start_mail(self, message): + """🚀 Запустить рассылку.""" + args = utils.get_args(message) + if len(args) != 2: + await self._edit_or_reply_and_handle_deletion(message, self.strings["duration_invalid"]); return + try: + duration = int(args[0]) + min_interval, max_interval = map(float, args[1].replace(",", ".").split("-")) + if not (duration > 0 and 0 <= min_interval <= max_interval): raise ValueError + cycle_interval = (min_interval, max_interval) + except Exception: + await self._edit_or_reply_and_handle_deletion(message, self.strings["duration_invalid"]); return + async with self.lock: + if self.is_running: + await self._edit_or_reply_and_handle_deletion(message, self.strings["already_running"]); return + if not self.chats: + await self._edit_or_reply_and_handle_deletion(message, self.strings["chats_empty"]); return + if not self.messages: + await self._edit_or_reply_and_handle_deletion(message, self.strings["messages_empty"]); return + self.is_running = True + self.total_messages_sent = 0 + self.start_time = datetime.now() + self.end_time = self.start_time + timedelta(seconds=duration) + self._current_cycle_start_time = None + self._processed_chats_in_cycle = 0 + self.mail_task = self.client.loop.create_task(self._mail_loop(duration, cycle_interval, message)) + await self._edit_or_reply_and_handle_deletion(message, f"✅ Рассылка запущена на {duration} секунд.") + + @loader.command() + async def stop_mail(self, message): + """⏹️ Остановить рассылку.""" + async with self.lock: + if not self.is_running: + await self._edit_or_reply_and_handle_deletion(message, self.strings["not_running"]); return + self.is_running = False + if self.mail_task: + self.mail_task.cancel() + await self._edit_or_reply_and_handle_deletion(message, self.strings["stopped_mailing"]) + def _validate_interval_tuple(self, value, default_tuple: Tuple[float, float]) -> Tuple[float, float]: + try: + v_min, v_max = map(float, str(value).replace("-",",").split(',')) + if 0 <= v_min <= v_max: return (v_min, v_max) + except Exception: + pass + return default_tuple + + async def _is_safe_chat(self, entity: tl_types.TypePeer) -> bool: + return isinstance(entity, (tl_types.Chat, tl_types.Channel)) and get_peer_id(entity) < -1000000000 + + async def _send_to_chat(self, target_chat_id: int, msg_info: dict, target_topic_id: Optional[int]) -> Tuple[bool, str]: + try: + original_msg = await self.client.get_messages(msg_info["chat_id"], ids=msg_info["id"]) + if not original_msg: + return False, "Original message not found" + for attempt in range(3): + try: + await self.client.send_message(entity=target_chat_id, message=original_msg, reply_to=target_topic_id) + async with self.lock: + self.total_messages_sent += 1 + return True, "OK" # :/ + except errors.FloodWaitError as e: + if attempt == 2: return False, f"FloodWait ({e.seconds}s)" + await asyncio.sleep(e.seconds + random.uniform(1, 3)) + except errors.SlowModeWaitError as e: + await asyncio.sleep(e.seconds + random.uniform(0.2, 0.5)) + except Exception as e: + if type(e).__name__ in self.PERMISSION_ERRORS: + return False, type(e).__name__ + if attempt == 2: return False, str(e) + await asyncio.sleep(random.uniform(2, 5)) + return False, "Max retries" + except Exception as e: + return False, f"Get message error: {e}" + + async def _mail_loop(self, duration_seconds: int, cycle_interval_seconds_range: Tuple[float, float], initial_command_message_event): + """Оригинальный, надежный цикл рассылки""" + end_time_loop = self.start_time + timedelta(seconds=duration_seconds) + final_status_for_user = self.strings["mailing_complete"] + try: + while self.is_running and datetime.now() < end_time_loop: + self._current_cycle_start_time = datetime.now() + self._processed_chats_in_cycle = 0 + async with self.lock: + current_chats = list(self.chats.keys()) + current_messages_list = list(self.messages) + is_safe_mode = self.config["safe_mode"] + randomize_messages_cfg = self.config["randomize_messages"] + max_c_per_cycle = self.config["max_chats_safe"] + chats_interval_key = "safe_chats_interval" if is_safe_mode else "chats_interval" + short_interval = self._validate_interval_tuple(self.config[chats_interval_key], (10, 20) if is_safe_mode else (2, 5)) + message_interval_key = "safe_message_interval" if is_safe_mode else "message_interval" + message_interval_val = self._validate_interval_tuple(self.config[message_interval_key], (5, 10) if is_safe_mode else (1, 3)) + if not current_chats or not current_messages_list: + final_status_for_user = "Рассылка остановлена: список чатов или сообщений пуст." + break + random.shuffle(current_chats) + chats_for_this_cycle = current_chats[:min(max_c_per_cycle if is_safe_mode else len(current_chats), len(current_chats))] + for i, (chat_id_target, topic_id_target) in enumerate(chats_for_this_cycle): + if not self.is_running or datetime.now() >= end_time_loop: break + messages_to_send_now = [random.choice(current_messages_list)] if randomize_messages_cfg else current_messages_list + for message_detail in messages_to_send_now: + if not self.is_running or datetime.now() >= end_time_loop: break + success_send, reason_send = await self._send_to_chat(chat_id_target, message_detail, topic_id_target) + if not success_send: + if reason_send in self.PERMISSION_ERRORS: + logger.warning(f"Permission issue in {chat_id_target}, skipping chat.") + else: + logger.warning(f"Failed to send to {chat_id_target}: {reason_send}") + break + if len(messages_to_send_now) > 1: + await asyncio.sleep(random.uniform(*message_interval_val)) + self._processed_chats_in_cycle += 1 + if i < len(chats_for_this_cycle) - 1: + await asyncio.sleep(random.uniform(*short_interval)) + if not self.is_running or datetime.now() >= end_time_loop: break + await asyncio.sleep(random.uniform(*cycle_interval_seconds_range)) + except asyncio.CancelledError: + final_status_for_user = self.strings["stopped_mailing"] + except Exception as e_loop: + logger.exception("Критическая ошибка в цикле рассылки:") + final_status_for_user = f"❌ Критическая ошибка: {type(e_loop).__name__}" + finally: + final_report = f"{final_status_for_user} (Отправлено: {self.total_messages_sent})" + await self.client.send_message(initial_command_message_event.chat_id, final_report) + if self.seller_chat_id: + await self.client.send_message(self.seller_chat_id, f"🔔 Уведомление: {final_report}") + async with self.lock: + self.is_running = False + self.mail_task = None + + @loader.command() + async def dump_chats(self, message): + """📤 Выгрузить список чатов рассылки в .txt файл (для бэкапа).""" + status_msg = await self._edit_or_reply_and_handle_deletion(message, "⏳ Экспорт списка рассылки...", delay=0) + async with self.lock: + if not self.chats: + await self._edit_or_reply_and_handle_deletion(status_msg, "⚠️ Список чатов для рассылки пуст.") + return + export_list = [] + for (cid, tid), name in self.chats.items(): + if tid is not None and cid < -1000000000: + chat_id_for_link = str(cid)[4:] + export_list.append(f"https://t.me/c/{chat_id_for_link}/{tid}") + else: + export_list.append(str(cid)) + file_content = "\n".join(export_list) + file = io.BytesIO(file_content.encode("utf-8")) + file.name = "mailing_list_backup.txt" + await self.client.send_file( + message.chat_id, + file, + caption=f"✅ Экспортировано {len(export_list)} чатов из списка рассылки.\n\nИспользуйте .load_chats в ответе на этот файл, чтобы импортировать их.") + await self._edit_or_reply_and_handle_deletion(status_msg, "✅ Экспорт завершен!") + + @loader.command() + async def load_chats(self, message): + """📤 Загрузить чаты в рассылку из .txt файла (ответом на файл).""" + reply = await message.get_reply_message() + if not reply or not reply.document: + await self._edit_or_reply_and_handle_deletion(message, "✍️ Ответьте на .txt файл с ID чатов.") + return + if reply.document.mime_type != 'text/plain': + await self._edit_or_reply_and_handle_deletion(message, "⚠️ Файл должен быть в формате .txt") + return + status_msg = await self._edit_or_reply_and_handle_deletion(message, "⏳ Начинаю загрузку чатов из файла...", delay=0) + content = await reply.download_media(bytes) + chat_identifiers = content.decode("utf-8").splitlines() + chat_identifiers = [line.strip() for line in chat_identifiers if line.strip()] + if not chat_identifiers: + await self._edit_or_reply_and_handle_deletion(status_msg, "⚠️ Файл пуст или не содержит идентификаторов чатов.") + return + added, exists, errors_list = [], [], [] + for i, identifier in enumerate(chat_identifiers): + if i > 0 and i % 20 == 0: + await self._edit_or_reply_and_handle_deletion(status_msg, f"⏳ Обработано {i}/{len(chat_identifiers)}...", delay=0) + res = await self._find_chat(ChatTarget(identifier)) + if res: + if res["key"] not in self.chats: + self.chats[res["key"]] = res["name"] + added.append(res["name"]) + else: + exists.append(res["name"]) + else: + errors_list.append(identifier) + if added: + self._save_db_chats() + summary = f"✅ Загрузка завершена!\n\n" + if added: summary += f"Добавлено новых чатов: {len(added)}\n" + if exists: summary += f"Уже были в списке: {len(exists)}\n" + if errors_list: summary += f"Не удалось найти: {len(errors_list)}\n" + await self._edit_or_reply_and_handle_deletion(status_msg, summary) diff --git a/SenkoGuardian/SenModules/NekoEditorMod.py b/SenkoGuardian/SenModules/NekoEditorMod.py new file mode 100644 index 0000000..fd3cc32 --- /dev/null +++ b/SenkoGuardian/SenModules/NekoEditorMod.py @@ -0,0 +1,81 @@ +# This file is part of SenkoGuardianModules +# Copyright (c) 2025 Senko +# This software is released under the MIT License. +# https://opensource.org/licenses/MIT + +# meta developer: @SenkoGuardianModules + +from hikkatl.types import Message +from .. import loader, utils +import random + +@loader.tds +class NekoEditorMod(loader.Module): + """Neko-редактор сообщений | Владелецы: @SstAngelStar × @ilovesenko """ + strings = { + "name": "NekoEditor", + } + + def __init__(self): + self.config = loader.ModuleConfig( + loader.ConfigValue( + "enabled", + False, + "Автоматическое редактирование", + validator=loader.validators.Boolean() + ) + ) + + async def nekoedcmd(self, message: Message): + """Управление Neko-режимом | .nekoed [on/off]""" + args = utils.get_args_raw(message) + me = await message.client.get_me() + is_premium = getattr(me, 'premium', False) + if not args: + status = "включён" if self.config["enabled"] else "выключен" + return await utils.answer(message, f"🐱 NekoEditor: {status}") + if args.lower() in ["on", "вкл", "1"]: + self.config["enabled"] = True + if is_premium: + await utils.answer(message, '☺️ Режим включён! Nya~') + else: + await utils.answer(message, "🐾 Режим включён! Nya~") + elif args.lower() in ["off", "выкл", "0"]: + self.config["enabled"] = False + if is_premium: + await utils.answer(message, '👌 Режим выключен... >_<') + else: + await utils.answer(message, "🌀 Режим выключен... >_<", parse_mode=None) + + self.db.set("NekoEditor", "enabled", self.config["enabled"]) + + async def watcher(self, message: Message): + if ( + not self.config["enabled"] + or not getattr(message, "out", False) + or getattr(message, "fwd_from", None) + or getattr(message, "forward", None) + or not message.text + or "nekoed" in message.raw_text.lower() + ): + return + neko_words = ["Nya~", "UwU", "OwO", ">_<", "^^", "(≧▽≦)"] + modified_text = message.text + neko_word = random.choice(neko_words) + if random.random() < 0.5: + modified_text = f"{neko_word} {modified_text}" + else: + modified_text = f"{modified_text} {neko_word}" + replacements = { + "р": "w", + "л": "w", + "но": "ня", + "на": "ня" + } + for old, new in replacements.items(): + modified_text = modified_text.replace(old, new) + try: + if message.text != modified_text: + await message.edit(modified_text) + except Exception: + pass diff --git a/SenkoGuardian/SenModules/README.md b/SenkoGuardian/SenModules/README.md new file mode 100644 index 0000000..c63430f --- /dev/null +++ b/SenkoGuardian/SenModules/README.md @@ -0,0 +1,7 @@ +- 👋 Hi, I’m @SenkoGuardian or Senko. I'm doing modules for Heroku UserBot +- 📫 How to reach me -> Telegram: @ilovesenko +- My Telegram chanel: @SenkoGuardianModules + diff --git a/ZetGoHack/nullmod/20250401_100043.jpg b/ZetGoHack/nullmod/20250401_100043.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8b41e87dcad6a6e043b43beee160dcd5879d4b95 GIT binary patch literal 591692 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

6?>>;GNXbEZuT&Q(w?x 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

qV%v5g%j7r4~`7@Cc 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

r> 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