74 lines
2.1 KiB
Python
74 lines
2.1 KiB
Python
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, ReplyKeyboardMarkup
|
||
|
||
|
||
def main_keyboard() -> ReplyKeyboardMarkup:
|
||
return ReplyKeyboardMarkup(
|
||
[
|
||
["➕ 新建提醒", "📋 我的提醒"],
|
||
["❓ 帮助"],
|
||
],
|
||
resize_keyboard=True,
|
||
)
|
||
|
||
|
||
def reminder_type_keyboard() -> ReplyKeyboardMarkup:
|
||
return ReplyKeyboardMarkup(
|
||
[
|
||
["一次性", "每日"],
|
||
["每周", "间隔"],
|
||
["取消"],
|
||
],
|
||
resize_keyboard=True,
|
||
one_time_keyboard=True,
|
||
)
|
||
|
||
|
||
def yes_no_keyboard() -> ReplyKeyboardMarkup:
|
||
return ReplyKeyboardMarkup(
|
||
[["是", "否"], ["取消"]],
|
||
resize_keyboard=True,
|
||
one_time_keyboard=True,
|
||
)
|
||
|
||
|
||
def confirm_keyboard() -> ReplyKeyboardMarkup:
|
||
return ReplyKeyboardMarkup(
|
||
[["✅ 确认创建", "❌ 取消"]],
|
||
resize_keyboard=True,
|
||
one_time_keyboard=True,
|
||
)
|
||
|
||
|
||
def reminder_action_keyboard(reminder_id: int) -> InlineKeyboardMarkup:
|
||
return InlineKeyboardMarkup(
|
||
[
|
||
[
|
||
InlineKeyboardButton("✅ 完成", callback_data=f"done_{reminder_id}"),
|
||
InlineKeyboardButton(
|
||
"⏰ 延期10分钟", callback_data=f"snooze_{reminder_id}"
|
||
),
|
||
],
|
||
[
|
||
InlineKeyboardButton("⏸ 暂停", callback_data=f"pause_{reminder_id}"),
|
||
InlineKeyboardButton("🗑 删除", callback_data=f"delete_{reminder_id}"),
|
||
],
|
||
]
|
||
)
|
||
|
||
|
||
def list_item_keyboard(reminder_id: int, is_active: bool) -> InlineKeyboardMarkup:
|
||
toggle_label = "⏸ 暂停" if is_active else "▶️ 启用"
|
||
toggle_action = "pause" if is_active else "resume"
|
||
return InlineKeyboardMarkup(
|
||
[
|
||
[
|
||
InlineKeyboardButton(
|
||
toggle_label, callback_data=f"{toggle_action}_{reminder_id}"
|
||
),
|
||
InlineKeyboardButton(
|
||
"🗑 删除", callback_data=f"delete_{reminder_id}"
|
||
),
|
||
]
|
||
]
|
||
)
|