From 93067d9a91395c339ce55a111ce4b6e1020f0121 Mon Sep 17 00:00:00 2001 From: Igor Tolmachov Date: Sat, 9 Jul 2022 01:13:20 +0900 Subject: Теперь доступен не только в ананасах! MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + опрос на вступление человека --- handlers/pin.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 handlers/pin.py (limited to 'handlers/pin.py') diff --git a/handlers/pin.py b/handlers/pin.py new file mode 100644 index 0000000..dc08633 --- /dev/null +++ b/handlers/pin.py @@ -0,0 +1,48 @@ +from datetime import datetime, timedelta + +from aiogram import types as t + +from shared.instances import bot, dp +from utils import filters as f + + +@dp.message_handler(f.message.is_chat, commands=["pin"]) +async def закрепить_хуету(msg: t.Message): + await msg.delete() + if msg.reply_to_message: + r = await msg.reply_to_message.reply( + f'{msg.from_user.mention} хочет закрепить сообщение', + parse_mode=t.ParseMode.HTML, + ) + await r.reply_poll( + "Закрепить ?", + ["Да", "УДАЛИ НАХУЙ", "Нет"], + close_date=datetime.now() + timedelta(minutes=10), + reply_markup=t.InlineKeyboardMarkup().add( + t.InlineKeyboardButton("Проверить опрос", callback_data="check_pin_poll") + ), + ) + else: + await msg.answer("Ты умник, ответь на сообщение") + + +@dp.callback_query_handler(f.message.is_chat, lambda clb: clb.data == "check_pin_poll") +async def проверить_закреп(clb: t.CallbackQuery): + poll = clb.message.poll + msg = clb.message + + if poll.total_voter_count < 2: + await clb.answer(f"Нужно хотябы 2 голоса, сейчас {poll.total_voter_count}") + else: + if not poll.is_closed: + await bot.stop_poll(msg.chat.id, msg.message_id) + + yes = poll.options[0].voter_count + delete = poll.options[1].voter_count + win = max(yes, delete) + + if win == yes: + await msg.reply_to_message.pin() + elif win == delete: + await msg.reply_to_message.delete() + await msg.delete() -- cgit v1.2.3