aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--handlers/generate.py79
-rw-r--r--handlers/on_message.py2
-rw-r--r--shared/commands.py4
-rw-r--r--test.py28
4 files changed, 106 insertions, 7 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)
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):
8 if text.startswith('/'): 8 if text.startswith('/'):
9 return False 9 return False
10 with open('samples.txt', 'a+') as file: 10 with open('samples.txt', 'a+') as file:
11 file.write(text.replace('§', '').lower() + '§') 11 file.write(text.replace('§', '') + '§')
12 return False 12 return False
13 13
14 14
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
2 2
3commands = { 3commands = {
4 group(): [ 4 group(): [
5 cmd('gen', 'жидко пукнуть') 5 cmd('gen', 'Высрвть текст'),
6 cmd('del', 'Смыть говно'),
7 cmd('pin', 'Повесить говно на стенку'),
6 ] 8 ]
7} 9}
diff --git a/test.py b/test.py
new file mode 100644
index 0000000..d7ec5be
--- /dev/null
+++ b/test.py
@@ -0,0 +1,28 @@
1n = int(input())
2lt = []
3
4for i in range(n - 1):
5 lt += [list(map(str, input().split()))]
6
7lts = [lt[0]]
8l = lt[0][0]
9r = lt[0][1]
10lt.pop(0)
11
12for i in range(n - 2):
13 for j in range(len(lt)):
14 if lt[j][0] == r:
15 lts += [lt[j]]
16 lt.pop(j)
17 r = lts[-1][-1]
18 break
19 elif lt[j][1] == l:
20 lts = [lt[j]] + lts
21 lt.pop(j)
22 l = lts[0][0]
23 break
24
25for i in range(n - 2, -1, -1):
26 print(lts[i][1])
27
28print(lts[0][0])