from .. import loader, utils
from telethon.tl.functions.contacts import BlockRequest
from telethon.tl.functions.messages import ReportSpamRequest
def register(cb):
cb(AutoBlackListMod())
class AutoBlackListMod(loader.Module):
"""Кидает всех неконтактов в ЧС."""
strings = {'name': 'AutoBlackList'}
async def client_ready(self, client, db):
self.db = db
async def autoblcmd(self, message):
"""Включить/выключить режим AutoBlackList"""
args = utils.get_args_raw(message)
autobl = self.db.get("AutoBlackList", "status", False)
if args:
self.db.set("AutoBlackList", "status", True)
self.db.set("AutoBlackList", "message", str(args))
return await message.edit("[AutoBlackList Mode] Активирован!")
if autobl == False:
self.db.set("AutoBlackList", "status", True)
self.db.set("AutoBlackList", "message", "Привет, я не принимаю личные сообщение. К сожалению, ты летишь в ЧС + RP.")
return await message.edit("[AutoBlackList Mode] Активирован!")
self.db.set("AutoBlackList", "status", False)
return await message.edit("[AutoBlackList Mode] Деактивирован!")
async def autoblstatuscmd(self, message):
"""Проверить статус AutoBlackList"""
await message.edit(f"[AutoBlackList Mode - Status]\n\n"
f"Кидать в ЧС - {self.db.get('AutoBlackList', 'status')}\n"
f"Удалять чаты - {self.db.get('AutoBlackList', 'delchat')}")
async def autodelchatcmd(self, message):
"""Автоматически удаляет диалог после того, как кинет в ЧС"""
autodel = self.db.get("AutoBlackList", "delchat", False)
if autodel == False:
self.db.set("AutoBlackList", "delchat", True)
return await message.edit("[AutoBlackList Mode - DelChat] Активирован!")
self.db.set("AutoBlackList", "delchat", False)
return await message.edit("[AutoBlackList Mode - DelChat] Деактивирован!")
async def watcher(self, message):
"""Вау, это watcher, я что-то смог из него сделать. Поздравьте меня)"""
try:
if message.sender_id == (await message.client.get_me()).id: return
if self.db.get("AutoBlackList", "status", True):
if message.is_private and message.sender_id != 777000:
user = await message.client.get_entity(message.chat_id)
if user.contact == False and user.bot == False:
await message.client.send_message(message.chat_id, (self.db.get("AutoBlackList", "message")))
await message.client(BlockRequest(message.chat_id))
await message.client(ReportSpamRequest(message.chat_id))
if self.db.get("AutoBlackList", "delchat") == True:
await message.client.delete_dialog(message.chat_id)
except (AttributeError, TypeError): pass