-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkeyboards.py
80 lines (66 loc) · 2.96 KB
/
keyboards.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# keyboards.py
from aiogram import types
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
# Функция для создания кнопок выбора группы с кнопкой "Назад"
def get_group_buttons(groups, course_id):
buttons = []
for i in range(0, len(groups), 3):
buttons.append([types.InlineKeyboardButton(
text=f"C{group_id}", callback_data=f"select_group_{group_id}"
) for group_id in groups[i:i + 3]])
# Добавляем кнопку "Назад"
buttons.append([types.InlineKeyboardButton(text="Назад", callback_data=f"back_to_course")])
keyboard = types.InlineKeyboardMarkup(inline_keyboard=buttons)
return keyboard
# Функция для создания обычной клавиатуры с кнопками "Сегодня" и "Неделя"
def get_today_week_keyboard():
keyboard = types.ReplyKeyboardMarkup(
keyboard=[
[
types.KeyboardButton(text="На сегодня"),
types.KeyboardButton(text="На завтра")
],
[
types.KeyboardButton(text="На неделю")
]
],
resize_keyboard=True
)
return keyboard
# Клавиатура для подтверждения намерения смены группы
def get_confirm_change_keyboard():
keyboard = types.InlineKeyboardMarkup(
inline_keyboard=[
[types.InlineKeyboardButton(text="Да", callback_data="confirm_change")],
[types.InlineKeyboardButton(text="Нет", callback_data="cancel_change")]
]
)
return keyboard
# Функция для создания кнопок выбора курса
def get_course_setter():
buttons = [
[
types.InlineKeyboardButton(text="1 курс", callback_data="set_course_1"),
types.InlineKeyboardButton(text="2 курс", callback_data="set_course_2")
],
[
types.InlineKeyboardButton(text="3 курс", callback_data="set_course_3"),
types.InlineKeyboardButton(text="4 курс", callback_data="set_course_4")
]
]
keyboard = types.InlineKeyboardMarkup(inline_keyboard=buttons)
return keyboard
# Функция для создания inline-кнопки смены недели
def get_week_switch_keyboard(current_week_state):
if current_week_state == 'current':
button_text = "Переключить на следующую неделю"
callback_data = "switch_week_next"
else: # current_week_state == 'next'
button_text = "Переключить на текущую неделю"
callback_data = "switch_week_current"
keyboard = InlineKeyboardMarkup(
inline_keyboard=[
[InlineKeyboardButton(text=button_text, callback_data=callback_data)]
]
)
return keyboard