aboutsummaryrefslogtreecommitdiff
path: root/handlers/poll.py
diff options
context:
space:
mode:
Diffstat (limited to 'handlers/poll.py')
-rw-r--r--handlers/poll.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/handlers/poll.py b/handlers/poll.py
new file mode 100644
index 0000000..f6fb962
--- /dev/null
+++ b/handlers/poll.py
@@ -0,0 +1,51 @@
1from datetime import datetime, timedelta
2
3from shared.instances import dp, bot
4from utils import filters as f
5from aiogram import types as t
6
7pin_reply_markup = t.InlineKeyboardMarkup().add(
8 t.InlineKeyboardButton("Проверить сейчас", callback_data="chek")
9)
10
11
12@dp.message_handler(f.message.is_chat, commands=["pin"])
13async def закрепить_хуету(msg: t.Message):
14 await msg.delete()
15 if msg.reply_to_message:
16 await msg.reply_to_message.reply_poll(
17 "Закрепить ?",
18 [
19 "Да",
20 "УДАЛИ НАХУЙ",
21 "Нет"
22 ],
23 close_date=datetime.now() + timedelta(minutes=10),
24 reply_markup=pin_reply_markup
25 )
26 else:
27 await msg.answer("Ты умник, ответь на сообщение")
28
29
30@dp.callback_query_handler(f.message.is_chat, lambda clb: clb.data == "chek")
31async def проверить_опрос(clb: t.CallbackQuery):
32 poll = clb.message.poll
33 msg = clb.message
34
35 if poll.total_voter_count <= 0:
36 await clb.answer("Видишь голоса? Вот и я невижу")
37 else:
38 if not poll.is_closed:
39 await bot.stop_poll(msg.chat.id, msg.message_id)
40 poll.is_closed = True
41 yes = poll.options[0].voter_count
42 delete = poll.options[1].voter_count
43 win = max(yes, delete)
44
45 if win == yes:
46 await msg.reply_to_message.pin()
47 elif win == delete:
48 await msg.reply_to_message.delete()
49
50 if poll.is_closed:
51 await msg.delete()