aboutsummaryrefslogtreecommitdiff
path: root/handlers/generate.py
diff options
context:
space:
mode:
authorIgor <50257429+igorechek06@users.noreply.github.com>2021-10-07 21:44:13 +0900
committerIgor <50257429+igorechek06@users.noreply.github.com>2021-10-07 21:44:13 +0900
commitfa47878227cca261b7f33c369bde7b71feb4fb63 (patch)
tree3835f914ca1bbbcb7e1f32d8937cac2fb681ceb5 /handlers/generate.py
parent82e4b1ee7c69ca73378922d5fdf3a30b38dd23fa (diff)
downloadkarpov_ai_bot-fa47878227cca261b7f33c369bde7b71feb4fb63.tar.gz
karpov_ai_bot-fa47878227cca261b7f33c369bde7b71feb4fb63.zip
УРА НОВЫЙ РЕЛИЗ СПУСТЯ 1000 лет
Diffstat (limited to 'handlers/generate.py')
-rw-r--r--handlers/generate.py79
1 files changed, 74 insertions, 5 deletions
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 @@
1from datetime import datetime, timedelta
2
1import mc 3import mc
2from shared.instances import dp 4from shared.instances import dp, bot
3from aiogram import types as t 5from aiogram import types as t
4from utils import filters as f 6from utils import filters as f
5 7
6 8poll_ids = {}
7@dp.message_handler(f.message.chance(10), f.message.is_chat, content_types=[t.ContentType.ANY])
8async def срать_сообщение_с_шансом(msg: t.Message):
9 await сгенерировать_хуету(msg)
10 9
11 10
12@dp.message_handler(f.message.is_chat, commands=['gen']) 11@dp.message_handler(f.message.is_chat, commands=['gen'])
13async def сгенерировать_хуету(msg: t.Message): 12async def сгенерировать_хуету(msg: t.Message):
14 samples = mc.util.load_txt_samples('samples.txt', separator='§') 13 samples = mc.util.load_txt_samples('samples.txt', separator='§')
15 await msg.answer(mc.StringGenerator(samples=samples).generate_string()) 14 await msg.answer(mc.StringGenerator(samples=samples).generate_string())
15
16
17@dp.message_handler(f.message.is_chat, commands=["del"])
18async def удалить_хуету(msg: t.Message):
19 await msg.delete()
20
21 if msg.reply_to_message:
22 if msg.reply_to_message.from_user.id in [bot.id, msg.from_user.id]:
23 await msg.reply_to_message.delete()
24 else:
25 await msg.answer("Ты умник, можно только свои или мои удалять")
26 else:
27 await msg.answer("Ты умник, ответь на сообщение")
28
29
30@dp.message_handler(f.message.is_chat, commands=["pin"])
31async def закрепить_хуету(msg: t.Message):
32 await msg.delete()
33
34 btns = t.InlineKeyboardMarkup().add(
35 t.InlineKeyboardButton("Проверить сейчас", callback_data="chek")
36 )
37
38 if msg.reply_to_message:
39 if msg.reply_to_message.from_user.id == bot.id:
40 poll = await msg.reply_to_message.reply_poll(
41 "Закрепить ?",
42 [
43 "Да",
44 "УДАЛИ НАХУЙ",
45 "Нет"
46 ],
47 close_date=datetime.now() + timedelta(minutes=10),
48 reply_markup=btns
49 )
50
51 poll_ids[poll.poll.id] = msg.reply_to_message
52
53 else:
54 await msg.answer("Ты умник, можно только мои закреплять")
55 else:
56 await msg.answer("Ты умник, ответь на сообщение")
57
58
59@dp.message_handler(f.message.chance(10), f.message.is_chat, content_types=[t.ContentType.ANY])
60async def срать_сообщение_с_шансом(msg: t.Message):
61 await сгенерировать_хуету(msg)
62
63
64@dp.poll_handler()
65async def время_вышло(poll: t.Poll):
66 if poll.is_closed and poll.total_voter_count > 0:
67 yes = poll.options[0].voter_count
68 delete = poll.options[1].voter_count
69 win = max(yes, delete)
70
71 try:
72 msg: t.Message = poll_ids[poll.id]
73 except KeyError:
74 return
75
76 if win == yes:
77 await msg.pin()
78 elif win == delete:
79 await msg.delete()
80
81
82@dp.callback_query_handler(f.message.is_chat, lambda clb: clb.data == "chek")
83async def проверить_опрос(clb: t.CallbackQuery):
84 await bot.stop_poll(clb.message.chat.id, clb.message.message_id)