diff --git a/src/actions/fun.py b/src/actions/fun.py index e2da0cd52e27d18c3e0833db7b46ae4c64468210..cb066365d6d8b54815050e39c6962b635e08820d 100644 --- a/src/actions/fun.py +++ b/src/actions/fun.py @@ -1,9 +1,12 @@ +import asyncio import logging import random import re +from datetime import datetime from src.config import config from src.utils.responses import mark_unread +from src.utils.str_helpers import Rotor from telethon import events logger = logging.getLogger(__name__) @@ -107,3 +110,20 @@ async def lenochka_reply(event: events.NewMessage.Event): ] ) ) + + +@config.telegram_client.on(events.NewMessage(pattern="^.rl .*", forwards=False)) +@mark_unread +async def run_rotations(event: events.NewMessage.Event): + text = event.message.message.lstrip(".rl").strip() + if text == "": + return + text_rotor = Rotor(text, 0) + start_rotation = datetime.now() + current_time = start_rotation + message = await event.respond(text) + while (current_time - start_rotation).seconds < 10: + await message.edit(text_rotor.next_rotation) + current_time = datetime.now() + await asyncio.sleep(0.2) + await message.delete() diff --git a/src/utils/str_helpers.py b/src/utils/str_helpers.py index 0d0c0dcabcc10a738f2efb181405d42697815aa9..2da51066500d0312485a8e7f66ff9b84e1dcf7c9 100644 --- a/src/utils/str_helpers.py +++ b/src/utils/str_helpers.py @@ -7,14 +7,9 @@ class Rotor: ... """ - original: str - start: int - stop: int - - def __init__(self, original, start, stop): + def __init__(self, original, start): self.original = original self.start = start - self.stop = stop self.rotation = original + " " @property diff --git a/static_messages/help.txt b/static_messages/help.txt index 8a1852004d8ff9d5d93a61fdb33cebe6222c7ab4..1f6d00859042aef60ef0ba1ddd05fe210b8552b9 100644 --- a/static_messages/help.txt +++ b/static_messages/help.txt @@ -14,6 +14,8 @@ Также умею ещё пару забавных штук. `.sc` поÑмотреть поддерживаемые курÑÑ‹ валют Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкой конвертации. +`.scc` ПоÑмотреть курÑÑ‹ криптовалют. +`.rl` Создать бегущую Ñтроку из ÑообщениÑ. `.i <запроÑ>` вернет пачку картинок Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚Ð¸ÐºÐ¾Ð². * `.bl` <любой текÑÑ‚> - заменит вÑе запÑтые на вÑÑкие гадоÑти. * `.t` - показать текущее времÑ