# На модуль распространяется лицензия "GNU General Public License v3.0"
# https://github.com/all-licenses/GNU-General-Public-License-v3.0
# meta developer: @PyModule
import json
import os
from telethon.tl.types import Message
from .. import loader
@loader.tds
class ChannelAdapterMod(loader.Module):
"""Модуль для добавления переходника в сообщения каналов"""
strings = {"name": "ChannelAdapter"}
def __init__(self):
self.adapters_file = "adapters.json"
self.adapters = self.load_adapters()
def load_adapters(self):
"""Загружает адаптеры из файла, если он существует."""
if os.path.exists(self.adapters_file):
with open(self.adapters_file, "r", encoding="utf-8") as f:
return json.load(f)
return {}
def save_adapters(self):
"""Сохраняет адаптеры в файл."""
with open(self.adapters_file, "w", encoding="utf-8") as f:
json.dump(self.adapters, f, ensure_ascii=False, indent=4)
async def client_ready(self, client, db):
self.client = client
self.db = db
if not self.adapters:
self.adapters = {}
@loader.command()
async def addadaptercmd(self, message: Message):
"""[CHANNEL ID] [Текст] - Добавить канал и переходник."""
args = message.raw_text.split()
if len(args) < 2:
await message.edit("{chat_id} - {adapter_text}")
async def deladaptercmd(self, message: Message):
"""[CHANNEL ID] - Удалить переходник для канала."""
args = message.raw_text.split()
if len(args) < 2:
await message.edit("{chat_id} удалён.")
async def listadapterscmd(self, message: Message):
"""- Показать список всех переходников."""
if not self.adapters:
await message.edit("
\n\n\n" for chat_id, adapter_text in self.adapters.items(): text += f"👁 Список сохранённых переходников
{chat_id}: {adapter_text}\n\n"
await message.edit(text)
async def clearadapterscmd(self, message: Message):
"""- Удалить все переходники."""
if not self.adapters:
await message.edit("