From fa47878227cca261b7f33c369bde7b71feb4fb63 Mon Sep 17 00:00:00 2001 From: Igor <50257429+igorechek06@users.noreply.github.com> Date: Thu, 7 Oct 2021 21:44:13 +0900 Subject: УРА НОВЫЙ РЕЛИЗ СПУСТЯ 1000 лет MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handlers/generate.py | 79 ++++++++++++++++++++++++++++++++++++++++++++++---- handlers/on_message.py | 2 +- shared/commands.py | 4 ++- test.py | 28 ++++++++++++++++++ 4 files changed, 106 insertions(+), 7 deletions(-) create mode 100644 test.py diff --git a/handlers/generate.py b/handlers/generate.py index d0985c0..240b105 100644 --- a/handlers/generate.py +++ b/handlers/generate.py @@ -1,15 +1,84 @@ +from datetime import datetime, timedelta + import mc -from shared.instances import dp +from shared.instances import dp, bot from aiogram import types as t from utils import filters as f - -@dp.message_handler(f.message.chance(10), f.message.is_chat, content_types=[t.ContentType.ANY]) -async def срать_сообщение_с_шансом(msg: t.Message): - await сгенерировать_хуету(msg) +poll_ids = {} @dp.message_handler(f.message.is_chat, commands=['gen']) async def сгенерировать_хуету(msg: t.Message): samples = mc.util.load_txt_samples('samples.txt', separator='§') await msg.answer(mc.StringGenerator(samples=samples).generate_string()) + + +@dp.message_handler(f.message.is_chat, commands=["del"]) +async def удалить_хуету(msg: t.Message): + await msg.delete() + + if msg.reply_to_message: + if msg.reply_to_message.from_user.id in [bot.id, msg.from_user.id]: + await msg.reply_to_message.delete() + else: + await msg.answer("Ты умник, можно только свои или мои удалять") + else: + await msg.answer("Ты умник, ответь на сообщение") + + +@dp.message_handler(f.message.is_chat, commands=["pin"]) +async def закрепить_хуету(msg: t.Message): + await msg.delete() + + btns = t.InlineKeyboardMarkup().add( + t.InlineKeyboardButton("Проверить сейчас", callback_data="chek") + ) + + if msg.reply_to_message: + if msg.reply_to_message.from_user.id == bot.id: + poll = await msg.reply_to_message.reply_poll( + "Закрепить ?", + [ + "Да", + "УДАЛИ НАХУЙ", + "Нет" + ], + close_date=datetime.now() + timedelta(minutes=10), + reply_markup=btns + ) + + poll_ids[poll.poll.id] = msg.reply_to_message + + else: + await msg.answer("Ты умник, можно только мои закреплять") + else: + await msg.answer("Ты умник, ответь на сообщение") + + +@dp.message_handler(f.message.chance(10), f.message.is_chat, content_types=[t.ContentType.ANY]) +async def срать_сообщение_с_шансом(msg: t.Message): + await сгенерировать_хуету(msg) + + +@dp.poll_handler() +async def время_вышло(poll: t.Poll): + if poll.is_closed and poll.total_voter_count > 0: + yes = poll.options[0].voter_count + delete = poll.options[1].voter_count + win = max(yes, delete) + + try: + msg: t.Message = poll_ids[poll.id] + except KeyError: + return + + if win == yes: + await msg.pin() + elif win == delete: + await msg.delete() + + +@dp.callback_query_handler(f.message.is_chat, lambda clb: clb.data == "chek") +async def проверить_опрос(clb: t.CallbackQuery): + await bot.stop_poll(clb.message.chat.id, clb.message.message_id) diff --git a/handlers/on_message.py b/handlers/on_message.py index ee514ee..5a216e2 100644 --- a/handlers/on_message.py +++ b/handlers/on_message.py @@ -8,7 +8,7 @@ async def сосалка(msg: t.Message): if text.startswith('/'): return False with open('samples.txt', 'a+') as file: - file.write(text.replace('§', '').lower() + '§') + file.write(text.replace('§', '') + '§') return False diff --git a/shared/commands.py b/shared/commands.py index ffed9c3..fb3279d 100644 --- a/shared/commands.py +++ b/shared/commands.py @@ -2,6 +2,8 @@ from aiogram.types import BotCommand as cmd, BotCommandScopeAllGroupChats as gro commands = { group(): [ - cmd('gen', 'жидко пукнуть') + cmd('gen', 'Высрвть текст'), + cmd('del', 'Смыть говно'), + cmd('pin', 'Повесить говно на стенку'), ] } diff --git a/test.py b/test.py new file mode 100644 index 0000000..d7ec5be --- /dev/null +++ b/test.py @@ -0,0 +1,28 @@ +n = int(input()) +lt = [] + +for i in range(n - 1): + lt += [list(map(str, input().split()))] + +lts = [lt[0]] +l = lt[0][0] +r = lt[0][1] +lt.pop(0) + +for i in range(n - 2): + for j in range(len(lt)): + if lt[j][0] == r: + lts += [lt[j]] + lt.pop(j) + r = lts[-1][-1] + break + elif lt[j][1] == l: + lts = [lt[j]] + lts + lt.pop(j) + l = lts[0][0] + break + +for i in range(n - 2, -1, -1): + print(lts[i][1]) + +print(lts[0][0]) -- cgit v1.2.3