From 5204d85f1a8ab7ac700dbc64229a5c800f80b80f Mon Sep 17 00:00:00 2001
From: clockblocker <asde3211q@gmail.com>
Date: Wed, 5 Jan 2022 00:15:15 +0300
Subject: [PATCH] Smile back cleans up

---
 clockblocker_bot/actions/basic.py    | 33 +++++++++++++++++++++++-----
 clockblocker_bot/utils/decorators.py | 19 ++++++++++++++--
 2 files changed, 44 insertions(+), 8 deletions(-)

diff --git a/clockblocker_bot/actions/basic.py b/clockblocker_bot/actions/basic.py
index fd95fb3..b0aa02f 100644
--- a/clockblocker_bot/actions/basic.py
+++ b/clockblocker_bot/actions/basic.py
@@ -1,9 +1,10 @@
 import asyncio
 import logging
 from pathlib import Path
-import random
+from telethon import events, types
 import re
 from datetime import datetime
+from typing import Union
 
 from clockblocker_bot.config import config
 from clockblocker_bot.utils.constants import CLOCKBLOCKER_ID, S3RIUS_ID
@@ -14,7 +15,9 @@ from clockblocker_bot.utils.decorators import (
     ignore_with_id,
     mark_unread,
 )
-from telethon import events
+
+chat_union = Union[types.User, types.Chat, types.Channel]
+
 
 logger = logging.getLogger(__name__)
 
@@ -24,7 +27,6 @@ logger = logging.getLogger(__name__)
 @clean_up_policy
 async def show_help(event: events.NewMessage.Event):
     help_text = Path(__file__).parent / "static_messages" / "help.txt"
-    print('h')
     with open(help_text) as f:
         contents = f.read()
     return await event.respond(contents)
@@ -54,9 +56,9 @@ async def blyad(event: events.NewMessage.Event):
     current_time = start_time
     s = event.message.message
     
-    while (current_time - start_time).seconds < 10:
+    while (current_time - start_time).seconds < 1:
         s = rotate_words(s, blyads)
-        print('message: ',  event.message.message, s)
+        # print('message: ',  event.message.message, s)
         await event.message.edit(s)
         await asyncio.sleep(1)
         current_time = datetime.now()
@@ -71,8 +73,8 @@ async def reboot_advice(event: events.NewMessage.Event):
 
 @config.telegram_client.on(events.NewMessage(pattern=r"[\)\s]+"))
 @ignore_with_id(S3RIUS_ID, CLOCKBLOCKER_ID)
-@clean_up_policy
 @mark_unread
+@clean_up_policy
 async def smile_back(event: events.NewMessage.Event):
     return await event.respond(event.message.message)
 
@@ -106,3 +108,22 @@ async def mention_all(event: events.NewMessage.Event):
                     f"[{participant.first_name}](tg://user?id={participant.id})"
                 )
         await event.respond(" ".join(participants))
+
+
+@config.telegram_client.on(events.NewMessage(pattern=r".*(З|зумер).*"))
+@mark_unread
+@clean_up_policy
+@beware_the_croud_policy(config.telegram_client)
+async def zoomer(event: events.NewMessage.Event):
+    return await event.respond("уууу тиктокер")
+
+
+@config.telegram_client.on(events.NewMessage(pattern=r"@chat_id"))
+@mark_unread
+async def get_chat_id(event: events.NewMessage.Event):
+    chat: chat_union = await event.get_chat()
+   
+    if isinstance(chat, types.Chat) or isinstance(chat, types.Channel):
+        print(chat.id)
+        return await event.respond(f'{chat.id}')
+        
\ No newline at end of file
diff --git a/clockblocker_bot/utils/decorators.py b/clockblocker_bot/utils/decorators.py
index 58f94da..8df2015 100644
--- a/clockblocker_bot/utils/decorators.py
+++ b/clockblocker_bot/utils/decorators.py
@@ -14,10 +14,10 @@ def ignore_with_id(*ids):
     def ignore_inner(f):
         @functools.wraps(f)
         async def wrapper(event: events.NewMessage.Event):
+
             try:
                 if not event.message.from_id.user_id in ids:
                     await f(event)
-
             except Exception as e:
                 logger.error(f"Exception found: {e}")
 
@@ -70,7 +70,8 @@ def clean_up_policy(f):
     async def wrapper(event: events.NewMessage.Event):
         try:
             reply_msg: types.Message = await f(event)
-            await asyncio.sleep(5)
+            print('\n', reply_msg, '\n')
+            await asyncio.sleep(1)
             await reply_msg.delete()
         except Exception as e:
             logger.error(f"Exception found: {e}")
@@ -84,6 +85,7 @@ def beware_the_croud_policy(telegram_client):
         @functools.wraps(f)
         async def wrapper(event: events.NewMessage.Event):
             try:
+                ok = True
                 chat: chat_union = await event.get_chat()
                 participants = []
                 async for participant in telegram_client.iter_participants(chat):
@@ -99,4 +101,17 @@ def beware_the_croud_policy(telegram_client):
         return wrapper
     return beware_the_croud_policy_inner
 
+def only_alkochat(f):
+    @functools.wraps(f)
+    async def wrapper(event: events.NewMessage.Event):
+        try:
+            alkochat_id = 1391173925
+            chat: chat_union = await event.get_chat()
+            if isinstance(chat, types.Chat) and chat.id == alkochat_id:
+                await f(event)
+
+        except Exception as e:
+            logger.error(f"Exception found: {e}")
+
+    return wrapper
     
-- 
GitLab