Spaces:
Sleeping
Sleeping
# Ultroid - UserBot | |
# Copyright (C) 2021-2023 TeamUltroid | |
# | |
# This file is a part of < https://github.com/TeamUltroid/Ultroid/ > | |
# PLease read the GNU Affero General Public License in | |
# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>. | |
from . import get_help | |
__doc__ = get_help("help_autoban") | |
from telethon import events | |
from pyUltroid.dB.base import KeyManager | |
from . import LOGS, asst, ultroid_bot, ultroid_cmd | |
Keym = KeyManager("DND_CHATS", cast=list) | |
def join_func(e): | |
return e.user_joined and Keym.contains(e.chat_id) | |
async def dnd_func(event): | |
for user in event.users: | |
try: | |
await (await event.client.kick_participant(event.chat_id, user)).delete() | |
except Exception as ex: | |
LOGS.error("Error in DND:") | |
LOGS.exception(ex) | |
await event.delete() | |
async def _(event): | |
match = event.pattern_match.group(1) | |
if match == "on": | |
if Keym.contains(event.chat_id): | |
return await event.eor("`Chat already in do not disturb mode.`", time=3) | |
Keym.add(event.chat_id) | |
event.client.add_handler(dnd_func, events.ChatAction(func=join_func)) | |
await event.eor("`Do not disturb mode activated for this chat.`", time=3) | |
elif match == "off": | |
if not Keym.contains(event.chat_id): | |
return await event.eor("`Chat is not in do not disturb mode.`", time=3) | |
Keym.remove(event.chat_id) | |
await event.eor("`Do not disturb mode deactivated for this chat.`", time=3) | |
if Keym.get(): | |
ultroid_bot.add_handler(dnd_func, events.ChatAction(func=join_func)) | |
asst.add_handler(dnd_func, events.ChatAction(func=join_func)) | |