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