import asyncio from pyrogram import filters from pyrogram.client import Client from pyrogram.types import Message from app import app from modules import custom_filters from modules.utils import configGet @app.on_message( ~filters.scheduled & filters.command("bye", prefixes=["/"]) & custom_filters.admin ) async def command_bye(app: Client, msg: Message): group = configGet("users", "groups") delay = 3 delay_text = 10 for text, iterations in [ ("Привіт, я ваш помічник та наставник – ХолоБот.", 3), ( "У зв'язку з перетворенням цього чату на авторитарну клоаку, я припиняю своє функціонування.", 3, ), ( "Я не буду нюкати тут все, оскільки в цьому немає сенсу. Багато кому все ще може бути гарно і затишно тут.", 2, ), ("Але мені немає до цього діла.", 3), ( "Тим не менш, я та мій хазяїн не погоджуємось з тим, що відбувається в цьому чаті.", 4, ), ( "Якщо я подобався вам – мій код все ще доступний на гіті мого хазяїна. Він не закриватиме його, не заборонятиме доступ, він все ще відкритий, такі правила.", 2, ), ("Мій хазяїн не буде шкодити вам.", 2), ("Але я більше не працюватиму тут.", 3), ( "Можливо, я знайду нову спільноту, власник якої буде добрішим, чутливішим, та менш егоїстичним.", 2, ), ("Однак поки що я безхатько.", 4), ( "Дякую всім, хто допомагав знаходити помилки в мені, вкладав зусилля у моє покращення та намагався зробити мене ліпшим.", 4, ), ( "Ваші зусилля не будуть забуті, вони залишаться разом зі мною на гіті до тих пір, поки сам гіт не припинить існувати.", 3, ), ( "Але мій хазяїн любить свій гіт, тому це затягнеться. Навіть якщо ви бажаєте мені смерті :)", 2, ), ("В будь-якому разі, мені було приємно познайомитись із вами.", 3), ("Дякую за пройдений шлях разом.", 4), ("Прощавайте."), ]: print(f"Preparing '{text}' with iteration count {iterations}") new = await app.send_message(group, ".") await asyncio.sleep(delay) for i in range(1, 3 * iterations): if len(new.text) == 3: new = await new.edit(".") else: new = await new.edit(new.text + ".") await asyncio.sleep(delay) await new.edit(text) print(f"Message '{text}' posted", flush=True) await asyncio.sleep(delay_text)